A CORBA_free call was fixed, and also the initialization of a CORBA_Any
was fixed (both fixes were necessary to prevent big trouble on 64-bit,
and the bug is a likely candidate for trouble on other archs.
git-svn-id: http://svn.gnome.org/svn/at-spi/trunk@848
e2bd861d-eb25-0410-b326-
f6ed22b6b98c
+2006-07-31 Bill Haneman <bill.haneman@sun.com>
+
+ * atk-bridge/bridge.c:
+ (spi_atk_emit_eventv): Fix the CORBA_free call which was
+ causing 64-bit troubles and memory leaks.
+ Special thanks to Alexander Larsson who finally seems to
+ have tracked down the problem, not just here but in
+ libspi/util.c...
+
+ * libspi/util.c:
+ (spi_init_any_object): Make sure we copy the CORBA value
+ when initializing an object for passing as a CORBA_Any.
+ Bug #337239.
+
2006-07-21 Bill Haneman <billh@gnome.org>
* idl/Accessibility.idl:
g_free (e.type);
- if (e.any_data._release) CORBA_free (&e.any_data._value);
+ if (!any && e.any_data._release) CORBA_free (e.any_data._value);
va_end (args);
details->source_name = CORBA_string_dup (name);
details->any_data._type = TC_CORBA_Object;
- details->any_data._value = o;
+ details->any_data._value = ORBit_copy_value (o, TC_CORBA_Object);
details->any_data._release = TRUE;
}