summaryrefslogtreecommitdiff
path: root/vala/valagirparser.vala
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2021-03-03 10:05:00 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2021-03-03 10:05:00 +0100
commita827cd77f27d0d6ba36308f045d809b386538020 (patch)
tree815cc0420ef9b33ad292f4e482ea90984a3a7299 /vala/valagirparser.vala
parenta33a144017ea385ca7b713a562fd7364c2a433e9 (diff)
downloadvala-a827cd77f27d0d6ba36308f045d809b386538020.tar.gz
girparser: Reuse populated Node.gtype_struct_for instead of resolving again
This fixes the discovery of non-default type_cname for re-parented symbols.
Diffstat (limited to 'vala/valagirparser.vala')
-rw-r--r--vala/valagirparser.vala3
1 files changed, 1 insertions, 2 deletions
diff --git a/vala/valagirparser.vala b/vala/valagirparser.vala
index 836d2436f..02e9bbc68 100644
--- a/vala/valagirparser.vala
+++ b/vala/valagirparser.vala
@@ -1213,9 +1213,8 @@ public class Vala.GirParser : CodeVisitor {
merged = true;
} else {
// record for a gtype
- var gtype_struct_for = girdata["glib:is-gtype-struct-for"];
if (gtype_struct_for != null) {
- var obj = parser.resolve_node (parent, parser.parse_symbol_from_string (gtype_struct_for, source_reference));
+ var obj = parser.resolve_node (parent, gtype_struct_for);
if (obj != null && obj.symbol is Interface && "%sIface".printf (obj.get_cname ()) != get_cname ()) {
// set the interface struct name
obj.symbol.set_attribute_string ("CCode", "type_cname", get_cname ());