From 9286222be76e05c58495b9e5edf2b74c84faa5ea Mon Sep 17 00:00:00 2001 From: liyuan Date: Thu, 14 Dec 2006 09:41:20 +0000 Subject: [PATCH] 2006-12-14 Li Yuan Fix for #352444 * atk-bridge/bridge.c: (spi_atk_emit_eventv), (spi_atk_bridge_property_event_listener), (spi_atk_bridge_signal_listener): Free some CORBA objects to fix memory leak and crash. git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@869 e2bd861d-eb25-0410-b326-f6ed22b6b98c --- ChangeLog | 8 ++++++++ atk-bridge/bridge.c | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3f3e43f..23e4445 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-12-14 Li Yuan + + Fix for #352444 + * atk-bridge/bridge.c: (spi_atk_emit_eventv), + (spi_atk_bridge_property_event_listener), + (spi_atk_bridge_signal_listener): + Free some CORBA objects to fix memory leak and crash. + 2006-12-13 Li Yuan Patch from Ariel Rios to fix #163132 and #377079. diff --git a/atk-bridge/bridge.c b/atk-bridge/bridge.c index 3aee597..4424266 100644 --- a/atk-bridge/bridge.c +++ b/atk-bridge/bridge.c @@ -763,6 +763,8 @@ spi_atk_emit_eventv (const GObject *gobject, g_free (e.type); if (!any && e.any_data._release) CORBA_free (e.any_data._value); + + if (any && any->_release) CORBA_free (any->_value); va_end (args); @@ -914,6 +916,8 @@ spi_atk_bridge_property_event_listener (GSignalInvocationHint *signal_hint, spi_atk_emit_eventv (gobject, 0, 0, &any, "object:property-change:%s", prop_name); + if (s_ao) + bonobo_object_unref (BONOBO_OBJECT (s_ao)); return TRUE; } @@ -1156,6 +1160,9 @@ spi_atk_bridge_signal_listener (GSignalInvocationHint *signal_hint, if (sp) g_free (sp); + if (s_ao) + bonobo_object_unref (BONOBO_OBJECT (s_ao)); + return TRUE; } -- 2.7.4