fix parentnode for %extend methods
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9442 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
aa47311a53
commit
b7057f7ae8
3 changed files with 5 additions and 5 deletions
|
|
@ -975,7 +975,7 @@ Language::functionHandler(Node *n) {
|
|||
globalfunctionHandler(n);
|
||||
} else {
|
||||
Node* explicit_n = 0;
|
||||
if (directorsEnabled() && is_member_director(CurrentClass,n) && !Extend && !extraDirectorProtectedCPPMethodsRequired()) {
|
||||
if (directorsEnabled() && is_member_director(CurrentClass,n) && !extraDirectorProtectedCPPMethodsRequired()) {
|
||||
bool virtual_but_not_pure_virtual = (!(Cmp(storage, "virtual")) && (Cmp(Getattr(n, "value"), "0") != 0));
|
||||
if (virtual_but_not_pure_virtual) {
|
||||
// Add additional wrapper which makes an explicit call to the virtual method (ie not a virtual call)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ int is_member_director(Node* parentnode, Node* member)
|
|||
int parent_director = director_mode && GetFlag(parentnode,"feature:director");
|
||||
int cdecl_director = parent_director || GetFlag(member,"feature:director");
|
||||
int cdecl_nodirector = GetFlag(member,"feature:nodirector");
|
||||
return cdecl_director && !cdecl_nodirector;
|
||||
return cdecl_director && !cdecl_nodirector && !GetFlag(member, "feature:extend");
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue