From: Jürgen Vigna Date: Thu, 25 Jul 2002 15:42:35 +0000 (+0000) Subject: Fixed some s+r bugs. X-Git-Tag: 1.6.10~18747 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=2232b6476084f69845e55e127bb02647bd82189f;p=features.git Fixed some s+r bugs. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@4788 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/ChangeLog b/src/ChangeLog index 977da970f3..e71021c512 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,8 @@ 2002-07-25 Juergen Vigna + * lyxfind.C (LyXReplace): don't replace if we don't get the + right LyXText. + * undo_funcs.C (createUndo): remove debugging code. 2002-07-25 Dekel Tsur diff --git a/src/insets/ChangeLog b/src/insets/ChangeLog index 14cce5fbd2..373bc186a0 100644 --- a/src/insets/ChangeLog +++ b/src/insets/ChangeLog @@ -2,6 +2,7 @@ * insettabular.C (insetMotionNotify): Don't update the screen if we didn't do nothing. + (searchForward): last cell was not checked. 2002-07-25 Dekel Tsur diff --git a/src/insets/insettabular.C b/src/insets/insettabular.C index 5b1f628f16..2f093054a4 100644 --- a/src/insets/insettabular.C +++ b/src/insets/insettabular.C @@ -2753,14 +2753,19 @@ bool InsetTabular::searchForward(BufferView * bv, string const & str, return true; } } - do { - InsetText * inset = tabular->GetCellInset(actcell); + InsetText * inset = tabular->GetCellInset(actcell); + if (inset->searchForward(bv, str, cs, mw)) { + updateLocal(bv, FULL, false); + return true; + } + while (!tabular->IsLastCell(actcell)) { + ++actcell; + inset = tabular->GetCellInset(actcell); if (inset->searchForward(bv, str, cs, mw)) { updateLocal(bv, FULL, false); return true; } - ++actcell; - } while (!tabular->IsLastCell(actcell)); + } return false; } diff --git a/src/lyxfind.C b/src/lyxfind.C index 0b2a5c5906..4275b085b1 100644 --- a/src/lyxfind.C +++ b/src/lyxfind.C @@ -85,13 +85,15 @@ int LyXReplace(BufferView * bv, int replace_count = 0; do { text = bv->getLyXText(); - bv->hideCursor(); - bv->update(text, BufferView::SELECT|BufferView::FITCUR); - bv->toggleSelection(false); - text->replaceSelectionWithString(bv, replacestr); - text->setSelectionOverString(bv, replacestr); - bv->update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); - ++replace_count; + if (!bv->theLockingInset() || text != bv->text) { + bv->hideCursor(); + bv->update(text, BufferView::SELECT|BufferView::FITCUR); + bv->toggleSelection(false); + text->replaceSelectionWithString(bv, replacestr); + text->setSelectionOverString(bv, replacestr); + bv->update(text, BufferView::SELECT|BufferView::FITCUR|BufferView::CHANGE); + ++replace_count; + } if (!once) found = LyXFind(bv, searchstr, fw, casesens, matchwrd); } while (!once && replaceall && found);