From: Colin Walters Date: Thu, 13 Nov 2008 22:56:15 +0000 (+0000) Subject: Bug 557788 - Return types for constructors in generated typelib bogus X-Git-Tag: GOBJECT_INTROSPECTION_0_6_1~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=584a9f34af14ab88586f82c2ad98b788ca394293;p=platform%2Fupstream%2Fgobject-introspection.git Bug 557788 - Return types for constructors in generated typelib bogus svn path=/trunk/; revision=920 --- diff --git a/ChangeLog b/ChangeLog index 75fa2a7..dfdd1b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-11-13 Andreas Rottmann + + Bug 557788 - Return types for constructors in generated typelib bogus + + * girepository/girnode.c: Namespace-qualify XREFs; not doing so is + obviously broken in the face of duplicate names in different + namespaces. + * tests/scanner/*expected.gir: Fix up. + 2008-11-13 Owen Taylor * girepository/girffi.c: Fix "Unexpected time for time_t" diff --git a/girepository/girnode.c b/girepository/girnode.c index 92998ed..8851df0 100644 --- a/girepository/girnode.c +++ b/girepository/girnode.c @@ -1216,7 +1216,11 @@ serialize_type (GIrModule *module, iface = find_entry_node (module, modules, node->interface, NULL); if (iface) - name = iface->name; + { + if (iface->type == G_IR_NODE_XREF) + g_string_append_printf (str, "%s.", ((GIrNodeXRef *)iface)->namespace); + name = iface->name; + } else { g_warning ("Interface for type reference %s not found", node->interface); diff --git a/tests/scanner/annotation-1.0-expected.tgir b/tests/scanner/annotation-1.0-expected.tgir index 3a4067b..a2c0146 100644 --- a/tests/scanner/annotation-1.0-expected.tgir +++ b/tests/scanner/annotation-1.0-expected.tgir @@ -143,7 +143,7 @@ - + diff --git a/tests/scanner/foo-1.0-expected.tgir b/tests/scanner/foo-1.0-expected.tgir index 5a457f8..51430fe 100644 --- a/tests/scanner/foo-1.0-expected.tgir +++ b/tests/scanner/foo-1.0-expected.tgir @@ -20,12 +20,12 @@ - + - + @@ -118,7 +118,7 @@ - + @@ -128,7 +128,7 @@ - + @@ -202,7 +202,7 @@ - + @@ -241,10 +241,10 @@ - + - +