forked from enlightenment/enlightenment
fix mixer stringshare usage (fixes looooooooots of crashes), also shutdown pulse integration when unloading the module
SVN revision: 76649
This commit is contained in:
parent
6a53321e5c
commit
1a7737d5a1
|
@ -1545,6 +1545,7 @@ e_modapi_shutdown(E_Module *m)
|
||||||
#ifdef HAVE_ENOTIFY
|
#ifdef HAVE_ENOTIFY
|
||||||
e_notification_shutdown();
|
e_notification_shutdown();
|
||||||
#endif
|
#endif
|
||||||
|
e_mixer_pulse_shutdown();
|
||||||
|
|
||||||
E_FREE(ctxt);
|
E_FREE(ctxt);
|
||||||
mixer_mod = NULL;
|
mixer_mod = NULL;
|
||||||
|
|
|
@ -127,6 +127,8 @@ _pulse_sinks_get(Pulse *p __UNUSED__, Pulse_Tag_Id id __UNUSED__, Eina_List *ev)
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
Pulse_Sink *sink;
|
Pulse_Sink *sink;
|
||||||
|
|
||||||
|
E_FREE_LIST(sinks, pulse_sink_free);
|
||||||
|
|
||||||
EINA_LIST_FOREACH(ev, l, sink)
|
EINA_LIST_FOREACH(ev, l, sink)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -370,16 +372,16 @@ e_mixer_pulse_get_cards(void)
|
||||||
Pulse_Sink *sink;
|
Pulse_Sink *sink;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(sinks, l, sink)
|
EINA_LIST_FOREACH(sinks, l, sink)
|
||||||
ret = eina_list_append(ret, pulse_sink_name_get(sink));
|
ret = eina_list_append(ret, eina_stringshare_ref(pulse_sink_name_get(sink)));
|
||||||
EINA_LIST_FOREACH(sources, l, sink)
|
EINA_LIST_FOREACH(sources, l, sink)
|
||||||
ret = eina_list_append(ret, pulse_sink_name_get(sink));
|
ret = eina_list_append(ret, eina_stringshare_ref(pulse_sink_name_get(sink)));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
e_mixer_pulse_free_cards(Eina_List *cards)
|
e_mixer_pulse_free_cards(Eina_List *cards)
|
||||||
{
|
{
|
||||||
eina_list_free(cards);
|
E_FREE_LIST(cards, eina_stringshare_del);
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
|
@ -393,10 +395,13 @@ e_mixer_pulse_get_default_card(void)
|
||||||
const char *
|
const char *
|
||||||
e_mixer_pulse_get_card_name(const char *card)
|
e_mixer_pulse_get_card_name(const char *card)
|
||||||
{
|
{
|
||||||
Pulse_Sink *sink = _pulse_sink_find(card);
|
Pulse_Sink *sink;
|
||||||
const char *s = pulse_sink_desc_get(sink);
|
const char *s;
|
||||||
|
|
||||||
|
sink = _pulse_sink_find(card);
|
||||||
|
s = pulse_sink_desc_get(sink);
|
||||||
if ((!s) || (!s[0])) s = pulse_sink_name_get(sink);
|
if ((!s) || (!s[0])) s = pulse_sink_name_get(sink);
|
||||||
return eina_stringshare_add(s);
|
return eina_stringshare_ref(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_List *
|
Eina_List *
|
||||||
|
|
Loading…
Reference in New Issue