Release v2.3.92
[platform/core/uifw/at-spi2-atk.git] / atk-adaptor / event.c
index 61387b0..22f817d 100644 (file)
@@ -424,7 +424,7 @@ signal_is_needed (const gchar *klass, const gchar *major, const gchar *minor)
 /* Convert a : to a / so that listeners can use arg0path to match only
  *  * the prefix */
 static char *
-adapt_minor_for_dbus (char *source)
+adapt_minor_for_dbus (const char *source)
 {
   gchar *ret = g_strdup (source);
   int i = strcspn (ret, ":");
@@ -471,6 +471,7 @@ emit_event (AtkObject  *obj,
     return;
 
   path =  spi_register_object_to_path (spi_global_register, G_OBJECT (obj));
+  g_return_if_fail (path != NULL);
 
   /*
    * This is very annoying, but as '-' isn't a legal signal
@@ -650,7 +651,7 @@ state_event_listener (GSignalInvocationHint * signal_hint,
   emit_event (accessible, ITF_EVENT_OBJECT, STATE_CHANGED, pname, detail1, 0,
               DBUS_TYPE_INT32_AS_STRING, 0, append_basic);
 
-  if (!g_strcmp0 (pname, "defunct"))
+  if (!g_strcmp0 (pname, "defunct") && detail1)
     spi_register_deregister_object (spi_global_register, G_OBJECT (accessible),
                                     TRUE);
   return TRUE;