From 8228cc05105506c3bcfb5a88ff38165c55c89ecc Mon Sep 17 00:00:00 2001 From: padraigo Date: Thu, 26 Jun 2003 08:25:44 +0000 Subject: [PATCH] 2003-06-26 Padraig O'Briain * atk-bridge/bridge.c: (spi_atk_bridge_init_event_type_consts): Ensure that this function only looks up signals once. (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only if doing registration. (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts when doing registration. This fixes bug #115014. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@450 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- ChangeLog | 12 ++++++++++++ atk-bridge/bridge.c | 14 +++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66ba212..2941dd2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2003-06-26 Padraig O'Briain + + * atk-bridge/bridge.c: + (spi_atk_bridge_init_event_type_consts): Ensure that this function only + looks up signals once. + (atk_bridge_init): Call spi_atk_bridge_init_event_type_consts only + if doing registration. + (spi_atk_bridge_toplevel_added): Call spi_bridge_init_event_type_consts + when doing registration. + + This fixes bug #115014. + 2003-06-25 Padraig O'Briain * atk-bridge/bridge.c: diff --git a/atk-bridge/bridge.c b/atk-bridge/bridge.c index 4065745..1d3c732 100644 --- a/atk-bridge/bridge.c +++ b/atk-bridge/bridge.c @@ -123,6 +123,11 @@ extern void gnome_accessibility_module_shutdown (void); static void spi_atk_bridge_init_event_type_consts () { + static gboolean done = FALSE; + + if (done) + return; + atk_signal_children_changed = g_signal_lookup ("children_changed", ATK_TYPE_OBJECT); atk_signal_text_changed = g_signal_lookup ("text_changed", @@ -134,6 +139,7 @@ spi_atk_bridge_init_event_type_consts () ATK_TYPE_HYPERTEXT); atk_signal_text_selection_changed = g_signal_lookup ("text_selection_changed", ATK_TYPE_TEXT); + done = TRUE; } static int @@ -176,10 +182,9 @@ atk_bridge_init (gint *argc, gchar **argv[]) else { spi_atk_bridge_do_registration (); + spi_atk_bridge_init_event_type_consts (); } - spi_atk_bridge_init_event_type_consts (); - return 0; } @@ -218,7 +223,10 @@ spi_atk_bridge_toplevel_added (AtkObject *object, AtkObject *child) { if (toplevels == 0) - spi_atk_bridge_do_registration (); + { + spi_atk_bridge_do_registration (); + spi_atk_bridge_init_event_type_consts (); + } toplevels++; } -- 2.7.4