e mixer - fix segv on desklock if default sink not set yet
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 9 Jun 2015 07:18:24 +0000 (16:18 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 9 Jun 2015 07:18:24 +0000 (16:18 +0900)
src/modules/mixer/e_mod_main.c

index 5361ec7..b89cd58 100644 (file)
@@ -703,14 +703,20 @@ _desklock_cb(void *data EINA_UNUSED, int type EINA_UNUSED, void *info)
 
    if (ev->on)
      {
-        _was_mute = mixer_context->sink_default->mute;
-        if (!_was_mute)
-          emix_sink_mute_set((Emix_Sink *)mixer_context->sink_default, EINA_TRUE);
+        if (mixer_context->sink_default)
+          {
+             _was_mute = mixer_context->sink_default->mute;
+             if (!_was_mute)
+               emix_sink_mute_set((Emix_Sink *)mixer_context->sink_default, EINA_TRUE);
+          }
      }
    else
      {
-        if (!_was_mute)
-          emix_sink_mute_set((Emix_Sink *)mixer_context->sink_default, EINA_FALSE);
+        if (mixer_context->sink_default)
+          {
+             if (!_was_mute)
+               emix_sink_mute_set((Emix_Sink *)mixer_context->sink_default, EINA_FALSE);
+          }
      }
 
    return ECORE_CALLBACK_PASS_ON;