2006-12-14 Li Yuan <li.yuan@sun.com>
authorliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Thu, 14 Dec 2006 09:41:20 +0000 (09:41 +0000)
committerliyuan <liyuan@e2bd861d-eb25-0410-b326-f6ed22b6b98c>
Thu, 14 Dec 2006 09:41:20 +0000 (09:41 +0000)
        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
atk-bridge/bridge.c

index 3f3e43f..23e4445 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-12-14  Li Yuan  <li.yuan@sun.com>
+
+       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 <li.yuan@sun.com>
 
        Patch from Ariel Rios to fix #163132 and #377079.
index 3aee597..4424266 100644 (file)
@@ -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;
 }