Comment # 1
on bug 56396
from Patrick Ohly
Investigated and fixed:
commit d9bd10237ffe6349811c44ef98887b8ba7e4128d
Author: Patrick Ohly <patrick.ohly@intel.com>
Date: Wed Oct 31 22:30:54 2012 -0700
gee: fix memory leak in GeeCollCXX
gee_collection_iterator_get() always transfers ownership. The caller
must g_free() (for strings) or unref (for GObjects) the returned value.
The revised GeeCollCXX does this automatically, with GObject being the
default
(relies on the GObject intrusive pointer template classes) and "gchar *" a
special case in the template specialization of an utility traits class.
The usage is almost as before. However, because of the reliance on
SE_GOBJECT_TYPE, that macro must have been used for all types over which
is to be iterated. Requires moving some definitions into header files
where they can be shared.
commit 49d300e3a3015f32a4f467ef402a1f617deeba85
Author: Patrick Ohly <patrick.ohly@intel.com>
Date: Wed Oct 31 22:15:00 2012 -0700
glib: fixed memory leak in some GAsyncReady helpers
The callback was allocated with new for the duration of the operation
and must be deleted. Was done via try/catch in some cases, but not all.
The better solution is to use RAII and store the instance in an auto_ptr
as soon as that is possible again.