diff options
author | Colin Walters <walters@src.gnome.org> | 2009-02-02 16:31:06 +0000 |
---|---|---|
committer | Colin Walters <walters@src.gnome.org> | 2009-02-02 16:31:06 +0000 |
commit | e165360bf91fbd34507e84cffc9283b8b171401b (patch) | |
tree | 765f0e4db4fc104f724b61aba721cfdee5030f5d /tests/offsets | |
parent | 34c6fe51cd8d669d95aef52bda9abbc38257bca9 (diff) | |
download | gobject-introspection-e165360bf91fbd34507e84cffc9283b8b171401b.tar.gz |
Bug 569408, Bug 568680 - Scanner misses fields (at least in GObject.Object)
The scanner misses all fields of the GObject struct -- there
are no <field> children of the <class> element for GObject in the GIR. This of
course yields wrong field offsets for all derived objects.
svn path=/trunk/; revision=1079
Diffstat (limited to 'tests/offsets')
-rw-r--r-- | tests/offsets/Makefile.am | 3 | ||||
-rw-r--r-- | tests/offsets/offsets.h | 19 |
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/offsets/Makefile.am b/tests/offsets/Makefile.am index 8673aff9..400d32a7 100644 --- a/tests/offsets/Makefile.am +++ b/tests/offsets/Makefile.am @@ -20,6 +20,7 @@ liboffsets_la_LDFLAGS = -avoid-version -rpath $(libdir) offsets-1.0.gir: liboffsets.la offsets.h $(SCANNER_BIN) $(SCANNER_LIBS) Makefile $(CHECK_DEBUG) $(SCANNER) \ + --include=GObject-2.0 \ --libtool="$(LIBTOOL)" \ --library=offsets \ --namespace=offsets \ @@ -51,7 +52,7 @@ CLEANFILES += gitestoffsets.c ############################################################ check-local: offsets-1.0.typelib - LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir) GI_TYPELIB_PATH=$(builddir) \ + LD_LIBRARY_PATH=$${LD_LIBRARY_PATH:+$$LD_LIBRARY_PATH:}$(builddir) GI_TYPELIB_PATH=$(builddir):$(top_builddir)/gir \ $(builddir)/gitestoffsets$(EXEEXT) offsets.compiled offsets.introspected diff -u offsets.compiled offsets.introspected diff --git a/tests/offsets/offsets.h b/tests/offsets/offsets.h index 9c29a989..3f887a8e 100644 --- a/tests/offsets/offsets.h +++ b/tests/offsets/offsets.h @@ -2,6 +2,7 @@ #define __OFFSETS_H__ #include <glib.h> +#include <glib-object.h> #include <time.h> /* Test we get the alignment right for various basic types; we put @@ -118,4 +119,22 @@ struct _OffsetsArray gpointer some_ptrs[5]; }; +/** Test object offsets + */ + +typedef struct _OffsetsObj OffsetsObj; +typedef struct _OffsetsObjClass OffsetsObjClass; + +struct _OffsetsObj +{ + GObject parent_instance; + + GObject *other; +}; + +struct _OffsetsObjClass +{ + GObjectClass parent_class; +}; + #endif /* __OFFSETS_H__ */ |