anchor is incorrectly set to be equal to the cur. This is because comparing two
CursorSlices does not take into account the boundary property (because the
CursorSlice does not know this).
Patch by Vincent.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg143572.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26393
a592a061-630c-0410-9148-
cb99ea01b6c8
{
if (!selection())
return *this;
- DocIterator di = (anchor() < top() ? anchor_ : *this);
+
+ DocIterator di;
+ // FIXME: This is a work-around for the problem that
+ // CursorSlice doesn't keep track of the boundary.
+ if (anchor() == top())
+ di = anchor_.boundary() > boundary() ? anchor_ : *this;
+ else
+ di = anchor() < top() ? anchor_ : *this;
di.resize(depth());
return di;
}
{
if (!selection())
return *this;
- DocIterator di = (anchor() > top() ? anchor_ : *this);
+
+ DocIterator di;
+ // FIXME: This is a work-around for the problem that
+ // CursorSlice doesn't keep track of the boundary.
+ if (anchor() == top())
+ di = anchor_.boundary() < boundary() ? anchor_ : *this;
+ else
+ di = anchor() > top() ? anchor_ : *this;
+
if (di.depth() > depth()) {
di.resize(depth());
++di.pos();