add client refs for volume control sinks

ref T6150
This commit is contained in:
Mike Blumenkrantz 2017-10-25 10:16:50 -04:00
parent 40be5b9d45
commit c09b2f35dd
1 changed files with 3 additions and 0 deletions

View File

@ -182,6 +182,7 @@ e_client_volume_sink_del(E_Client_Volume_Sink *sink)
e_comp_object_frame_volume_update(ec->frame); e_comp_object_frame_volume_update(ec->frame);
_e_client_volume_sink_event_simple(ec, sink, _e_client_volume_sink_event_simple(ec, sink,
E_EVENT_CLIENT_VOLUME_SINK_DEL); E_EVENT_CLIENT_VOLUME_SINK_DEL);
e_object_unref(E_OBJECT(ec));
} }
free(sink); free(sink);
} }
@ -301,6 +302,7 @@ e_client_volume_sink_append(E_Client *ec, E_Client_Volume_Sink *sink)
ec->sinks = eina_list_append(ec->sinks, sink); ec->sinks = eina_list_append(ec->sinks, sink);
sink->clients = eina_list_append(sink->clients, ec); sink->clients = eina_list_append(sink->clients, ec);
e_object_ref(E_OBJECT(ec));
if (!ec->volume_control_enabled) if (!ec->volume_control_enabled)
{ {
ec->volume_min = e_client_volume_sink_min_get(sink); ec->volume_min = e_client_volume_sink_min_get(sink);
@ -324,6 +326,7 @@ e_client_volume_sink_remove(E_Client *ec, E_Client_Volume_Sink *sink)
_e_client_volume_update(ec); _e_client_volume_update(ec);
_e_client_volume_sink_event_simple(ec, sink, _e_client_volume_sink_event_simple(ec, sink,
E_EVENT_CLIENT_VOLUME_SINK_DEL); E_EVENT_CLIENT_VOLUME_SINK_DEL);
e_object_unref(E_OBJECT(ec));
} }
E_API void E_API void