]> git.lyx.org Git - features.git/commitdiff
Add check for recursive includes.
authorRichard Heck <rgheck@comcast.net>
Sat, 16 Jul 2011 13:40:20 +0000 (13:40 +0000)
committerRichard Heck <rgheck@comcast.net>
Sat, 16 Jul 2011 13:40:20 +0000 (13:40 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39328 a592a061-630c-0410-9148-cb99ea01b6c8

src/Buffer.cpp

index 3632af200c769a9bc53f8b3f1914ca27d26acb15..6c3841ba638ee1941effd418265a999564c4107f 100644 (file)
@@ -2640,6 +2640,12 @@ void Buffer::collectChildren(ListOfBuffers & clist, bool grand_children) const
                        // there might be grandchildren
                        child->collectChildren(clist, true);
        }
+       // Make sure we have not included ourselves.
+       ListOfBuffers::iterator bit = find(clist.begin(), clist.end(), this);
+       if (bit != clist.end()) {
+               LYXERR0("Recursive include detected in `" << fileName() << "'.");
+               clist.erase(bit);
+       }
 }