seed r433 - trunk/libseed
- From: racarr svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r433 - trunk/libseed
- Date: Fri, 12 Dec 2008 01:26:47 +0000 (UTC)
Author: racarr
Date: Fri Dec 12 01:26:47 2008
New Revision: 433
URL: http://svn.gnome.org/viewvc/seed?rev=433&view=rev
Log:
Fix reference counting bug.
Modified:
trunk/libseed/seed-engine.c
Modified: trunk/libseed/seed-engine.c
==============================================================================
--- trunk/libseed/seed-engine.c (original)
+++ trunk/libseed/seed-engine.c Fri Dec 12 01:26:47 2008
@@ -369,27 +369,24 @@
GIFunctionInfoFlags flags =
g_function_info_get_flags((GIFunctionInfo *) info);
- if (flags & GI_FUNCTION_IS_CONSTRUCTOR)
+ GIBaseInfo *interface;
+ GIInfoType interface_type;
+
+ interface = g_type_info_get_interface(type_info);
+ interface_type = g_base_info_get_type(interface);
+ g_base_info_unref(interface);
+
+ if (interface_type == GI_INFO_TYPE_OBJECT ||
+ interface_type == GI_INFO_TYPE_INTERFACE)
{
- GIBaseInfo *interface;
- GIInfoType interface_type;
-
- interface = g_type_info_get_interface(type_info);
- interface_type = g_base_info_get_type(interface);
- g_base_info_unref(interface);
-
- if (interface_type == GI_INFO_TYPE_OBJECT ||
- interface_type == GI_INFO_TYPE_INTERFACE)
+ if (G_IS_OBJECT(retval.v_pointer))
{
- if (G_IS_OBJECT(retval.v_pointer))
- {
- sunk =
+ sunk =
g_object_is_floating(G_OBJECT(retval.v_pointer));
- g_object_ref_sink(G_OBJECT(retval.v_pointer));
- }
+ g_object_ref_sink(G_OBJECT(retval.v_pointer));
}
-
}
+
}
retval_ref =
seed_gi_argument_make_js(ctx, &retval, type_info, exception);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]