+2003-06-26 Padraig O'Briain <padraig.obriain@sun.com>
+
+ * 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 <padraig.obriain@sun.com>
* atk-bridge/bridge.c:
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",
ATK_TYPE_HYPERTEXT);
atk_signal_text_selection_changed = g_signal_lookup ("text_selection_changed",
ATK_TYPE_TEXT);
+ done = TRUE;
}
static int
else
{
spi_atk_bridge_do_registration ();
+ spi_atk_bridge_init_event_type_consts ();
}
- spi_atk_bridge_init_event_type_consts ();
-
return 0;
}
AtkObject *child)
{
if (toplevels == 0)
- spi_atk_bridge_do_registration ();
+ {
+ spi_atk_bridge_do_registration ();
+ spi_atk_bridge_init_event_type_consts ();
+ }
toplevels++;
}