# HG changeset patch # User John D # Date 1425659661 18000 # Node ID b8ce2f42815c5e6d68cbe2d9451151bf9a294dee # Parent 2b5cbea8f442b61aa0cc40fb088980dc109971af gui: when search backward, start from beginning of previous text (Bug #44439) * libgui/src/m-editor/find-dialog.cc (find_dialog::find): when search backward, start from beginning of previous text. diff -r 2b5cbea8f442 -r b8ce2f42815c libgui/src/m-editor/find-dialog.cc --- a/libgui/src/m-editor/find-dialog.cc Fri Mar 06 12:56:55 2015 +0100 +++ b/libgui/src/m-editor/find-dialog.cc Fri Mar 06 11:34:21 2015 -0500 @@ -290,11 +290,17 @@ } else if (! do_forward) { - // search from previous character if search backward + // search from position before search characters text length + // if search backward on existing results, _edit_area->getCursorPosition (&line,&col); - int currpos = _edit_area->positionFromLineIndex(line,col); - if (currpos > 0) currpos --; - _edit_area->lineIndexFromPosition(currpos, &line,&col); + if (_find_result_available && _edit_area->hasSelectedText ()) + { + int currpos = _edit_area->positionFromLineIndex(line,col); + currpos -= (_search_line_edit->text ().length ()); + if (currpos < 0) + currpos = 0; + _edit_area->lineIndexFromPosition(currpos, &line,&col); + } } }