]> git.lyx.org Git - lyx.git/blobdiff - src/coordcache.C
Partial fix bug 2092: branches not propagated to child documents
[lyx.git] / src / coordcache.C
index ce0194890502ce6946fef8839bc3a379397bdf73..956ed41a9a98a11e21b90c1a3f33b88cf6b39a27 100644 (file)
@@ -1,3 +1,13 @@
+/* \file coordcache.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author André Pönitz
+ *
+ * Full author contact details are available in file CREDITS.
+ */
+
+#include <config.h>
 
 #include "coordcache.h"
 #include "debug.h"
@@ -11,7 +21,7 @@
 
 
 CoordCache theCoords;
+
 // just a helper to be able to set a breakpoint
 void lyxbreaker(void const * data, const char * hint, int size)
 {
@@ -21,22 +31,32 @@ void lyxbreaker(void const * data, const char * hint, int size)
 }
 
 
-void lyxaborter(int x, int y)
-{
-       lyxerr << "abort on x: " << x << " y: " << y << std::endl; 
-       BOOST_ASSERT(false);
-}
-
-
 void CoordCache::clear()
 {
+       BOOST_ASSERT(updating);
        arrays_.clear();
        insets_.clear();
        pars_.clear();
+       slices0_.clear();
+       slices1_.clear();
+}
+
+
+void CoordCache::startUpdating()
+{
+       BOOST_ASSERT(!updating);
+       updating = true;
+}
+
+
+void CoordCache::doneUpdating()
+{
+       BOOST_ASSERT(updating);
+       updating = false;
 }
 
 
-Point CoordCache::get(LyXText const * text, lyx::pit_type pit) 
+Point CoordCache::get(LyXText const * text, lyx::pit_type pit)
 {
        ParPosCache::iterator const it = pars_.find(text);
        BOOST_ASSERT(it != pars_.end());