[AudioSystem][IVI] Fix crash while destroying audiosystem extension object.
authorAmarnath Valluri <amarnath.valluri@linux.intel.com>
Mon, 23 Jun 2014 02:03:29 +0000 (05:03 +0300)
committerAmarnath Valluri <amarnath.valluri@linux.intel.com>
Mon, 23 Jun 2014 12:04:15 +0000 (15:04 +0300)
Missing NULL check added to pulseaudio context object in AudioSystemInstance
destructor. This allows clean shutdown of audiosystem extension process.

BUG=XWALK-1964

audiosystem/audiosystem_context.cc

index cd88f27..12b6d4e 100644 (file)
@@ -123,12 +123,7 @@ AudioSystemContext::AudioSystemContext()
 
 AudioSystemContext::~AudioSystemContext() {
   DBG("destroy");
-
-  pa_context_set_state_callback(context_, 0, 0);
-  pa_context_set_event_callback(context_, 0, 0);
-
   Disconnect();
-
   pa_mainloop_free(mainloop_);
 }
 
@@ -153,6 +148,7 @@ bool AudioSystemContext::Connect() {
 bool AudioSystemContext::Disconnect() {
   if (context_) {
     pa_context_disconnect(context_);
+    pa_context_set_state_callback(context_, 0, 0);
     pa_context_unref(context_);
     context_ = 0;
   }