seed r697 - trunk/libseed
- From: racarr svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r697 - trunk/libseed
- Date: Fri, 9 Jan 2009 07:09:26 +0000 (UTC)
Author: racarr
Date: Fri Jan 9 07:09:26 2009
New Revision: 697
URL: http://svn.gnome.org/viewvc/seed?rev=697&view=rev
Log:
GClosure argument releasing.
Modified:
trunk/libseed/seed-types.c
Modified: trunk/libseed/seed-types.c
==============================================================================
--- trunk/libseed/seed-types.c (original)
+++ trunk/libseed/seed-types.c Fri Jan 9 07:09:26 2009
@@ -127,6 +127,7 @@
g_base_info_unref((GIBaseInfo *) param_type);
}
+ break;
case GI_TYPE_TAG_INTERFACE:
{
if (arg->v_pointer)
@@ -150,7 +151,7 @@
G_OBJECT(arg->v_pointer)->ref_count);
g_object_unref(G_OBJECT(arg->v_pointer));
}
- else if (gtype == G_TYPE_VALUE)
+ else if (g_type_is_a(gtype, G_TYPE_VALUE))
{
GValue * gval = (GValue *)arg->v_pointer;
// Free/unref the GValue's contents.
@@ -158,6 +159,10 @@
// Free the GValue.
g_slice_free1(sizeof(GValue), gval);
}
+ else if (g_type_is_a(gtype, G_TYPE_CLOSURE))
+ {
+ g_closure_unref(arg->v_pointer);
+ }
g_base_info_unref(interface_info);
}
@@ -195,8 +200,13 @@
type_tag = g_type_info_get_tag((GITypeInfo *) type_info);
switch (type_tag)
- {1
+ {
// TODO: FIXME: Leaaaks?
+ case GI_TYPE_TAG_INTERFACE:
+ {
+ // TODO: FIXME: Need some safe way to look for GClosure.
+ break;
+ }
case GI_TYPE_TAG_UTF8:
case GI_TYPE_TAG_FILENAME:
case GI_TYPE_TAG_ARRAY:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]