]> git.lyx.org Git - lyx.git/commitdiff
Invalidate caches when the parent is reset.
authorRichard Heck <rgheck@comcast.net>
Tue, 10 Aug 2010 14:37:06 +0000 (14:37 +0000)
committerRichard Heck <rgheck@comcast.net>
Tue, 10 Aug 2010 14:37:06 +0000 (14:37 +0000)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35115 a592a061-630c-0410-9148-cb99ea01b6c8

src/Buffer.cpp

index 5a228f4cc3fc3c7a66252a4b2c53d11ab11a3cc9..32e97b6840cee48f38993df6fe38296144f04e68 100644 (file)
@@ -279,12 +279,19 @@ public:
                        parent_buffer = 0;
                return parent_buffer; 
        }
+       
        ///
        void setParent(Buffer const * pb) {
-               if (!cloned_buffer_ 
-                   && parent_buffer && pb && parent_buffer != pb)
+               if (parent_buffer == pb)
+                       // nothing to do
+                       return;
+               if (!cloned_buffer_ && parent_buffer && pb)
                        LYXERR0("Warning: a buffer should not have two parents!");
                parent_buffer = pb;
+               if (!cloned_buffer_ && parent_buffer) {
+                       parent_buffer->invalidateBibfileCache();
+                       parent_buffer->invalidateBibinfoCache();
+               }
        }
 
        /// If non zero, this buffer is a clone of existing buffer \p cloned_buffer_