Le 27/04/2013 11:20, Jean-Marc Lasgouttes a écrit :

     Fix assertion related to cursor anchor.

Richard, please check. I think you got the logic wrong.

JMarc

-       if (anchor_.depth() >= depth()) {
-               // LASSERT: There have been several bugs around this code, that 
seem
-               // to involve failures to reset the anchor. We can at least not 
crash
-               // in release mode by resetting it ourselves.
-               LASSERT(false, /* */);
-               DocIterator & di = const_cast<DocIterator &>(anchor_);
-               di = *this;
-       }
+       // LASSERT: There have been several bugs around this code, that seem
+       // to involve failures to reset the anchor. We can at least not crash
+       // in release mode by resetting it ourselves.
+       LASSERT(anchor_.depth() >= depth(),
+               const_cast<DocIterator &>(anchor_) = *this);
+
        CursorSlice normal = anchor_[depth() - 1];
        if (depth() < anchor_.depth() && top() <= normal) {
                // anchor is behind cursor -> move anchor behind the inset

Reply via email to