]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiSearch.cpp
On Linux show in crash message box the backtrace
[lyx.git] / src / frontends / qt4 / GuiSearch.cpp
index 295bf42e4fc856f0997eb5a2e6b8959fb4226a75..712464738093463ff100f58c69f572d9717897c4 100644 (file)
@@ -120,18 +120,21 @@ void GuiSearch::replaceallClicked()
 }
 
 
-void GuiSearch::wrap_dispatch(const FuncRequest & func, bool forward) {
+void GuiSearch::wrap_dispatch(const FuncRequest & func, bool forward)
+{
        dispatch(func);
 
        BufferView * bv = const_cast<BufferView *>(bufferview());
-       GuiView & lv = *const_cast<GuiView *>(&lyxview());
+
        if (!bv->cursor().result().dispatched()) {
+               GuiView & lv = *const_cast<GuiView *>(&lyxview());
+               DocIterator cur_orig(bv->cursor());
                docstring q;
                if (forward)
                        q = _("End of file reached while searching forward.\n"
                          "Continue searching from the beginning?");
                else
-                       q = _("End of file reached while searching backward.\n"
+                       q = _("Beginning of file reached while searching backward.\n"
                          "Continue searching from the end?");
                int wrap_answer = frontend::Alert::prompt(_("Wrap search?"),
                        q, 0, 1, _("&Yes"), _("&No"));
@@ -148,6 +151,7 @@ void GuiSearch::wrap_dispatch(const FuncRequest & func, bool forward) {
                        if (bv->cursor().result().dispatched())
                                return;
                }
+               bv->cursor().setCursor(cur_orig);
                lv.message(_("String not found."));
        }
 }