Merge upstream branch 2.31.1 into branch origin/tizen
[platform/upstream/at-spi2-core.git] / atspi / atspi-event-listener.c
index 6a3fe6b..065b4a0 100644 (file)
@@ -786,15 +786,16 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback,
   GPtrArray *matchrule_array;
   gint i;
   GList *l;
+  gboolean result = TRUE;
 
+  if (!callback)
+  {
+    return FALSE;
+  }
   if (!convert_event_type_to_dbus (event_type, &category, &name, &detail, &matchrule_array))
   {
     return FALSE;
   }
-  if (!callback)
-    {
-      return FALSE;
-    }
 
   for (l = event_listeners; l;)
   {
@@ -820,8 +821,10 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback,
            atspi_path_registry,
            atspi_interface_registry,
            "DeregisterEvent");
-      if (!message)
-      return FALSE;
+      if (!message) {
+        result = FALSE;
+        break;
+      }
       dbus_message_append_args (message, DBUS_TYPE_STRING, &event_type, DBUS_TYPE_INVALID);
       reply = _atspi_dbus_send_with_reply_and_block (message, error);
       if (reply)
@@ -837,7 +840,7 @@ atspi_event_listener_deregister_from_callback (AtspiEventListenerCB callback,
   for (i = 0; i < matchrule_array->len; i++)
     g_free (g_ptr_array_index (matchrule_array, i));
   g_ptr_array_free (matchrule_array, TRUE);
-  return TRUE;
+  return result;
 }
 
 /**
@@ -891,7 +894,7 @@ detail_matches_listener (const char *event_detail, const char *listener_detail)
     return TRUE;
 
   if (!event_detail)
-    return (listener_detail ? FALSE : TRUE);
+    return FALSE;
 
   return !(listener_detail [strcspn (listener_detail, ":")] == '\0'
                ? strncmp (listener_detail, event_detail,
@@ -971,16 +974,20 @@ _atspi_dbus_handle_event (DBusConnection *bus, DBusMessage *message, void *data)
 
   memset (&e, 0, sizeof (e));
 
-  if (category)
+  if (!category)
   {
-    category = g_utf8_strrchr (category, -1, '.');
-    if (category == NULL)
-    {
-      // TODO: Error
-      return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-    }
-    category++;
+    // TODO: Error
+    return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
   }
+
+  category = g_utf8_strrchr (category, -1, '.');
+  if (category == NULL)
+  {
+    // TODO: Error
+    return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
+  }
+  category++;
+
   dbus_message_iter_get_basic (&iter, &detail);
   dbus_message_iter_next (&iter);
   dbus_message_iter_get_basic (&iter, &detail1);