summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-05-29 14:37:36 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-06-06 15:33:58 (GMT)
commitf4388dc4a62e183b7ca4457eba7cb978a35804c2 (patch)
treeea6452d25fe35d3bfa1f89c1b67b46c3328487b0 /src/scanner.l
parent84064ac4db9e487ca4bff9b6c37eb72992050ee3 (diff)
downloadDoxygen-f4388dc4a62e183b7ca4457eba7cb978a35804c2.zip
Doxygen-f4388dc4a62e183b7ca4457eba7cb978a35804c2.tar.gz
Doxygen-f4388dc4a62e183b7ca4457eba7cb978a35804c2.tar.bz2
Bug 727732 - Nested C structures/unions does not work with groups
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l
index 323dc65..a39d02e 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<Grouping> 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