From 62d85cfc679f90cd2c65d1ea5493026324875f46 Mon Sep 17 00:00:00 2001 From: Markus Mohrhard Date: Fri, 7 Jun 2013 06:41:14 +0200 Subject: [PATCH] only reset marked area when using find/replace all, fdo#53106 Change-Id: I151db5db7bcdf5295e1f67423de8926250ae8ea3 --- sc/source/ui/view/viewfun2.cxx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 0b6f48c5f80b..a042d0df07dd 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -1655,12 +1655,15 @@ void ScViewFunc::SearchAndReplace( const SvxSearchItem* pSearchItem, aUndoStr, pUndoDoc.release(), pSearchItem ) ); } - rMark.ResetMark(); - for (size_t i = 0, n = aMatchedRanges.size(); i < n; ++i) + if (nCommand == SVX_SEARCHCMD_FIND_ALL || nCommand == SVX_SEARCHCMD_REPLACE_ALL) { - const ScRange& r = *aMatchedRanges[i]; - if (r.aStart.Tab() == nTab) - rMark.SetMultiMarkArea(r); + rMark.ResetMark(); + for (size_t i = 0, n = aMatchedRanges.size(); i < n; ++i) + { + const ScRange& r = *aMatchedRanges[i]; + if (r.aStart.Tab() == nTab) + rMark.SetMultiMarkArea(r); + } } break; // break 'while (TRUE)'