2006-12-28 Li Yuan <li.yuan@sun.com>
authorliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Thu, 28 Dec 2006 03:35:47 +0000 (03:35 +0000)
committerliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Thu, 28 Dec 2006 03:35:47 +0000 (03:35 +0000)
        * atk-bridge/bridge.c:
        (spi_atk_tidy_windows): init any again if call spi_atk_emit_eventv
        the second time, because spi_atk_emit_eventv will free any. Bug
        #364839.

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

ChangeLog
atk-bridge/bridge.c

index d71f5d9..07432a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-12-28  Li Yuan  <li.yuan@sun.com>
+
+       * atk-bridge/bridge.c:
+       (spi_atk_tidy_windows): init any again if call spi_atk_emit_eventv
+       the second time, because spi_atk_emit_eventv will free any. Bug
+       #364839.
+
 2006-12-15  Li Yuan  <li.yuan@sun.com>
 
        * configure.in, NEWS: Uprev/release 1.7.14 for gnome 2.17.4.
index 4424266..205987a 100644 (file)
@@ -1256,15 +1256,16 @@ spi_atk_tidy_windows (void)
       stateset = atk_object_ref_state_set (child);
       
       name = atk_object_get_name (child);
-      spi_atk_bridge_init_string (&any, child, (gchar**) &name);
       if (atk_state_set_contains_state (stateset, ATK_STATE_ACTIVE))
         {
+          spi_atk_bridge_init_string (&any, child, (gchar**) &name);
           spi_atk_emit_eventv (G_OBJECT (child), 0, 0, &any, "window:deactivate");
           if (registry_died)
             return;
         }
       g_object_unref (stateset);
 
+      spi_atk_bridge_init_string (&any, child, (gchar**) &name);
       spi_atk_emit_eventv (G_OBJECT (child), 0, 0, &any, "window:destroy");
       g_object_unref (child);
     }