summaryrefslogtreecommitdiff
path: root/girepository
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagna@src.gnome.org>2011-05-25 19:26:49 +0200
committerGiovanni Campagna <gcampagna@src.gnome.org>2011-06-08 17:45:31 +0200
commit0d7b707425b86b04232b9f52ecf96333f7b0a35c (patch)
treebbd08aedb951cbd52f8ec8ac6006d9ed0d8b7c22 /girepository
parentaea1a55dff7f5cf7f3d87bbe515d94b66057b852 (diff)
downloadgobject-introspection-0d7b707425b86b04232b9f52ecf96333f7b0a35c.tar.gz
Rework how fundamental GObject types are introspected
Change the special code for handling GObject and GInitiallyUnowned so that it exposes GParamSpec as a class, and it allows GVariant to have a GType without using the deprecate g_variant_get_gtype. It is a sort of ABI break, in that new typelibs won't work with previous versions of libgirepository. https://bugzilla.gnome.org/show_bug.cgi?id=646635
Diffstat (limited to 'girepository')
-rw-r--r--girepository/gdump.c2
-rw-r--r--girepository/giregisteredtypeinfo.c4
2 files changed, 4 insertions, 2 deletions
diff --git a/girepository/gdump.c b/girepository/gdump.c
index 1b9ffd4f..cb6e7419 100644
--- a/girepository/gdump.c
+++ b/girepository/gdump.c
@@ -177,7 +177,7 @@ dump_object_type (GType type, const char *symbol, GOutputStream *out)
parent = g_type_parent (type);
parent_str = g_string_new ("");
- while (parent != G_TYPE_OBJECT && parent != G_TYPE_INVALID)
+ while (parent != G_TYPE_INVALID)
{
if (first)
first = FALSE;
diff --git a/girepository/giregisteredtypeinfo.c b/girepository/giregisteredtypeinfo.c
index ca06b9f8..6c1b9321 100644
--- a/girepository/giregisteredtypeinfo.c
+++ b/girepository/giregisteredtypeinfo.c
@@ -136,7 +136,9 @@ g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info)
if (type_init == NULL)
return G_TYPE_NONE;
else if (!strcmp (type_init, "intern"))
- return G_TYPE_OBJECT;
+ /* The special string "intern" is used for some types exposed by libgobject
+ (that therefore should be always available) */
+ return g_type_from_name (g_registered_type_info_get_type_name (info));
get_type_func = NULL;
if (!g_typelib_symbol (rinfo->typelib,