Make sure we jump to the next or previous change when we switch search direction. Without this patch, the same Change will be found and only the cursor is moved from the end (or begin) to the begin (or end) of the selection.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29115
a592a061-630c-0410-9148-
cb99ea01b6c8
}
+void Cursor::setCursorToAnchor()
+{
+ if (selection())
+ setCursor(anchor_);
+}
+
bool Cursor::posBackward()
{
void leaveInset(Inset const & inset);
/// sets cursor part
void setCursor(DocIterator const & it);
+ /// sets the cursor to the anchor
+ void setCursorToAnchor();
///
void setCurrentFont();
bool findChange(BufferView * bv, bool next)
{
+ if (bv->cursor().selection()) {
+ // set the cursor at the beginning or at the end of the selection
+ // before searching. Otherwise, the current change will be found.
+ if (next != bv->cursor().top() > bv->cursor().anchor())
+ bv->cursor().setCursorToAnchor();
+ }
+
DocIterator cur = bv->cursor();
if (!findChange(cur, next))
return false;