From 665b09ffc99109d2c0939a2965d460508e55ec13 Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Mon, 21 Aug 2017 18:34:51 +0100 Subject: [PATCH] Fix seg fault with %interface and using declarations --- Source/Modules/interface.cxx | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Source/Modules/interface.cxx b/Source/Modules/interface.cxx index f6d4c955b..fee6cd7da 100644 --- a/Source/Modules/interface.cxx +++ b/Source/Modules/interface.cxx @@ -151,12 +151,14 @@ void Swig_interface_propagate_methods(Node *n) { for (Node *child = firstChild(n); child; child = nextSibling(child)) { if (Getattr(child, "interface:owner")) break; // at the end of the list are newly appended methods - if (checkAttribute(child, "name", name)) { - String *decl = SwigType_typedef_resolve_all(Getattr(child, "decl")); - identically_overloaded_method = Strcmp(decl, this_decl_resolved) == 0; - Delete(decl); - if (identically_overloaded_method) - break; + if (Cmp(nodeType(child), "cdecl") == 0) { + if (checkAttribute(child, "name", name)) { + String *decl = SwigType_typedef_resolve_all(Getattr(child, "decl")); + identically_overloaded_method = Strcmp(decl, this_decl_resolved) == 0; + Delete(decl); + if (identically_overloaded_method) + break; + } } } }