gnome-perl-introspection r42 - trunk/Glib-Object-Introspection/xs
- From: tsch svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-perl-introspection r42 - trunk/Glib-Object-Introspection/xs
- Date: Sun, 9 Nov 2008 14:29:52 +0000 (UTC)
Author: tsch
Date: Sun Nov 9 14:29:52 2008
New Revision: 42
URL: http://svn.gnome.org/viewvc/gnome-perl-introspection?rev=42&view=rev
Log:
Properly handle GI_INFO_TYPE_CALLBACK.
Ref the result of g_base_info_get_container to acquire ownership.
Modified:
trunk/Glib-Object-Introspection/xs/IdlBaseInfo.xs
Modified: trunk/Glib-Object-Introspection/xs/IdlBaseInfo.xs
==============================================================================
--- trunk/Glib-Object-Introspection/xs/IdlBaseInfo.xs (original)
+++ trunk/Glib-Object-Introspection/xs/IdlBaseInfo.xs Sun Nov 9 14:29:52 2008
@@ -35,7 +35,7 @@
package = "Glib::Object::Introspection::FunctionInfo";
break;
case GI_INFO_TYPE_CALLBACK:
- croak ("Callback info?");
+ package = "Glib::Object::Introspection::CallbackInfo";
break;
case GI_INFO_TYPE_STRUCT:
package = "Glib::Object::Introspection::StructInfo";
@@ -107,6 +107,7 @@
gperl_set_isa ("Glib::Object::Introspection::ArgInfo", "Glib::Object::Introspection::BaseInfo");
gperl_set_isa ("Glib::Object::Introspection::BoxedInfo", "Glib::Object::Introspection::StructInfo");
gperl_set_isa ("Glib::Object::Introspection::CallableInfo", "Glib::Object::Introspection::BaseInfo");
+ gperl_set_isa ("Glib::Object::Introspection::CallbackInfo", "Glib::Object::Introspection::CallableInfo");
gperl_set_isa ("Glib::Object::Introspection::ConstantInfo", "Glib::Object::Introspection::BaseInfo");
gperl_set_isa ("Glib::Object::Introspection::EnumInfo", "Glib::Object::Introspection::RegisteredTypeInfo");
gperl_set_isa ("Glib::Object::Introspection::ErrorInfo", "Glib::Object::Introspection::BaseInfo");
@@ -141,6 +142,9 @@
const gchar * g_base_info_get_annotation (GIBaseInfo *info, const gchar *name);
GIBaseInfo * g_base_info_get_container (GIBaseInfo *info);
+ CLEANUP:
+ /* FIXME: should this be necessary? */
+ g_base_info_ref (info);
# FIXME: Needed?
# GIBaseInfo * g_info_new (GIInfoType type, GIBaseInfo *container, const guchar *metadata, guint32 offset);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]