fix dirprot mode
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5874 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
f6340798c4
commit
553698d489
5 changed files with 34 additions and 31 deletions
|
|
@ -21,9 +21,13 @@ int is_protected(Node* n)
|
|||
|
||||
int is_member_director(Node* parentnode, Node* member)
|
||||
{
|
||||
int director_mode = Swig_director_mode();
|
||||
|
||||
if (checkAttribute(member,"director","1")) return 1;
|
||||
if (parentnode && checkAttribute(member, "storage", "virtual")) {
|
||||
int parent_director = checkAttribute(parentnode,"feature:director","1");
|
||||
int parent_nodirector = checkAttribute(parentnode,"feature:nodirector","1");
|
||||
if (parent_nodirector) return 0;
|
||||
int parent_director = director_mode|| checkAttribute(parentnode,"feature:director","1");
|
||||
int cdecl_director = parent_director || checkAttribute(member,"feature:director","1");
|
||||
int cdecl_nodirector = checkAttribute(member,"feature:nodirector","1");
|
||||
return cdecl_director && !cdecl_nodirector;
|
||||
|
|
@ -32,7 +36,7 @@ int is_member_director(Node* parentnode, Node* member)
|
|||
}
|
||||
}
|
||||
|
||||
int is_member_director(Node* member)
|
||||
int is_member_director(Node* member)
|
||||
{
|
||||
return is_member_director(Getattr(member, "parentNode"), member);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue