Decrements the reference count of session_bus
[platform/upstream/at-spi2-core.git] / atspi / atspi-misc.c
index 3404873..679e0da 100644 (file)
@@ -387,7 +387,7 @@ handle_name_owner_changed (DBusConnection *bus, DBusMessage *message, void *user
   else if (app_hash)
   {
     AtspiApplication *app = g_hash_table_lookup (app_hash, old);
-    if (app)
+    if (app && app->bus_name && !strcmp(app->bus_name, name))
       g_object_run_dispose (G_OBJECT (app));
   }
   return DBUS_HANDLER_RESULT_HANDLED;
@@ -1497,7 +1497,7 @@ get_accessibility_bus_address_dbus (void)
     g_warning ("Error retrieving accessibility bus address: %s: %s",
                error.name, error.message);
     dbus_error_free (&error);
-    return NULL;
+    goto out;
   }
   
   {
@@ -1509,12 +1509,14 @@ get_accessibility_bus_address_dbus (void)
                                DBUS_TYPE_INVALID))
       {
        dbus_message_unref (reply);
-       return NULL;
+        goto out;
       }
     address = g_strdup (tmp_address);
     dbus_message_unref (reply);
   }
-  
+
+out:
+  dbus_connection_unref (session_bus);
   return address;
 }
 
@@ -1586,23 +1588,23 @@ atspi_get_a11y_bus (void)
 
 /**
  * atspi_set_timeout:
- *  @val: The timeout value, in milliseconds, or -1 to disable the timeout.
- *  @startup_time: The amount of time, in milliseconds, to allow to pass
- *  before enforcing timeouts on an application. Can be used to prevent
- *  timeout exceptions if an application is likely to block for an extended
- *  period of time on initialization. -1 can be passed to disable this
- *  behavior.
+ * @val: The timeout value, in milliseconds, or -1 to disable the timeout.
+ * @startup_time: The amount of time, in milliseconds, to allow to pass
+ * before enforcing timeouts on an application. Can be used to prevent
+ * timeout exceptions if an application is likely to block for an extended
+ * period of time on initialization. -1 can be passed to disable this
+ * behavior.
  *
- *  Set the timeout used for method calls. If this is not set explicitly,
- *  a default of 0.8 ms is used.
- *  Note that at-spi2-registryd currently uses a timeout of 3 seconds when
- *  sending a keyboard event notification. This means that, if an AT makes
- *  a call in response to the keyboard notification and the application
- *  being called does not respond before the timeout is reached,
- *  at-spi2-registryd will time out on the keyboard event notification and
- *  pass the key onto the application (ie, reply to indicate that the key
- *  was not consumed), so this may make it undesirable to set a timeout
- *  larger than 3 seconds.
+ * Set the timeout used for method calls. If this is not set explicitly,
+ * a default of 0.8 ms is used.
+ * Note that at-spi2-registryd currently uses a timeout of 3 seconds when
+ * sending a keyboard event notification. This means that, if an AT makes
+ * a call in response to the keyboard notification and the application
+ * being called does not respond before the timeout is reached,
+ * at-spi2-registryd will time out on the keyboard event notification and
+ * pass the key onto the application (ie, reply to indicate that the key
+ * was not consumed), so this may make it undesirable to set a timeout
+ * larger than 3 seconds.
  *
  * By default, the normal timeout is set to 800 ms, and the application startup
  * timeout is set to 15 seconds.