From e7ae18150f0ff6f6d79b3c1e31feec74716e3c1d Mon Sep 17 00:00:00 2001 From: liyuan Date: Thu, 28 Dec 2006 03:35:47 +0000 Subject: [PATCH] 2006-12-28 Li Yuan * 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 | 7 +++++++ atk-bridge/bridge.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d71f5d9..07432a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2006-12-28 Li Yuan + + * 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 * configure.in, NEWS: Uprev/release 1.7.14 for gnome 2.17.4. diff --git a/atk-bridge/bridge.c b/atk-bridge/bridge.c index 4424266..205987a 100644 --- a/atk-bridge/bridge.c +++ b/atk-bridge/bridge.c @@ -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); } -- 2.7.4