edbus: Only create one ref of proxys when listen object manager
Patch by: José Roberto de Souza <zehortigoza@profusion.mobi> SVN revision: 81414
This commit is contained in:
parent
3f5fa6170c
commit
ab93f397a7
|
@ -285,15 +285,14 @@ _cb_interfaces_added(void *data, const EDBus_Message *msg)
|
||||||
{
|
{
|
||||||
const char *iface_name;
|
const char *iface_name;
|
||||||
EDBus_Object_Event_Interface_Added event;
|
EDBus_Object_Event_Interface_Added event;
|
||||||
EDBus_Proxy *proxy;
|
|
||||||
|
|
||||||
edbus_message_iter_basic_get(entry_iface, &iface_name);
|
edbus_message_iter_basic_get(entry_iface, &iface_name);
|
||||||
proxy = edbus_proxy_get(obj, iface_name);
|
event.proxy = edbus_proxy_get(obj, iface_name);
|
||||||
EINA_SAFETY_ON_NULL_RETURN(proxy);
|
EINA_SAFETY_ON_NULL_RETURN(event.proxy);
|
||||||
event.interface = iface_name;
|
event.interface = iface_name;
|
||||||
event.proxy = proxy;
|
|
||||||
_edbus_object_event_callback_call(obj, EDBUS_OBJECT_EVENT_IFACE_ADDED,
|
_edbus_object_event_callback_call(obj, EDBUS_OBJECT_EVENT_IFACE_ADDED,
|
||||||
&event);
|
&event);
|
||||||
|
edbus_proxy_unref(event.proxy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -361,7 +360,7 @@ _cb_properties_changed(void *data, const EDBus_Message *msg)
|
||||||
proxy);
|
proxy);
|
||||||
|
|
||||||
if (!obj->event_handlers[EDBUS_OBJECT_EVENT_PROPERTY_REMOVED].list)
|
if (!obj->event_handlers[EDBUS_OBJECT_EVENT_PROPERTY_REMOVED].list)
|
||||||
return;
|
goto end;
|
||||||
|
|
||||||
while (edbus_message_iter_get_and_next(invalidate, 's', &invalidate_prop))
|
while (edbus_message_iter_get_and_next(invalidate, 's', &invalidate_prop))
|
||||||
{
|
{
|
||||||
|
@ -373,6 +372,8 @@ _cb_properties_changed(void *data, const EDBus_Message *msg)
|
||||||
EDBUS_OBJECT_EVENT_PROPERTY_REMOVED,
|
EDBUS_OBJECT_EVENT_PROPERTY_REMOVED,
|
||||||
&event);
|
&event);
|
||||||
}
|
}
|
||||||
|
end:
|
||||||
|
edbus_proxy_unref(proxy);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue