summaryrefslogtreecommitdiff
path: root/legacy/edbus
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--legacy/edbus/src/lib/edbus_service.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/legacy/edbus/src/lib/edbus_service.c b/legacy/edbus/src/lib/edbus_service.c
index 0eeee8c45e..a68ea8a3a3 100644
--- a/legacy/edbus/src/lib/edbus_service.c
+++ b/legacy/edbus/src/lib/edbus_service.c
@@ -1095,9 +1095,14 @@ EAPI void
1095edbus_service_interface_unregister(EDBus_Service_Interface *iface) 1095edbus_service_interface_unregister(EDBus_Service_Interface *iface)
1096{ 1096{
1097 EDBUS_SERVICE_INTERFACE_CHECK(iface); 1097 EDBUS_SERVICE_INTERFACE_CHECK(iface);
1098 if (!eina_hash_find(iface->obj->interfaces, objmanager->name))
1099 {
1100 //properties + introspectable + iface that user wants unregister
1101 if (eina_hash_population(iface->obj->interfaces) < 4)
1102 edbus_service_object_unregister(iface);
1103 return;
1104 }
1098 eina_hash_del(iface->obj->interfaces, NULL, iface); 1105 eina_hash_del(iface->obj->interfaces, NULL, iface);
1099 if (eina_hash_population(iface->obj->interfaces) < 3)
1100 edbus_service_object_unregister(iface);
1101 _interface_free(iface); 1106 _interface_free(iface);
1102} 1107}
1103 1108