X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=blobdiff_plain;f=atk-adaptor%2Fbridge.c;h=7dd355ba06892351fbbaca44d50851d8945c7de4;hp=738c10bd7af2a7f49157e21a8bca28795b7826d4;hb=abc815aa731b80392c676559c34815d463b0e51c;hpb=1b1fa3c23337e39eba5adfbf689302a9163d4c01 diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c index 738c10b..7dd355b 100644 --- a/atk-adaptor/bridge.c +++ b/atk-adaptor/bridge.c @@ -291,6 +291,10 @@ register_application (SpiBridge * app) if (!dbus_connection_send_with_reply (app->bus, message, &pending, -1) || !pending) { + if (pending) + dbus_pending_call_unref (pending); + + dbus_message_unref (message); return FALSE; } @@ -430,6 +434,8 @@ socket_ref_state_set (AtkObject *accessible) static void socket_embed_hook (AtkSocket * socket, gchar * plug_id) { + g_return_if_fail (spi_global_register != NULL); + AtkObject *accessible = ATK_OBJECT(socket); gchar *plug_name, *plug_path; AtkObjectClass *klass; @@ -674,7 +680,6 @@ signal_filter (DBusConnection *bus, DBusMessage *message, void *user_data) !g_strcmp0(member, "NameOwnerChanged")) { char *name, *old, *new; - result = DBUS_HANDLER_RESULT_HANDLED; if (dbus_message_get_args (message, NULL, DBUS_TYPE_STRING, &name, DBUS_TYPE_STRING, &old, @@ -777,6 +782,8 @@ spi_atk_activate () return; } spi_initialize_cache (treepath); + if (spi_global_app_data->bus) + droute_path_register (treepath, spi_global_app_data->bus); } } @@ -932,7 +939,8 @@ atk_bridge_adaptor_cleanup (void) GList *l; GSList *ls; - g_return_if_fail (inited); + if (!inited) + return; if (!spi_global_app_data) return; @@ -959,13 +967,14 @@ atk_bridge_adaptor_cleanup (void) droute_context_unregister (spi_global_app_data->droute, connection); droute_unintercept_dbus (connection); + dbus_connection_close (connection); dbus_connection_unref (connection); } g_list_free (spi_global_app_data->direct_connections); spi_global_app_data->direct_connections = NULL; for (ls = clients; ls; ls = ls->next) - g_free (l->data); + g_free (ls->data); g_slist_free (clients); clients = NULL;