X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=atk-bridge%2Fbridge.c;h=86bbaa506dfdbfa3b9f259c383f2c1e43d392ee3;hb=210e1cfe72d147251941eaa4c789970c51f12960;hp=d45f4635373845d94cea78e610c7873ee92e5d75;hpb=92458bbffd350b574b27f64a315653c94d847dcf;p=platform%2Fupstream%2Fat-spi2-core.git diff --git a/atk-bridge/bridge.c b/atk-bridge/bridge.c index d45f463..86bbaa5 100644 --- a/atk-bridge/bridge.c +++ b/atk-bridge/bridge.c @@ -46,6 +46,7 @@ static CORBA_Environment ev; static Accessibility_Registry registry = NULL; static SpiApplication *this_app = NULL; static gboolean registry_died = FALSE; +static gboolean atk_listeners_registered = FALSE; static guint toplevel_handler; /* NOT YET USED @@ -274,7 +275,12 @@ spi_atk_register_event_listeners (void) guint id; GObject *ao = g_object_new (ATK_TYPE_OBJECT, NULL); AtkObject *bo = atk_no_op_object_new (ao); - + + + if (atk_listeners_registered) return; + + atk_listeners_registered = TRUE; + /* Register for focus event notifications, and register app with central registry */ listener_ids = g_array_sized_new (FALSE, TRUE, sizeof (guint), 16); @@ -714,6 +720,8 @@ spi_atk_signal_emit_event (const GObject *gobject, else spi_atk_emit_eventv (gobject, detail1, detail2, &any, "object:%s", name); + if (sp) + g_free (sp); }