2007-02-12 Li Yuan <li.yuan@sun.com>
authorliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 12 Feb 2007 11:03:49 +0000 (11:03 +0000)
committerliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Mon, 12 Feb 2007 11:03:49 +0000 (11:03 +0000)
        * atk-bridge/bridge.c:
        (atk_bridge_init): bug #400709. we must emit events even if we are not
        registered as a full-fledged app.
        (gnome_accessibility_module_shutdown): bug #404592, unset misc when
        application like openoffice shutdown. They need to unload gtk before
        the is spi_atk_bridge_exit_func called.

git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@883 e2bd861d-eb25-0410-b326-f6ed22b6b98c

ChangeLog
atk-bridge/bridge.c

index 5cda38e..0321123 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-02-12  Li Yuan  <li.yuan@sun.com>
+
+       * atk-bridge/bridge.c:
+       (atk_bridge_init): bug #400709. we must emit events even if we are not
+       registered as a full-fledged app.
+       (gnome_accessibility_module_shutdown): bug #404592, unset misc when
+       application like openoffice shutdown. They need to unload gtk before
+       the is spi_atk_bridge_exit_func called.
+
 2007-01-22  Li Yuan  <li.yuan@sun.com>
 
        * configure.in, NEWS: Uprev/release 1.7.16 for gnome 2.18.0 Beta 1.
index f387e5a..3085452 100644 (file)
@@ -223,11 +223,17 @@ atk_bridge_init (gint *argc, gchar **argv[])
                         "children-changed::remove",
                         (GCallback) spi_atk_bridge_toplevel_removed, 
                         NULL);
+      /* in this case we redefine 'success' to mean 'registry is present' */
+      success = (spi_atk_bridge_get_registry () != CORBA_OBJECT_NIL);
     }
   else
     {
       success = spi_atk_bridge_do_registration ();
     }
+  /*
+   * we must emit events even if we are not registered as a
+   * full-fledged app; See bugzilla #400709.
+   */
   if (success) 
     {
       spi_atk_register_event_listeners ();
@@ -660,6 +666,8 @@ gnome_accessibility_module_shutdown (void)
           atk_remove_key_event_listener (atk_bridge_key_event_listener_id);
 
   deregister_application (app);
+
+  misc = NULL;
 }
 
 static void