diff options
Diffstat (limited to 'devel/gobject-introspection')
-rw-r--r-- | devel/gobject-introspection/Makefile | 7 | ||||
-rw-r--r-- | devel/gobject-introspection/distinfo | 6 | ||||
-rw-r--r-- | devel/gobject-introspection/files/patch-20091207 | 2632 | ||||
-rw-r--r-- | devel/gobject-introspection/files/patch-20100107 | 66 | ||||
-rw-r--r-- | devel/gobject-introspection/files/patch-gir_Makefile.in | 7 | ||||
-rw-r--r-- | devel/gobject-introspection/files/patch-girepository_girnode.c | 12 | ||||
-rw-r--r-- | devel/gobject-introspection/pkg-plist | 6 |
7 files changed, 17 insertions, 2719 deletions
diff --git a/devel/gobject-introspection/Makefile b/devel/gobject-introspection/Makefile index 3ee455c39804..56fe63a36283 100644 --- a/devel/gobject-introspection/Makefile +++ b/devel/gobject-introspection/Makefile @@ -3,11 +3,11 @@ # Whom: Alexander Logvinov <avl@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports/devel/gobject-introspection/Makefile,v 1.3 2009/09/06 07:37:44 avl Exp $ +# $MCom: ports/devel/gobject-introspection/Makefile,v 1.8 2010/04/22 15:11:23 kwm Exp $ # PORTNAME= gobject-introspection -PORTVERSION= 0.6.7 +PORTVERSION= 0.6.10 CATEGORIES= devel MASTER_SITES= GNOME DIST_SUBDIR= gnome2 @@ -16,7 +16,8 @@ MAINTAINER= gnome@FreeBSD.org COMMENT= Generate interface introspection data for GObject libraries BUILD_DEPENDS= flex:${PORTSDIR}/textproc/flex -LIB_DEPENDS= ffi.5:${PORTSDIR}/devel/libffi +LIB_DEPENDS= ffi.5:${PORTSDIR}/devel/libffi \ + cairo.2:${PORTSDIR}/graphics/cairo USE_BZIP2= yes GNU_CONFIGURE= yes diff --git a/devel/gobject-introspection/distinfo b/devel/gobject-introspection/distinfo index e3eccda319b7..73ae07e84f39 100644 --- a/devel/gobject-introspection/distinfo +++ b/devel/gobject-introspection/distinfo @@ -1,3 +1,3 @@ -MD5 (gnome2/gobject-introspection-0.6.7.tar.bz2) = 41205c14cbd86632806578448e29bd30 -SHA256 (gnome2/gobject-introspection-0.6.7.tar.bz2) = c97ca4e978b0583999775640e9e9f97b64a5880ad2a6adc3ce903207b616f24a -SIZE (gnome2/gobject-introspection-0.6.7.tar.bz2) = 579956 +MD5 (gnome2/gobject-introspection-0.6.10.tar.bz2) = cdf7af644a0407c3fd2d57ba2bb3549f +SHA256 (gnome2/gobject-introspection-0.6.10.tar.bz2) = 36bd511a4d45967f95526f94708b3f4367e9d344aa11f3206fe6edb7fc3a8d4b +SIZE (gnome2/gobject-introspection-0.6.10.tar.bz2) = 550501 diff --git a/devel/gobject-introspection/files/patch-20091207 b/devel/gobject-introspection/files/patch-20091207 deleted file mode 100644 index fa0b93cf3086..000000000000 --- a/devel/gobject-introspection/files/patch-20091207 +++ /dev/null @@ -1,2632 +0,0 @@ -From 804f59f40c027cf1fb2944764adea564dff07678 Mon Sep 17 00:00:00 2001 -From: Colin Walters <walters@verbum.org> -Date: Mon, 07 Dec 2009 23:35:06 +0000 -Subject: Allow stack allocating GIBaseInfo, add stack retrieval variants - -We don't want to malloc each GIBaseInfo when they can be used in -function invocation; instead, allow stack allocation. - -There were a lot of structure typedefs which were actually just -exactly the same as GIBaseInfo, with the one exception of GITypeInfo. - -Instead, just put the single GITypeInfo boolean inside GIBaseInfo -as a bit in a bitfield. - -GIBaseInfo is still opaque publicly; GIRealInfo is the new -internal structure. - -Using this, add new functions to retrieve arguments and argument types -on the stack. - -https://bugzilla.gnome.org/show_bug.cgi?id=604074 ---- -diff --git a/girepository/ginfo.c b/girepository/ginfo.c -index 2aacb76..b11cc8f 100644 ---- girepository/ginfo.c -+++ girepository/ginfo.c -@@ -28,11 +28,19 @@ - #include "gtypelib.h" - #include "ginfo.h" - --struct _GIBaseInfo -+typedef struct _GIRealInfo GIRealInfo; -+ -+/** -+ * We just use one structure for all of the info object -+ * types; in general, we should be reading data directly -+ * from the typelib, and not having computed data in -+ * per-type structures. -+ */ -+struct _GIRealInfo - { - /* Keep this part in sync with GIUnresolvedInfo below */ -- gint type; -- gint ref_count; -+ gint32 type; -+ gint32 ref_count; - GIRepository *repository; - GIBaseInfo *container; - -@@ -40,13 +48,18 @@ struct _GIBaseInfo - - GTypelib *typelib; - guint32 offset; -+ -+ guint32 type_is_embedded : 1; /* Used by GITypeInfo */ -+ guint32 reserved : 31; -+ -+ gpointer reserved2[4]; - }; - - struct _GIUnresolvedInfo - { - /* Keep this part in sync with GIBaseInfo above */ -- gint type; -- gint ref_count; -+ gint32 type; -+ gint32 ref_count; - GIRepository *repository; - GIBaseInfo *container; - -@@ -56,137 +69,68 @@ struct _GIUnresolvedInfo - const gchar *namespace; - }; - --struct _GICallableInfo --{ -- GIBaseInfo base; --}; -- --struct _GIFunctionInfo --{ -- GICallableInfo callable; --}; -- --struct _GICallbackInfo --{ -- GICallableInfo callable; --}; -- --struct _GIRegisteredTypeInfo --{ -- GIBaseInfo base; --}; -- --struct _GIStructInfo --{ -- GIRegisteredTypeInfo registered; --}; -- --struct _GIEnumInfo --{ -- GIRegisteredTypeInfo registered; --}; -- --struct _GIObjectInfo --{ -- GIRegisteredTypeInfo registered; --}; -- --struct _GIInterfaceInfo --{ -- GIRegisteredTypeInfo registered; --}; -- --struct _GIConstantInfo --{ -- GIBaseInfo base; --}; -- --struct _GIValueInfo --{ -- GIBaseInfo base; --}; -- --struct _GISignalInfo --{ -- GICallableInfo callable; --}; -- --struct _GIVFuncInfo --{ -- GICallableInfo callable; --}; -- --struct _GIPropertyInfo --{ -- GIBaseInfo base; --}; -- --struct _GIFieldInfo -+static void -+g_info_init (GIRealInfo *info, -+ GIInfoType type, -+ GIRepository *repository, -+ GIBaseInfo *container, -+ GTypelib *typelib, -+ guint32 offset) - { -- GIBaseInfo base; --}; -+ memset (info, 0, sizeof (GIRealInfo)); - --struct _GIArgInfo --{ -- GIBaseInfo base; --}; -+ /* Invalid refcount used to flag stack-allocated infos */ -+ info->ref_count = 0xFFFF; -+ info->type = type; - --struct _GITypeInfo --{ -- GIBaseInfo base; -- gboolean is_embedded; --}; -+ info->typelib = typelib; -+ info->offset = offset; - --struct _GIUnionInfo --{ -- GIRegisteredTypeInfo registered; --}; -+ if (container) -+ info->container = container; - -+ g_assert (G_IS_IREPOSITORY (repository)); -+ info->repository = repository; -+} - - /* info creation */ - GIBaseInfo * - g_info_new_full (GIInfoType type, -- GIRepository *repository, -- GIBaseInfo *container, -- GTypelib *typelib, -- guint32 offset) -+ GIRepository *repository, -+ GIBaseInfo *container, -+ GTypelib *typelib, -+ guint32 offset) - { -- GIBaseInfo *info; -+ GIRealInfo *info; - - g_return_val_if_fail (container != NULL || repository != NULL, NULL); - -- if (type == GI_INFO_TYPE_TYPE) -- info = (GIBaseInfo *)g_new0 (GITypeInfo, 1); -- else -- info = g_new0 (GIBaseInfo, 1); -- -+ info = g_new (GIRealInfo, 1); -+ -+ g_info_init (info, type, repository, container, typelib, offset); - info->ref_count = 1; -- info->type = type; -- -- info->typelib = typelib; -- info->offset = offset; - -- if (container) -- info->container = g_base_info_ref (container); -+ if (container && ((GIRealInfo *) container)->ref_count != 0xFFFF) -+ g_base_info_ref (info->container); - -- info->repository = g_object_ref (repository); -+ g_object_ref (info->repository); - -- return info; -+ return (GIBaseInfo*)info; - } - - GIBaseInfo * - g_info_new (GIInfoType type, -- GIBaseInfo *container, -- GTypelib *typelib, -- guint32 offset) -+ GIBaseInfo *container, -+ GTypelib *typelib, -+ guint32 offset) - { -- return g_info_new_full (type, container->repository, container, typelib, offset); -+ return g_info_new_full (type, ((GIRealInfo*)container)->repository, container, typelib, offset); - } - - static GIBaseInfo * - g_info_from_entry (GIRepository *repository, -- GTypelib *typelib, -- guint16 index) -+ GTypelib *typelib, -+ guint16 index) - { - GIBaseInfo *result; - DirEntry *entry = g_typelib_get_dir_entry (typelib, index); -@@ -200,31 +144,34 @@ g_info_from_entry (GIRepository *repository, - - result = g_irepository_find_by_name (repository, namespace, name); - if (result == NULL) -- { -- GIUnresolvedInfo *unresolved; -+ { -+ GIUnresolvedInfo *unresolved; - -- unresolved = g_new0 (GIUnresolvedInfo, 1); -+ unresolved = g_new0 (GIUnresolvedInfo, 1); - -- unresolved->type = GI_INFO_TYPE_UNRESOLVED; -- unresolved->ref_count = 1; -- unresolved->repository = g_object_ref (repository); -- unresolved->container = NULL; -- unresolved->name = name; -- unresolved->namespace = namespace; -+ unresolved->type = GI_INFO_TYPE_UNRESOLVED; -+ unresolved->ref_count = 1; -+ unresolved->repository = g_object_ref (repository); -+ unresolved->container = NULL; -+ unresolved->name = name; -+ unresolved->namespace = namespace; - -- return (GIBaseInfo*)unresolved; -- } -- return result; -+ return (GIBaseInfo *)unresolved; -+ } -+ return (GIBaseInfo *)result; - } - -- return result; -+ return (GIBaseInfo *)result; - } - - /* GIBaseInfo functions */ - GIBaseInfo * - g_base_info_ref (GIBaseInfo *info) - { -- info->ref_count++; -+ GIRealInfo *rinfo = (GIRealInfo*)info; -+ -+ g_assert (rinfo->ref_count != 0xFFFF); -+ ((GIRealInfo*)info)->ref_count++; - - return info; - } -@@ -232,18 +179,20 @@ g_base_info_ref (GIBaseInfo *info) - void - g_base_info_unref (GIBaseInfo *info) - { -- g_assert (info->ref_count > 0); -- info->ref_count--; -+ GIRealInfo *rinfo = (GIRealInfo*)info; -+ -+ g_assert (rinfo->ref_count > 0 && rinfo->ref_count != 0xFFFF); -+ rinfo->ref_count--; - -- if (!info->ref_count) -+ if (!rinfo->ref_count) - { -- if (info->container) -- g_base_info_unref (info->container); -+ if (rinfo->container && ((GIRealInfo *) rinfo->container)->ref_count != 0xFFFF) -+ g_base_info_unref (rinfo->container); - -- if (info->repository) -- g_object_unref (info->repository); -+ if (rinfo->repository) -+ g_object_unref (rinfo->repository); - -- g_free (info); -+ g_free (rinfo); - } - } - -@@ -251,14 +200,15 @@ GIInfoType - g_base_info_get_type (GIBaseInfo *info) - { - -- return info->type; -+ return ((GIRealInfo*)info)->type; - } - - const gchar * - g_base_info_get_name (GIBaseInfo *info) - { -- g_assert (info->ref_count > 0); -- switch (info->type) -+ GIRealInfo *rinfo = (GIRealInfo*)info; -+ g_assert (rinfo->ref_count > 0); -+ switch (rinfo->type) - { - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CALLBACK: -@@ -272,64 +222,64 @@ g_base_info_get_name (GIBaseInfo *info) - case GI_INFO_TYPE_ERROR_DOMAIN: - case GI_INFO_TYPE_UNION: - { -- CommonBlob *blob = (CommonBlob *)&info->typelib->data[info->offset]; -+ CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_VALUE: - { -- ValueBlob *blob = (ValueBlob *)&info->typelib->data[info->offset]; -+ ValueBlob *blob = (ValueBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_SIGNAL: - { -- SignalBlob *blob = (SignalBlob *)&info->typelib->data[info->offset]; -+ SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_PROPERTY: - { -- PropertyBlob *blob = (PropertyBlob *)&info->typelib->data[info->offset]; -+ PropertyBlob *blob = (PropertyBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_VFUNC: - { -- VFuncBlob *blob = (VFuncBlob *)&info->typelib->data[info->offset]; -+ VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_FIELD: - { -- FieldBlob *blob = (FieldBlob *)&info->typelib->data[info->offset]; -+ FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - - case GI_INFO_TYPE_ARG: - { -- ArgBlob *blob = (ArgBlob *)&info->typelib->data[info->offset]; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (info->typelib, blob->name); -+ return g_typelib_get_string (rinfo->typelib, blob->name); - } - break; - case GI_INFO_TYPE_UNRESOLVED: - { -- GIUnresolvedInfo *unresolved = (GIUnresolvedInfo *)info; -+ GIUnresolvedInfo *unresolved = (GIUnresolvedInfo *)info; - -- return unresolved->name; -+ return unresolved->name; - } - break; - case GI_INFO_TYPE_TYPE: -@@ -344,24 +294,26 @@ g_base_info_get_name (GIBaseInfo *info) - const gchar * - g_base_info_get_namespace (GIBaseInfo *info) - { -- Header *header = (Header *)info->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo*) info; -+ Header *header = (Header *)rinfo->typelib->data; - -- g_assert (info->ref_count > 0); -+ g_assert (rinfo->ref_count > 0); - -- if (info->type == GI_INFO_TYPE_UNRESOLVED) -+ if (rinfo->type == GI_INFO_TYPE_UNRESOLVED) - { - GIUnresolvedInfo *unresolved = (GIUnresolvedInfo *)info; - - return unresolved->namespace; - } - -- return g_typelib_get_string (info->typelib, header->namespace); -+ return g_typelib_get_string (rinfo->typelib, header->namespace); - } - - gboolean - g_base_info_is_deprecated (GIBaseInfo *info) - { -- switch (info->type) -+ GIRealInfo *rinfo = (GIRealInfo*) info; -+ switch (rinfo->type) - { - case GI_INFO_TYPE_FUNCTION: - case GI_INFO_TYPE_CALLBACK: -@@ -374,33 +326,33 @@ g_base_info_is_deprecated (GIBaseInfo *info) - case GI_INFO_TYPE_CONSTANT: - case GI_INFO_TYPE_ERROR_DOMAIN: - { -- CommonBlob *blob = (CommonBlob *)&info->typelib->data[info->offset]; -+ CommonBlob *blob = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return blob->deprecated; -+ return blob->deprecated; - } - break; - - case GI_INFO_TYPE_VALUE: - { -- ValueBlob *blob = (ValueBlob *)&info->typelib->data[info->offset]; -+ ValueBlob *blob = (ValueBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return blob->deprecated; -+ return blob->deprecated; - } - break; - - case GI_INFO_TYPE_SIGNAL: - { -- SignalBlob *blob = (SignalBlob *)&info->typelib->data[info->offset]; -+ SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return blob->deprecated; -+ return blob->deprecated; - } - break; - - case GI_INFO_TYPE_PROPERTY: - { -- PropertyBlob *blob = (PropertyBlob *)&info->typelib->data[info->offset]; -+ PropertyBlob *blob = (PropertyBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return blob->deprecated; -+ return blob->deprecated; - } - break; - -@@ -426,7 +378,7 @@ g_base_info_is_deprecated (GIBaseInfo *info) - */ - const gchar * - g_base_info_get_attribute (GIBaseInfo *info, -- const gchar *name) -+ const gchar *name) - { - GIAttributeIter iter = { 0, }; - gchar *curname, *curvalue; -@@ -455,15 +407,14 @@ cmp_attribute (const void *av, - } - - static AttributeBlob * --find_first_attribute (GIBaseInfo *info) -+find_first_attribute (GIRealInfo *rinfo) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -+ Header *header = (Header *)rinfo->typelib->data; - AttributeBlob blob, *first, *res, *previous; - -- blob.offset = base->offset; -+ blob.offset = rinfo->offset; - -- first = (AttributeBlob *) &base->typelib->data[header->attributes]; -+ first = (AttributeBlob *) &rinfo->typelib->data[header->attributes]; - - res = bsearch (&blob, first, header->n_attributes, - header->attribute_blob_size, cmp_attribute); -@@ -472,7 +423,7 @@ find_first_attribute (GIBaseInfo *info) - return NULL; - - previous = res - 1; -- while (previous >= first && previous->offset == base->offset) -+ while (previous >= first && previous->offset == rinfo->offset) - { - res = previous; - previous = res - 1; -@@ -520,23 +471,23 @@ g_base_info_iterate_attributes (GIBaseInfo *info, - gchar **name, - gchar **value) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; - AttributeBlob *next, *after; - -- after = (AttributeBlob *) &base->typelib->data[header->attributes + -+ after = (AttributeBlob *) &rinfo->typelib->data[header->attributes + - header->n_attributes * header->attribute_blob_size]; - - if (iter->data != NULL) - next = (AttributeBlob *) iter->data; - else -- next = find_first_attribute (info); -+ next = find_first_attribute (rinfo); - -- if (next == NULL || next->offset != base->offset || next >= after) -+ if (next == NULL || next->offset != rinfo->offset || next >= after) - return FALSE; - -- *name = (gchar*) g_typelib_get_string (base->typelib, next->name); -- *value = (gchar*) g_typelib_get_string (base->typelib, next->value); -+ *name = (gchar*) g_typelib_get_string (rinfo->typelib, next->name); -+ *value = (gchar*) g_typelib_get_string (rinfo->typelib, next->value); - iter->data = next + 1; - - return TRUE; -@@ -545,13 +496,13 @@ g_base_info_iterate_attributes (GIBaseInfo *info, - GIBaseInfo * - g_base_info_get_container (GIBaseInfo *info) - { -- return info->container; -+ return ((GIRealInfo*)info)->container; - } - - GTypelib * - g_base_info_get_typelib (GIBaseInfo *info) - { -- return info->typelib; -+ return ((GIRealInfo*)info)->typelib; - } - - /* -@@ -571,25 +522,27 @@ gboolean - g_base_info_equal (GIBaseInfo *info1, GIBaseInfo *info2) - { - /* Compare the TypeLib pointers, which are mmapped. */ -- return info1->typelib->data + info1->offset == info2->typelib->data + info2->offset; -+ GIRealInfo *rinfo1 = (GIRealInfo*)info1; -+ GIRealInfo *rinfo2 = (GIRealInfo*)info2; -+ return rinfo1->typelib->data + rinfo1->offset == rinfo2->typelib->data + rinfo2->offset; - } - - /* GIFunctionInfo functions */ - const gchar * - g_function_info_get_symbol (GIFunctionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- FunctionBlob *blob = (FunctionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (base->typelib, blob->symbol); -+ return g_typelib_get_string (rinfo->typelib, blob->symbol); - } - - GIFunctionInfoFlags - g_function_info_get_flags (GIFunctionInfo *info) - { - GIFunctionInfoFlags flags; -- GIBaseInfo *base = (GIBaseInfo *)info; -- FunctionBlob *blob = (FunctionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; - - flags = 0; - -@@ -618,9 +571,9 @@ g_function_info_get_flags (GIFunctionInfo *info) - GIPropertyInfo * - g_function_info_get_property (GIFunctionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- FunctionBlob *blob = (FunctionBlob *)&base->typelib->data[base->offset]; -- GIInterfaceInfo *container = (GIInterfaceInfo *)base->container; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; -+ GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container; - - return g_interface_info_get_property (container, blob->index); - } -@@ -628,20 +581,21 @@ g_function_info_get_property (GIFunctionInfo *info) - GIVFuncInfo * - g_function_info_get_vfunc (GIFunctionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- FunctionBlob *blob = (FunctionBlob *)&base->typelib->data[base->offset]; -- GIInterfaceInfo *container = (GIInterfaceInfo *)base->container; -+ GIRealInfo *rinfo = (GIRealInfo*)info; -+ FunctionBlob *blob = (FunctionBlob *)&rinfo->typelib->data[rinfo->offset]; -+ GIInterfaceInfo *container = (GIInterfaceInfo *)rinfo->container; - - return g_interface_info_get_vfunc (container, blob->index); - } - -- - /* GICallableInfo functions */ - static guint32 - signature_offset (GICallableInfo *info) - { -+ GIRealInfo *rinfo = (GIRealInfo*)info; - int sigoff = -1; -- switch (info->base.type) -+ -+ switch (rinfo->type) - { - case GI_INFO_TYPE_FUNCTION: - sigoff = G_STRUCT_OFFSET (FunctionBlob, signature); -@@ -657,23 +611,32 @@ signature_offset (GICallableInfo *info) - break; - } - if (sigoff >= 0) -- return *(guint32 *)&info->base.typelib->data[info->base.offset + sigoff]; -+ return *(guint32 *)&rinfo->typelib->data[rinfo->offset + sigoff]; - return 0; - } - - GITypeInfo * - g_type_info_new (GIBaseInfo *container, -- GTypelib *typelib, -- guint32 offset) -+ GTypelib *typelib, -+ guint32 offset) - { - SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset]; -- GITypeInfo *type_info; - -- type_info = (GITypeInfo *) g_info_new (GI_INFO_TYPE_TYPE, container, typelib, -- (type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset); -- type_info->is_embedded = FALSE; -+ return (GITypeInfo *) g_info_new (GI_INFO_TYPE_TYPE, container, typelib, -+ (type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset); -+} - -- return type_info; -+static void -+g_type_info_init (GIBaseInfo *info, -+ GIBaseInfo *container, -+ GTypelib *typelib, -+ guint32 offset) -+{ -+ GIRealInfo *rinfo = (GIRealInfo*)container; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&typelib->data[offset]; -+ -+ g_info_init ((GIRealInfo*)info, GI_INFO_TYPE_TYPE, rinfo->repository, container, typelib, -+ (type->flags.reserved == 0 && type->flags.reserved2 == 0) ? offset : type->offset); - } - - /** -@@ -689,12 +652,36 @@ g_type_info_new (GIBaseInfo *container, - GITypeInfo * - g_callable_info_get_return_type (GICallableInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - guint32 offset; - - offset = signature_offset (info); - -- return g_type_info_new (base, base->typelib, offset); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, offset); -+} -+ -+ -+/** -+ * g_callable_info_load_return_type: -+ * @info: a #GICallableInfo -+ * @type: (out caller-allocates): Initialized with return type of @info -+ * -+ * Get information about a return value of callable; this -+ * function is a variant of g_callable_info_get_return_type() designed for stack -+ * allocation. -+ * -+ * The initialized @type must not be referenced after @info is deallocated. -+ */ -+void -+g_callable_info_load_return_type (GICallableInfo *info, -+ GITypeInfo *type) -+{ -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ guint32 offset; -+ -+ offset = signature_offset (info); -+ -+ g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, offset); - } - - /** -@@ -708,8 +695,8 @@ g_callable_info_get_return_type (GICallableInfo *info) - gboolean - g_callable_info_may_return_null (GICallableInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SignatureBlob *blob = (SignatureBlob *)&base->typelib->data[signature_offset (info)]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SignatureBlob *blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)]; - - return blob->may_return_null; - } -@@ -726,8 +713,8 @@ g_callable_info_may_return_null (GICallableInfo *info) - GITransfer - g_callable_info_get_caller_owns (GICallableInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SignatureBlob *blob = (SignatureBlob *)&base->typelib->data[signature_offset (info)]; -+ GIRealInfo *rinfo = (GIRealInfo*) info; -+ SignatureBlob *blob = (SignatureBlob *)&rinfo->typelib->data[signature_offset (info)]; - - if (blob->caller_owns_return_value) - return GI_TRANSFER_EVERYTHING; -@@ -748,12 +735,12 @@ g_callable_info_get_caller_owns (GICallableInfo *info) - gint - g_callable_info_get_n_args (GICallableInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - gint offset; - SignatureBlob *blob; - - offset = signature_offset (info); -- blob = (SignatureBlob *)&base->typelib->data[offset]; -+ blob = (SignatureBlob *)&rinfo->typelib->data[offset]; - - return blob->n_arguments; - } -@@ -769,24 +756,51 @@ g_callable_info_get_n_args (GICallableInfo *info) - */ - GIArgInfo * - g_callable_info_get_arg (GICallableInfo *info, -- gint n) -+ gint n) -+{ -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ gint offset; -+ -+ offset = signature_offset (info); -+ -+ return (GIArgInfo *) g_info_new (GI_INFO_TYPE_ARG, (GIBaseInfo*)info, rinfo->typelib, -+ offset + header->signature_blob_size + n * header->arg_blob_size); -+} -+ -+/** -+ * g_callable_info_load_arg: -+ * @info: a #GICallableInfo -+ * @n: the argument index to fetch -+ * @arg: (out caller-allocates): Initialize with argument number @n -+ * -+ * Get information about a particular argument of this callable; this -+ * function is a variant of g_callable_info_get_arg() designed for stack -+ * allocation. -+ * -+ * The initialized @arg must not be referenced after @info is deallocated. -+ */ -+void -+g_callable_info_load_arg (GICallableInfo *info, -+ gint n, -+ GIArgInfo *arg) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; - gint offset; - - offset = signature_offset (info); - -- return (GIArgInfo *) g_info_new (GI_INFO_TYPE_ARG, base, base->typelib, -- offset + header->signature_blob_size + n * header->arg_blob_size); -+ g_info_init ((GIRealInfo*)arg, GI_INFO_TYPE_ARG, rinfo->repository, (GIBaseInfo*)info, rinfo->typelib, -+ offset + header->signature_blob_size + n * header->arg_blob_size); - } - - /* GIArgInfo function */ - GIDirection - g_arg_info_get_direction (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->in && blob->out) - return GI_DIRECTION_INOUT; -@@ -799,8 +813,8 @@ g_arg_info_get_direction (GIArgInfo *info) - gboolean - g_arg_info_is_return_value (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->return_value; - } -@@ -808,8 +822,8 @@ g_arg_info_is_return_value (GIArgInfo *info) - gboolean - g_arg_info_is_dipper (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->dipper; - } -@@ -817,8 +831,8 @@ g_arg_info_is_dipper (GIArgInfo *info) - gboolean - g_arg_info_is_optional (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->optional; - } -@@ -826,8 +840,8 @@ g_arg_info_is_optional (GIArgInfo *info) - gboolean - g_arg_info_may_be_null (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->allow_none; - } -@@ -835,8 +849,8 @@ g_arg_info_may_be_null (GIArgInfo *info) - GITransfer - g_arg_info_get_ownership_transfer (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->transfer_ownership) - return GI_TRANSFER_EVERYTHING; -@@ -849,8 +863,8 @@ g_arg_info_get_ownership_transfer (GIArgInfo *info) - GIScopeType - g_arg_info_get_scope (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->scope; - } -@@ -858,8 +872,8 @@ g_arg_info_get_scope (GIArgInfo *info) - gint - g_arg_info_get_closure (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->closure; - } -@@ -867,32 +881,57 @@ g_arg_info_get_closure (GIArgInfo *info) - gint - g_arg_info_get_destroy (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ArgBlob *blob = (ArgBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ArgBlob *blob = (ArgBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->destroy; - } - -+/** -+ * g_arg_info_get_type: -+ * @info: A #GIArgInfo -+ * -+ * Returns: (transfer full): Information about the type of argument @info -+ */ - GITypeInfo * - g_arg_info_get_type (GIArgInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - -- return g_type_info_new (base, base->typelib, base->offset + G_STRUCT_OFFSET (ArgBlob, arg_type)); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type)); -+} -+ -+/** -+ * g_arg_info_load_type: -+ * @info: A #GIArgInfo -+ * @type: (out caller-allocates): Initialized with information about type of @info -+ * -+ * Get information about a the type of given argument @info; this -+ * function is a variant of g_arg_info_get_type() designed for stack -+ * allocation. -+ * -+ * The initialized @type must not be referenced after @info is deallocated. -+ */ -+void -+g_arg_info_load_type (GIArgInfo *info, -+ GITypeInfo *type) -+{ -+ GIRealInfo *rinfo = (GIRealInfo*) info; -+ g_type_info_init (type, (GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (ArgBlob, arg_type)); - } - - /* GITypeInfo functions */ - gboolean - g_type_info_is_pointer (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (type->flags.reserved == 0 && type->flags.reserved2 == 0) - return type->flags.pointer; - else - { -- InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&base->typelib->data[base->offset]; -+ InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - return iface->pointer; - } -@@ -901,16 +940,16 @@ g_type_info_is_pointer (GITypeInfo *info) - GITypeTag - g_type_info_get_tag (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - -- if (info->is_embedded) -+ if (rinfo->type_is_embedded) - return GI_TYPE_TAG_INTERFACE; - else if (type->flags.reserved == 0 && type->flags.reserved2 == 0) - return type->flags.tag; - else - { -- InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&base->typelib->data[base->offset]; -+ InterfaceTypeBlob *iface = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - return iface->tag; - } -@@ -918,49 +957,58 @@ g_type_info_get_tag (GITypeInfo *info) - - GITypeInfo * - g_type_info_get_param_type (GITypeInfo *info, -- gint n) -+ gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ParamTypeBlob *param = (ParamTypeBlob *)&base->typelib->data[base->offset]; -+ ParamTypeBlob *param = (ParamTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - switch (param->tag) -- { -- case GI_TYPE_TAG_ARRAY: -- case GI_TYPE_TAG_GLIST: -- case GI_TYPE_TAG_GSLIST: -- case GI_TYPE_TAG_GHASH: -- return g_type_info_new (base, base->typelib, -- base->offset + sizeof (ParamTypeBlob) -- + sizeof (SimpleTypeBlob) * n); -- break; -- -- default: ; -- } -+ { -+ case GI_TYPE_TAG_ARRAY: -+ case GI_TYPE_TAG_GLIST: -+ case GI_TYPE_TAG_GSLIST: -+ case GI_TYPE_TAG_GHASH: -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, -+ rinfo->offset + sizeof (ParamTypeBlob) -+ + sizeof (SimpleTypeBlob) * n); -+ break; -+ default: -+ break; -+ } - } -- -+ - return NULL; - } - -+/** -+ * g_type_info_get_interface: -+ * @info: A #GITypeInfo -+ * -+ * For types which have #GI_TYPE_TAG_INTERFACE such as GObjects and boxed values, -+ * this function returns full information about the referenced type. You can then -+ * inspect the type of the returned #GIBaseInfo to further query whether it is -+ * a concrete GObject, a GInterface, a structure, etc. using g_base_info_get_type(). -+ */ - GIBaseInfo * - g_type_info_get_interface (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - -- if (info->is_embedded) -- return (GIBaseInfo *) g_info_new (type->offset, base, base->typelib, -- base->offset); -+ if (rinfo->type_is_embedded) -+ return (GIBaseInfo *) g_info_new (type->offset, (GIBaseInfo*)info, rinfo->typelib, -+ rinfo->offset); - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&base->typelib->data[base->offset]; -+ InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_INTERFACE) -- return g_info_from_entry (base->repository, base->typelib, blob->interface); -+ return g_info_from_entry (rinfo->repository, rinfo->typelib, blob->interface); - } - - return NULL; -@@ -969,12 +1017,12 @@ g_type_info_get_interface (GITypeInfo *info) - gint - g_type_info_get_array_length (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ArrayTypeBlob *blob = (ArrayTypeBlob *)&base->typelib->data[base->offset]; -+ ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_ARRAY) - { -@@ -989,12 +1037,12 @@ g_type_info_get_array_length (GITypeInfo *info) - gint - g_type_info_get_array_fixed_size (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ArrayTypeBlob *blob = (ArrayTypeBlob *)&base->typelib->data[base->offset]; -+ ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_ARRAY) - { -@@ -1009,12 +1057,12 @@ g_type_info_get_array_fixed_size (GITypeInfo *info) - gboolean - g_type_info_is_zero_terminated (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ArrayTypeBlob *blob = (ArrayTypeBlob *)&base->typelib->data[base->offset]; -+ ArrayTypeBlob *blob = (ArrayTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_ARRAY) - return blob->zero_terminated; -@@ -1026,12 +1074,12 @@ g_type_info_is_zero_terminated (GITypeInfo *info) - gint - g_type_info_get_n_error_domains (GITypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ErrorTypeBlob *blob = (ErrorTypeBlob *)&base->typelib->data[base->offset]; -+ ErrorTypeBlob *blob = (ErrorTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_ERROR) - return blob->n_domains; -@@ -1042,19 +1090,19 @@ g_type_info_get_n_error_domains (GITypeInfo *info) - - GIErrorDomainInfo * - g_type_info_get_error_domain (GITypeInfo *info, -- gint n) -+ gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) - { -- ErrorTypeBlob *blob = (ErrorTypeBlob *)&base->typelib->data[base->offset]; -+ ErrorTypeBlob *blob = (ErrorTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->tag == GI_TYPE_TAG_ERROR) -- return (GIErrorDomainInfo *) g_info_from_entry (base->repository, -- base->typelib, -- blob->domains[n]); -+ return (GIErrorDomainInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, -+ blob->domains[n]); - } - - return NULL; -@@ -1065,20 +1113,20 @@ g_type_info_get_error_domain (GITypeInfo *info, - const gchar * - g_error_domain_info_get_quark (GIErrorDomainInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ErrorDomainBlob *blob = (ErrorDomainBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ErrorDomainBlob *blob = (ErrorDomainBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (base->typelib, blob->get_quark); -+ return g_typelib_get_string (rinfo->typelib, blob->get_quark); - } - - GIInterfaceInfo * - g_error_domain_info_get_codes (GIErrorDomainInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ErrorDomainBlob *blob = (ErrorDomainBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ErrorDomainBlob *blob = (ErrorDomainBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return (GIInterfaceInfo *) g_info_from_entry (base->repository, -- base->typelib, blob->error_codes); -+ return (GIInterfaceInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->error_codes); - } - - -@@ -1086,8 +1134,8 @@ g_error_domain_info_get_codes (GIErrorDomainInfo *info) - glong - g_value_info_get_value (GIValueInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ValueBlob *blob = (ValueBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ValueBlob *blob = (ValueBlob *)&rinfo->typelib->data[rinfo->offset]; - - return (glong)blob->value; - } -@@ -1098,8 +1146,8 @@ g_field_info_get_flags (GIFieldInfo *info) - { - GIFieldInfoFlags flags; - -- GIBaseInfo *base = (GIBaseInfo *)info; -- FieldBlob *blob = (FieldBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; - - flags = 0; - -@@ -1115,8 +1163,8 @@ g_field_info_get_flags (GIFieldInfo *info) - gint - g_field_info_get_size (GIFieldInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- FieldBlob *blob = (FieldBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->bits; - } -@@ -1124,8 +1172,8 @@ g_field_info_get_size (GIFieldInfo *info) - gint - g_field_info_get_offset (GIFieldInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- FieldBlob *blob = (FieldBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->struct_offset; - } -@@ -1133,33 +1181,33 @@ g_field_info_get_offset (GIFieldInfo *info) - GITypeInfo * - g_field_info_get_type (GIFieldInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- FieldBlob *blob = (FieldBlob *)&base->typelib->data[base->offset]; -- GITypeInfo *type_info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ FieldBlob *blob = (FieldBlob *)&rinfo->typelib->data[rinfo->offset]; -+ GIRealInfo *type_info; - - if (blob->has_embedded_type) - { -- type_info = (GITypeInfo *) g_info_new (GI_INFO_TYPE_TYPE, -- (GIBaseInfo*)info, base->typelib, -- base->offset + header->field_blob_size); -- type_info->is_embedded = TRUE; -+ type_info = (GIRealInfo *) g_info_new (GI_INFO_TYPE_TYPE, -+ (GIBaseInfo*)info, rinfo->typelib, -+ rinfo->offset + header->field_blob_size); -+ type_info->type_is_embedded = TRUE; - } - else -- return g_type_info_new (base, base->typelib, base->offset + G_STRUCT_OFFSET (FieldBlob, type)); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (FieldBlob, type)); - -- return type_info; -+ return (GIBaseInfo*)type_info; - } - - /* GIRegisteredTypeInfo functions */ - const gchar * - g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->gtype_name) -- return g_typelib_get_string (base->typelib, blob->gtype_name); -+ return g_typelib_get_string (rinfo->typelib, blob->gtype_name); - - return NULL; - } -@@ -1167,11 +1215,11 @@ g_registered_type_info_get_type_name (GIRegisteredTypeInfo *info) - const gchar * - g_registered_type_info_get_type_init (GIRegisteredTypeInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ RegisteredTypeBlob *blob = (RegisteredTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->gtype_init) -- return g_typelib_get_string (base->typelib, blob->gtype_init); -+ return g_typelib_get_string (rinfo->typelib, blob->gtype_init); - - return NULL; - } -@@ -1181,6 +1229,7 @@ g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info) - { - const char *type_init; - GType (* get_type_func) (void); -+ GIRealInfo *rinfo = (GIRealInfo*)info; - - type_init = g_registered_type_info_get_type_init (info); - -@@ -1190,7 +1239,7 @@ g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info) - return G_TYPE_OBJECT; - - get_type_func = NULL; -- if (!g_typelib_symbol (((GIBaseInfo*)info)->typelib, -+ if (!g_typelib_symbol (rinfo->typelib, - type_init, - (void**) &get_type_func)) - return G_TYPE_NONE; -@@ -1202,8 +1251,8 @@ g_registered_type_info_get_g_type (GIRegisteredTypeInfo *info) - gint - g_struct_info_get_n_fields (GIStructInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_fields; - } -@@ -1212,15 +1261,15 @@ static gint32 - g_struct_get_field_offset (GIStructInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- guint32 offset = base->offset + header->struct_blob_size; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ guint32 offset = rinfo->offset + header->struct_blob_size; - gint i; - FieldBlob *field_blob; - - for (i = 0; i < n; i++) - { -- field_blob = (FieldBlob *)&base->typelib->data[offset]; -+ field_blob = (FieldBlob *)&rinfo->typelib->data[offset]; - offset += header->field_blob_size; - if (field_blob->has_embedded_type) - offset += header->callback_blob_size; -@@ -1231,19 +1280,19 @@ g_struct_get_field_offset (GIStructInfo *info, - - GIFieldInfo * - g_struct_info_get_field (GIStructInfo *info, -- gint n) -+ gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - -- return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, base, base->typelib, -- g_struct_get_field_offset (info, n)); -+ return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, -+ g_struct_get_field_offset (info, n)); - } - - gint - g_struct_info_get_n_methods (GIStructInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_methods; - } -@@ -1252,35 +1301,35 @@ GIFunctionInfo * - g_struct_info_get_method (GIStructInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; -+ Header *header = (Header *)rinfo->typelib->data; - gint offset; - -- offset = g_struct_get_field_offset (info, blob->n_fields) -- + n * header->function_blob_size; -- return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -- base->typelib, offset); -+ offset = g_struct_get_field_offset (info, blob->n_fields) + n * header->function_blob_size; -+ return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - static GIFunctionInfo * - find_method (GIBaseInfo *base, -- guint32 offset, -- gint n_methods, -- const gchar *name) -+ guint32 offset, -+ gint n_methods, -+ const gchar *name) - { - /* FIXME hash */ -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo*)base; -+ Header *header = (Header *)rinfo->typelib->data; - gint i; - - for (i = 0; i < n_methods; i++) - { -- FunctionBlob *fblob = (FunctionBlob *)&base->typelib->data[offset]; -- const gchar *fname = (const gchar *)&base->typelib->data[fblob->name]; -+ FunctionBlob *fblob = (FunctionBlob *)&rinfo->typelib->data[offset]; -+ const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name]; - - if (strcmp (name, fname) == 0) -- return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -- base->typelib, offset); -+ return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -+ rinfo->typelib, offset); - - offset += header->function_blob_size; - } -@@ -1293,21 +1342,21 @@ g_struct_info_find_method (GIStructInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->struct_blob_size -+ offset = rinfo->offset + header->struct_blob_size - + blob->n_fields * header->field_blob_size; - -- return find_method (base, offset, blob->n_methods, name); -+ return find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); - } - - gsize - g_struct_info_get_size (GIStructInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->size; - } -@@ -1315,8 +1364,8 @@ g_struct_info_get_size (GIStructInfo *info) - gsize - g_struct_info_get_alignment (GIStructInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->alignment; - } -@@ -1334,8 +1383,8 @@ g_struct_info_get_alignment (GIStructInfo *info) - gboolean - g_struct_info_is_gtype_struct (GIStructInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- StructBlob *blob = (StructBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ StructBlob *blob = (StructBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->is_gtype_struct; - } -@@ -1343,8 +1392,8 @@ g_struct_info_is_gtype_struct (GIStructInfo *info) - gint - g_enum_info_get_n_values (GIEnumInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- EnumBlob *blob = (EnumBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ EnumBlob *blob = (EnumBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_values; - } -@@ -1353,13 +1402,13 @@ GIValueInfo * - g_enum_info_get_value (GIEnumInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; - gint offset; - -- offset = base->offset + header->enum_blob_size -+ offset = rinfo->offset + header->enum_blob_size - + n * header->value_blob_size; -- return (GIValueInfo *) g_info_new (GI_INFO_TYPE_VALUE, base, base->typelib, offset); -+ return (GIValueInfo *) g_info_new (GI_INFO_TYPE_VALUE, (GIBaseInfo*)info, rinfo->typelib, offset); - } - - /** -@@ -1378,8 +1427,8 @@ g_enum_info_get_value (GIEnumInfo *info, - GITypeTag - g_enum_info_get_storage_type (GIEnumInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- EnumBlob *blob = (EnumBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ EnumBlob *blob = (EnumBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->storage_type; - } -@@ -1388,12 +1437,12 @@ g_enum_info_get_storage_type (GIEnumInfo *info) - GIObjectInfo * - g_object_info_get_parent (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->parent) -- return (GIObjectInfo *) g_info_from_entry (base->repository, -- base->typelib, blob->parent); -+ return (GIObjectInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->parent); - else - return NULL; - } -@@ -1401,34 +1450,34 @@ g_object_info_get_parent (GIObjectInfo *info) - gboolean - g_object_info_get_abstract (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - return blob->abstract != 0; - } - - const gchar * - g_object_info_get_type_name (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (base->typelib, blob->gtype_name); -+ return g_typelib_get_string (rinfo->typelib, blob->gtype_name); - } - - const gchar * - g_object_info_get_type_init (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_typelib_get_string (base->typelib, blob->gtype_init); -+ return g_typelib_get_string (rinfo->typelib, blob->gtype_init); - } - - gint - g_object_info_get_n_interfaces (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_interfaces; - } -@@ -1437,18 +1486,18 @@ GIInterfaceInfo * - g_object_info_get_interface (GIObjectInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return (GIInterfaceInfo *) g_info_from_entry (base->repository, -- base->typelib, blob->interfaces[n]); -+ return (GIInterfaceInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->interfaces[n]); - } - - gint - g_object_info_get_n_fields (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_fields; - } -@@ -1458,22 +1507,22 @@ g_object_info_get_field (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + n * header->field_blob_size; - -- return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, base, base->typelib, offset); -+ return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, offset); - } - - gint - g_object_info_get_n_properties (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_properties; - } -@@ -1483,24 +1532,24 @@ g_object_info_get_property (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + n * header->property_blob_size; - -- return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, base, -- base->typelib, offset); -+ return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - gint - g_object_info_get_n_methods (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_methods; - } -@@ -1510,18 +1559,18 @@ g_object_info_get_method (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + blob->n_properties * header->property_blob_size - + n * header->function_blob_size; - -- return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -- base->typelib, offset); -+ return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - GIFunctionInfo * -@@ -1529,23 +1578,23 @@ g_object_info_find_method (GIObjectInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size + - + blob->n_properties * header->property_blob_size; - -- return find_method (base, offset, blob->n_methods, name); -+ return find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); - } - - gint - g_object_info_get_n_signals (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_signals; - } -@@ -1555,26 +1604,26 @@ g_object_info_get_signal (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size - + n * header->signal_blob_size; - -- return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, base, -- base->typelib, offset); -+ return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - gint - g_object_info_get_n_vfuncs (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_vfuncs; - } -@@ -1584,11 +1633,11 @@ g_object_info_get_vfunc (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + blob->n_properties * header->property_blob_size -@@ -1596,28 +1645,28 @@ g_object_info_get_vfunc (GIObjectInfo *info, - + blob->n_signals * header->signal_blob_size - + n * header->vfunc_blob_size; - -- return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, base, -- base->typelib, offset); -+ return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - static GIVFuncInfo * --find_vfunc (GIBaseInfo *base, -+find_vfunc (GIRealInfo *rinfo, - guint32 offset, - gint n_vfuncs, - const gchar *name) - { - /* FIXME hash */ -- Header *header = (Header *)base->typelib->data; -+ Header *header = (Header *)rinfo->typelib->data; - gint i; - - for (i = 0; i < n_vfuncs; i++) - { -- VFuncBlob *fblob = (VFuncBlob *)&base->typelib->data[offset]; -- const gchar *fname = (const gchar *)&base->typelib->data[fblob->name]; -+ VFuncBlob *fblob = (VFuncBlob *)&rinfo->typelib->data[offset]; -+ const gchar *fname = (const gchar *)&rinfo->typelib->data[fblob->name]; - - if (strcmp (name, fname) == 0) -- return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, base, -- base->typelib, offset); -+ return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*) rinfo, -+ rinfo->typelib, offset); - - offset += header->vfunc_blob_size; - } -@@ -1643,25 +1692,25 @@ g_object_info_find_vfunc (GIObjectInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size - + blob->n_signals * header->signal_blob_size; - -- return find_vfunc (base, offset, blob->n_vfuncs, name); -+ return find_vfunc (rinfo, offset, blob->n_vfuncs, name); - } - - gint - g_object_info_get_n_constants (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_constants; - } -@@ -1671,11 +1720,11 @@ g_object_info_get_constant (GIObjectInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->object_blob_size -+ offset = rinfo->offset + header->object_blob_size - + (blob->n_interfaces + blob->n_interfaces % 2) * 2 - + blob->n_fields * header->field_blob_size - + blob->n_properties * header->property_blob_size -@@ -1684,8 +1733,8 @@ g_object_info_get_constant (GIObjectInfo *info, - + blob->n_vfuncs * header->vfunc_blob_size - + n * header->constant_blob_size; - -- return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, base, -- base->typelib, offset); -+ return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - /** -@@ -1700,12 +1749,12 @@ g_object_info_get_constant (GIObjectInfo *info, - GIStructInfo * - g_object_info_get_class_struct (GIObjectInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ObjectBlob *blob = (ObjectBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ObjectBlob *blob = (ObjectBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->gtype_struct) -- return (GIStructInfo *) g_info_from_entry (base->repository, -- base->typelib, blob->gtype_struct); -+ return (GIStructInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->gtype_struct); - else - return NULL; - } -@@ -1714,8 +1763,8 @@ g_object_info_get_class_struct (GIObjectInfo *info) - gint - g_interface_info_get_n_prerequisites (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_prerequisites; - } -@@ -1724,19 +1773,19 @@ GIBaseInfo * - g_interface_info_get_prerequisite (GIInterfaceInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- return g_info_from_entry (base->repository, -- base->typelib, blob->prerequisites[n]); -+ return g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->prerequisites[n]); - } - - - gint - g_interface_info_get_n_properties (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_properties; - } -@@ -1746,23 +1795,23 @@ g_interface_info_get_property (GIInterfaceInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + n * header->property_blob_size; - -- return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, base, -- base->typelib, offset); -+ return (GIPropertyInfo *) g_info_new (GI_INFO_TYPE_PROPERTY, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - gint - g_interface_info_get_n_methods (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_methods; - } -@@ -1772,17 +1821,17 @@ g_interface_info_get_method (GIInterfaceInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + blob->n_properties * header->property_blob_size - + n * header->function_blob_size; - -- return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -- base->typelib, offset); -+ return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - GIFunctionInfo * -@@ -1790,22 +1839,22 @@ g_interface_info_find_method (GIInterfaceInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + blob->n_properties * header->property_blob_size; - -- return find_method (base, offset, blob->n_methods, name); -+ return find_method ((GIBaseInfo*)info, offset, blob->n_methods, name); - } - - gint - g_interface_info_get_n_signals (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_signals; - } -@@ -1815,25 +1864,25 @@ g_interface_info_get_signal (GIInterfaceInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size - + n * header->signal_blob_size; - -- return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, base, -- base->typelib, offset); -+ return (GISignalInfo *) g_info_new (GI_INFO_TYPE_SIGNAL, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - gint - g_interface_info_get_n_vfuncs (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_vfuncs; - } -@@ -1843,19 +1892,19 @@ g_interface_info_get_vfunc (GIInterfaceInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size - + blob->n_signals * header->signal_blob_size - + n * header->vfunc_blob_size; - -- return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, base, -- base->typelib, offset); -+ return (GIVFuncInfo *) g_info_new (GI_INFO_TYPE_VFUNC, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - /** -@@ -1873,24 +1922,24 @@ g_interface_info_find_vfunc (GIInterfaceInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + blob->n_prerequisites % 2) * 2 - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size - + blob->n_signals * header->signal_blob_size; - -- return find_vfunc (base, offset, blob->n_vfuncs, name); -+ return find_vfunc (rinfo, offset, blob->n_vfuncs, name); - } - - gint - g_interface_info_get_n_constants (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_constants; - } -@@ -1900,11 +1949,11 @@ g_interface_info_get_constant (GIInterfaceInfo *info, - gint n) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->interface_blob_size -+ offset = rinfo->offset + header->interface_blob_size - + (blob->n_prerequisites + (blob->n_prerequisites % 2)) * 2 - + blob->n_properties * header->property_blob_size - + blob->n_methods * header->function_blob_size -@@ -1912,8 +1961,8 @@ g_interface_info_get_constant (GIInterfaceInfo *info, - + blob->n_vfuncs * header->vfunc_blob_size - + n * header->constant_blob_size; - -- return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, base, -- base->typelib, offset); -+ return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - /** -@@ -1927,12 +1976,12 @@ g_interface_info_get_constant (GIInterfaceInfo *info, - GIStructInfo * - g_interface_info_get_iface_struct (GIInterfaceInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- InterfaceBlob *blob = (InterfaceBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ InterfaceBlob *blob = (InterfaceBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->gtype_struct) -- return (GIStructInfo *) g_info_from_entry (base->repository, -- base->typelib, blob->gtype_struct); -+ return (GIStructInfo *) g_info_from_entry (rinfo->repository, -+ rinfo->typelib, blob->gtype_struct); - else - return NULL; - } -@@ -1942,8 +1991,8 @@ GParamFlags - g_property_info_get_flags (GIPropertyInfo *info) - { - GParamFlags flags; -- GIBaseInfo *base = (GIBaseInfo *)info; -- PropertyBlob *blob = (PropertyBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ PropertyBlob *blob = (PropertyBlob *)&rinfo->typelib->data[rinfo->offset]; - - flags = 0; - -@@ -1965,9 +2014,9 @@ g_property_info_get_flags (GIPropertyInfo *info) - GITypeInfo * - g_property_info_get_type (GIPropertyInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - -- return g_type_info_new (base, base->typelib, base->offset + G_STRUCT_OFFSET (PropertyBlob, type)); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + G_STRUCT_OFFSET (PropertyBlob, type)); - } - - -@@ -1977,8 +2026,8 @@ g_signal_info_get_flags (GISignalInfo *info) - { - GSignalFlags flags; - -- GIBaseInfo *base = (GIBaseInfo *)info; -- SignalBlob *blob = (SignalBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; - - flags = 0; - -@@ -2009,11 +2058,11 @@ g_signal_info_get_flags (GISignalInfo *info) - GIVFuncInfo * - g_signal_info_get_class_closure (GISignalInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SignalBlob *blob = (SignalBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->has_class_closure) -- return g_interface_info_get_vfunc ((GIInterfaceInfo *)base->container, blob->class_closure); -+ return g_interface_info_get_vfunc ((GIInterfaceInfo *)rinfo->container, blob->class_closure); - - return NULL; - } -@@ -2021,8 +2070,8 @@ g_signal_info_get_class_closure (GISignalInfo *info) - gboolean - g_signal_info_true_stops_emit (GISignalInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- SignalBlob *blob = (SignalBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ SignalBlob *blob = (SignalBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->true_stops_emit; - } -@@ -2033,8 +2082,8 @@ g_vfunc_info_get_flags (GIVFuncInfo *info) - { - GIVFuncInfoFlags flags; - -- GIBaseInfo *base = (GIBaseInfo *)info; -- VFuncBlob *blob = (VFuncBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; - - flags = 0; - -@@ -2053,8 +2102,8 @@ g_vfunc_info_get_flags (GIVFuncInfo *info) - gint - g_vfunc_info_get_offset (GIVFuncInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- VFuncBlob *blob = (VFuncBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->struct_offset; - } -@@ -2062,11 +2111,11 @@ g_vfunc_info_get_offset (GIVFuncInfo *info) - GISignalInfo * - g_vfunc_info_get_signal (GIVFuncInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- VFuncBlob *blob = (VFuncBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->class_closure) -- return g_interface_info_get_signal ((GIInterfaceInfo *)base->container, blob->signal); -+ return g_interface_info_get_signal ((GIInterfaceInfo *)rinfo->container, blob->signal); - - return NULL; - } -@@ -2085,9 +2134,9 @@ g_vfunc_info_get_signal (GIVFuncInfo *info) - GIFunctionInfo * - g_vfunc_info_get_invoker (GIVFuncInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- VFuncBlob *blob = (VFuncBlob *)&base->typelib->data[base->offset]; -- GIBaseInfo *container = base->container; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ VFuncBlob *blob = (VFuncBlob *)&rinfo->typelib->data[rinfo->offset]; -+ GIBaseInfo *container = rinfo->container; - GIInfoType parent_type; - - /* 1023 = 0x3ff is the maximum of the 10 bits for invoker index */ -@@ -2107,80 +2156,80 @@ g_vfunc_info_get_invoker (GIVFuncInfo *info) - GITypeInfo * - g_constant_info_get_type (GIConstantInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - -- return g_type_info_new (base, base->typelib, base->offset + 8); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 8); - } - - gint - g_constant_info_get_value (GIConstantInfo *info, - GArgument *value) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- ConstantBlob *blob = (ConstantBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ ConstantBlob *blob = (ConstantBlob *)&rinfo->typelib->data[rinfo->offset]; - - /* FIXME non-basic types ? */ - if (blob->type.flags.reserved == 0 && blob->type.flags.reserved2 == 0) - { - if (blob->type.flags.pointer) -- value->v_pointer = g_memdup (&base->typelib->data[blob->offset], blob->size); -+ value->v_pointer = g_memdup (&rinfo->typelib->data[blob->offset], blob->size); - else - { - switch (blob->type.flags.tag) - { - case GI_TYPE_TAG_BOOLEAN: -- value->v_boolean = *(gboolean*)&base->typelib->data[blob->offset]; -+ value->v_boolean = *(gboolean*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT8: -- value->v_int8 = *(gint8*)&base->typelib->data[blob->offset]; -+ value->v_int8 = *(gint8*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT8: -- value->v_uint8 = *(guint8*)&base->typelib->data[blob->offset]; -+ value->v_uint8 = *(guint8*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT16: -- value->v_int16 = *(gint16*)&base->typelib->data[blob->offset]; -+ value->v_int16 = *(gint16*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT16: -- value->v_uint16 = *(guint16*)&base->typelib->data[blob->offset]; -+ value->v_uint16 = *(guint16*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT32: -- value->v_int32 = *(gint32*)&base->typelib->data[blob->offset]; -+ value->v_int32 = *(gint32*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT32: -- value->v_uint32 = *(guint32*)&base->typelib->data[blob->offset]; -+ value->v_uint32 = *(guint32*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT64: -- value->v_int64 = *(gint64*)&base->typelib->data[blob->offset]; -+ value->v_int64 = *(gint64*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT64: -- value->v_uint64 = *(guint64*)&base->typelib->data[blob->offset]; -+ value->v_uint64 = *(guint64*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_FLOAT: -- value->v_float = *(gfloat*)&base->typelib->data[blob->offset]; -+ value->v_float = *(gfloat*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_DOUBLE: -- value->v_double = *(gdouble*)&base->typelib->data[blob->offset]; -+ value->v_double = *(gdouble*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_TIME_T: -- value->v_long = *(long*)&base->typelib->data[blob->offset]; -+ value->v_long = *(long*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_SHORT: -- value->v_short = *(gshort*)&base->typelib->data[blob->offset]; -+ value->v_short = *(gshort*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_USHORT: -- value->v_ushort = *(gushort*)&base->typelib->data[blob->offset]; -+ value->v_ushort = *(gushort*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_INT: -- value->v_int = *(gint*)&base->typelib->data[blob->offset]; -+ value->v_int = *(gint*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_UINT: -- value->v_uint = *(guint*)&base->typelib->data[blob->offset]; -+ value->v_uint = *(guint*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_LONG: -- value->v_long = *(glong*)&base->typelib->data[blob->offset]; -+ value->v_long = *(glong*)&rinfo->typelib->data[blob->offset]; - break; - case GI_TYPE_TAG_ULONG: -- value->v_ulong = *(gulong*)&base->typelib->data[blob->offset]; -+ value->v_ulong = *(gulong*)&rinfo->typelib->data[blob->offset]; - break; - } - } -@@ -2193,8 +2242,8 @@ g_constant_info_get_value (GIConstantInfo *info, - gint - g_union_info_get_n_fields (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_fields; - } -@@ -2203,19 +2252,19 @@ GIFieldInfo * - g_union_info_get_field (GIUnionInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; - -- return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, base, base->typelib, -- base->offset + header->union_blob_size + -+ return (GIFieldInfo *) g_info_new (GI_INFO_TYPE_FIELD, (GIBaseInfo*)info, rinfo->typelib, -+ rinfo->offset + header->union_blob_size + - n * header->field_blob_size); - } - - gint - g_union_info_get_n_methods (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->n_functions; - } -@@ -2224,23 +2273,23 @@ GIFunctionInfo * - g_union_info_get_method (GIUnionInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -- Header *header = (Header *)base->typelib->data; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; -+ Header *header = (Header *)rinfo->typelib->data; - gint offset; - -- offset = base->offset + header->union_blob_size -+ offset = rinfo->offset + header->union_blob_size - + blob->n_fields * header->field_blob_size - + n * header->function_blob_size; -- return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, base, -- base->typelib, offset); -+ return (GIFunctionInfo *) g_info_new (GI_INFO_TYPE_FUNCTION, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - gboolean - g_union_info_is_discriminated (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->discriminated; - } -@@ -2248,8 +2297,8 @@ g_union_info_is_discriminated (GIUnionInfo *info) - gint - g_union_info_get_discriminator_offset (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->discriminator_offset; - } -@@ -2257,30 +2306,30 @@ g_union_info_get_discriminator_offset (GIUnionInfo *info) - GITypeInfo * - g_union_info_get_discriminator_type (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -+ GIRealInfo *rinfo = (GIRealInfo *)info; - -- return g_type_info_new (base, base->typelib, base->offset + 24); -+ return g_type_info_new ((GIBaseInfo*)info, rinfo->typelib, rinfo->offset + 24); - } - - GIConstantInfo * - g_union_info_get_discriminator (GIUnionInfo *info, - gint n) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - if (blob->discriminated) - { -- Header *header = (Header *)base->typelib->data; -+ Header *header = (Header *)rinfo->typelib->data; - gint offset; - -- offset = base->offset + header->union_blob_size -+ offset = rinfo->offset + header->union_blob_size - + blob->n_fields * header->field_blob_size - + blob->n_functions * header->function_blob_size - + n * header->constant_blob_size; - -- return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, base, -- base->typelib, offset); -+ return (GIConstantInfo *) g_info_new (GI_INFO_TYPE_CONSTANT, (GIBaseInfo*)info, -+ rinfo->typelib, offset); - } - - return NULL; -@@ -2291,21 +2340,21 @@ g_union_info_find_method (GIUnionInfo *info, - const gchar *name) - { - gint offset; -- GIBaseInfo *base = (GIBaseInfo *)info; -- Header *header = (Header *)base->typelib->data; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ Header *header = (Header *)rinfo->typelib->data; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - -- offset = base->offset + header->union_blob_size -+ offset = rinfo->offset + header->union_blob_size - + blob->n_fields * header->field_blob_size; - -- return find_method (base, offset, blob->n_functions, name); -+ return find_method ((GIBaseInfo*)info, offset, blob->n_functions, name); - } - - gsize - g_union_info_get_size (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->size; - } -@@ -2313,8 +2362,8 @@ g_union_info_get_size (GIUnionInfo *info) - gsize - g_union_info_get_alignment (GIUnionInfo *info) - { -- GIBaseInfo *base = (GIBaseInfo *)info; -- UnionBlob *blob = (UnionBlob *)&base->typelib->data[base->offset]; -+ GIRealInfo *rinfo = (GIRealInfo *)info; -+ UnionBlob *blob = (UnionBlob *)&rinfo->typelib->data[rinfo->offset]; - - return blob->alignment; - } -diff --git a/girepository/girepository.h b/girepository/girepository.h -index c30418a..93cf126 100644 ---- girepository/girepository.h -+++ girepository/girepository.h -@@ -27,37 +27,55 @@ - - G_BEGIN_DECLS - --#define G_TYPE_IREPOSITORY (g_irepository_get_type ()) --#define G_IREPOSITORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_IREPOSITORY, GIRepository)) -+#define G_TYPE_IREPOSITORY (g_irepository_get_type ()) -+#define G_IREPOSITORY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_IREPOSITORY, GIRepository)) -+#define G_IREPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_IREPOSITORY, GIRepositoryClass)) -+#define G_IS_IREPOSITORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_IREPOSITORY)) -+#define G_IS_IREPOSITORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_TYPE_IREPOSITORY)) -+#define G_IREPOSITORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_IREPOSITORY, GIRepositoryClass)) - - typedef struct _GIRepository GIRepository; - typedef struct _GIRepositoryClass GIRepositoryClass; - typedef struct _GIRepositoryPrivate GIRepositoryPrivate; --typedef struct _GIBaseInfo GIBaseInfo; --typedef struct _GICallableInfo GICallableInfo; --typedef struct _GIFunctionInfo GIFunctionInfo; --typedef struct _GICallbackInfo GICallbackInfo; --typedef struct _GIRegisteredTypeInfo GIRegisteredTypeInfo; --typedef struct _GIStructInfo GIStructInfo; --typedef struct _GIUnionInfo GIUnionInfo; --typedef struct _GIEnumInfo GIEnumInfo; --typedef struct _GIObjectInfo GIObjectInfo; --typedef struct _GIInterfaceInfo GIInterfaceInfo; --typedef struct _GIConstantInfo GIConstantInfo; --typedef struct _GIValueInfo GIValueInfo; --typedef struct _GISignalInfo GISignalInfo; --typedef struct _GIVFuncInfo GIVFuncInfo; --typedef struct _GIPropertyInfo GIPropertyInfo; --typedef struct _GIFieldInfo GIFieldInfo; --typedef struct _GIArgInfo GIArgInfo; --typedef struct _GITypeInfo GITypeInfo; --typedef struct _GIErrorDomainInfo GIErrorDomainInfo; -+ -+typedef struct _GIBaseInfoStub GIBaseInfo; -+ -+struct _GIBaseInfoStub { -+ gint32 dummy1; -+ gint32 dummy2; -+ gpointer dummy3; -+ gpointer dummy4; -+ gpointer dummy5; -+ guint32 dummy6; -+ guint32 dummy7; -+ gpointer padding[4]; -+}; -+ -+typedef GIBaseInfo GICallableInfo; -+typedef GIBaseInfo GIFunctionInfo; -+typedef GIBaseInfo GICallbackInfo; -+typedef GIBaseInfo GIRegisteredTypeInfo; -+typedef GIBaseInfo GIStructInfo; -+typedef GIBaseInfo GIUnionInfo; -+typedef GIBaseInfo GIEnumInfo; -+typedef GIBaseInfo GIObjectInfo; -+typedef GIBaseInfo GIInterfaceInfo; -+typedef GIBaseInfo GIConstantInfo; -+typedef GIBaseInfo GIValueInfo; -+typedef GIBaseInfo GISignalInfo; -+typedef GIBaseInfo GIVFuncInfo; -+typedef GIBaseInfo GIPropertyInfo; -+typedef GIBaseInfo GIFieldInfo; -+typedef GIBaseInfo GIArgInfo; -+typedef GIBaseInfo GITypeInfo; -+typedef GIBaseInfo GIErrorDomainInfo; -+ - typedef struct _GIUnresolvedInfo GIUnresolvedInfo; - typedef struct _GTypelib GTypelib; - - struct _GIRepository - { -- GObject parent; -+ GObject parent; - - /*< private >*/ - GIRepositoryPrivate *priv; -@@ -282,11 +300,16 @@ typedef enum { - } GITransfer; - - GITypeInfo * g_callable_info_get_return_type (GICallableInfo *info); -+void g_callable_info_load_return_type (GICallableInfo *info, -+ GITypeInfo *type); - GITransfer g_callable_info_get_caller_owns (GICallableInfo *info); - gboolean g_callable_info_may_return_null (GICallableInfo *info); - gint g_callable_info_get_n_args (GICallableInfo *info); - GIArgInfo * g_callable_info_get_arg (GICallableInfo *info, -- gint n); -+ gint n); -+void g_callable_info_load_arg (GICallableInfo *info, -+ gint n, -+ GIArgInfo *arg); - - /* GIArgInfo */ - -@@ -317,6 +340,8 @@ GIScopeType g_arg_info_get_scope (GIArgInfo *info); - gint g_arg_info_get_closure (GIArgInfo *info); - gint g_arg_info_get_destroy (GIArgInfo *info); - GITypeInfo * g_arg_info_get_type (GIArgInfo *info); -+void g_arg_info_load_type (GIArgInfo *info, -+ GITypeInfo *type); - - - /* GITypeInfo */ --- -cgit v0.8.3.1 diff --git a/devel/gobject-introspection/files/patch-20100107 b/devel/gobject-introspection/files/patch-20100107 deleted file mode 100644 index 570d2c7c7591..000000000000 --- a/devel/gobject-introspection/files/patch-20100107 +++ /dev/null @@ -1,66 +0,0 @@ -From e7b9f873f0152136af60753598077156e7ae1545 Mon Sep 17 00:00:00 2001 -From: Colin Walters <walters@verbum.org> -Date: Thu, 07 Jan 2010 21:12:15 +0000 -Subject: Correctly cast to a CommonBlob when looking up embedded types - -When looking at an embedded type (e.g. a Callback after a Field), the -offset we put in the info structure was to the CallbackBlob itself. - -However the code in g_type_info_get_interface assumed that the offset -was to a SimpleTypeBlob, which it wasn't. - -https://bugzilla.gnome.org/show_bug.cgi?id=606180 ---- -diff --git a/girepository/ginfo.c b/girepository/ginfo.c -index b11cc8f..ed2fc93 100644 ---- girepository/ginfo.c -+++ girepository/ginfo.c -@@ -997,18 +997,38 @@ GIBaseInfo * - g_type_info_get_interface (GITypeInfo *info) - { - GIRealInfo *rinfo = (GIRealInfo *)info; -- SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; - -+ /* For embedded types, the given offset is a pointer to the actual blob, -+ * after the end of the field. In that case we know it's a "subclass" of -+ * CommonBlob, so use that to determine the info type. -+ */ - if (rinfo->type_is_embedded) -- return (GIBaseInfo *) g_info_new (type->offset, (GIBaseInfo*)info, rinfo->typelib, -- rinfo->offset); -+ { -+ CommonBlob *common = (CommonBlob *)&rinfo->typelib->data[rinfo->offset]; -+ GIInfoType info_type; - -- if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) -+ switch (common->blob_type) -+ { -+ case BLOB_TYPE_CALLBACK: -+ info_type = GI_INFO_TYPE_CALLBACK; -+ break; -+ default: -+ g_assert_not_reached (); -+ return NULL; -+ } -+ return (GIBaseInfo *) g_info_new (info_type, (GIBaseInfo*)info, rinfo->typelib, -+ rinfo->offset); -+ } -+ else - { -- InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; -- -- if (blob->tag == GI_TYPE_TAG_INTERFACE) -- return g_info_from_entry (rinfo->repository, rinfo->typelib, blob->interface); -+ SimpleTypeBlob *type = (SimpleTypeBlob *)&rinfo->typelib->data[rinfo->offset]; -+ if (!(type->flags.reserved == 0 && type->flags.reserved2 == 0)) -+ { -+ InterfaceTypeBlob *blob = (InterfaceTypeBlob *)&rinfo->typelib->data[rinfo->offset]; -+ -+ if (blob->tag == GI_TYPE_TAG_INTERFACE) -+ return g_info_from_entry (rinfo->repository, rinfo->typelib, blob->interface); -+ } - } - - return NULL; --- -cgit v0.8.3.1 diff --git a/devel/gobject-introspection/files/patch-gir_Makefile.in b/devel/gobject-introspection/files/patch-gir_Makefile.in index cf8ce2b3d94f..9e9ef5b8c9bd 100644 --- a/devel/gobject-introspection/files/patch-gir_Makefile.in +++ b/devel/gobject-introspection/files/patch-gir_Makefile.in @@ -1,11 +1,12 @@ ---- gir/Makefile.in.orig 2009-12-18 18:25:43.000000000 +0100 -+++ gir/Makefile.in 2009-12-18 18:25:54.000000000 +0100 -@@ -359,13 +359,12 @@ GLib_2_0_gir_SCANNERFLAGS = --noclosure +--- gir/Makefile.in.orig 2010-03-10 17:14:45.000000000 +0000 ++++ gir/Makefile.in 2010-03-10 17:17:53.000000000 +0000 +@@ -400,14 +400,13 @@ GLib_2_0_gir_SCANNERFLAGS = --noclosure GLib_2_0_gir_PACKAGES = glib-2.0 GLib_2_0_gir_CFLAGS = $(CPPFLAGS) \ -I$(GLIB_INCLUDEDIR) \ - -I$(GLIB_LIBDIR)/glib-2.0/include \ -DGETTEXT_PACKAGE=Dummy \ + -DGLIB_COMPILATION \ -D__G_I18N_LIB_H__ GLib_2_0_gir_ASSERTIONS = $(srcdir)/GLib-2.0.xpath diff --git a/devel/gobject-introspection/files/patch-girepository_girnode.c b/devel/gobject-introspection/files/patch-girepository_girnode.c deleted file mode 100644 index f566de3d6208..000000000000 --- a/devel/gobject-introspection/files/patch-girepository_girnode.c +++ /dev/null @@ -1,12 +0,0 @@ ---- girepository/girnode.c.orig 2009-07-09 21:20:46.000000000 +0400 -+++ girepository/girnode.c 2009-12-09 16:12:24.000000000 +0300 -@@ -2288,7 +2288,8 @@ - break; - case GI_TYPE_TAG_DOUBLE: - blob->size = sizeof (gdouble); -- *(gdouble*)&data[blob->offset] = (gdouble) parse_float_value (constant->value); -+ gdouble tmp = parse_float_value (constant->value); -+ memcpy (&data[blob->offset], &tmp, blob->size); - break; - case GI_TYPE_TAG_UTF8: - case GI_TYPE_TAG_FILENAME: diff --git a/devel/gobject-introspection/pkg-plist b/devel/gobject-introspection/pkg-plist index 8083b30ec40f..8543297adaef 100644 --- a/devel/gobject-introspection/pkg-plist +++ b/devel/gobject-introspection/pkg-plist @@ -4,6 +4,7 @@ bin/g-ir-scanner include/gobject-introspection-1.0/girepository.h include/gobject-introspection-1.0/girffi.h lib/girepository-1.0/Everything-1.0.typelib +lib/girepository-1.0/GIMarshallingTests-1.0.typelib lib/girepository-1.0/GIRepository-2.0.typelib lib/girepository-1.0/GL-1.0.typelib lib/girepository-1.0/GLib-2.0.typelib @@ -85,10 +86,15 @@ lib/libgirepository-everything-1.0.a lib/libgirepository-everything-1.0.la lib/libgirepository-everything-1.0.so lib/libgirepository-everything-1.0.so.1 +lib/libgirepository-gimarshallingtests-1.0.a +lib/libgirepository-gimarshallingtests-1.0.la +lib/libgirepository-gimarshallingtests-1.0.so +lib/libgirepository-gimarshallingtests-1.0.so.1 libdata/pkgconfig/gobject-introspection-1.0.pc libdata/pkgconfig/gobject-introspection-no-export-1.0.pc share/aclocal/introspection.m4 share/gir-1.0/Everything-1.0.gir +share/gir-1.0/GIMarshallingTests-1.0.gir share/gir-1.0/GIRepository-2.0.gir share/gir-1.0/GL-1.0.gir share/gir-1.0/GLib-2.0.gir |