diff --git a/src/scanner.l b/src/scanner.l index 323dc65628b..a39d02e4ba9 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -6675,6 +6675,18 @@ static void parseCompounds(Entry *rt) current = new Entry; gstat = FALSE; initEntry(); + + // deep copy group list from parent (see bug 727732) + if (rt->groups) + { + QListIterator gli(*rt->groups); + Grouping *g; + for (;(g=gli.current());++gli) + { + ce->groups->append(new Grouping(*g)); + } + } + int ni=ce->name.findRev("::"); if (ni==-1) ni=0; else ni+=2; // set default protection based on the compound type if( ce->section==Entry::CLASS_SEC ) // class