e mixer - fix segv on desklock if default sink not set yet

This commit is contained in:
Carsten Haitzler 2015-06-09 16:18:24 +09:00
parent 5d7fa51309
commit dd6e4f33f8
1 changed files with 11 additions and 5 deletions

View 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;