summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatúš Kukan <matus.kukan@collabora.com>2013-12-09 08:52:59 +0100
committerMatúš Kukan <matus.kukan@collabora.com>2013-12-09 09:14:42 +0100
commitdc22a2aa1b2858394ad70806f34d1327936af7a0 (patch)
treebfffe079eda9359150075b1b58ea30f7f874567e
parent74ca95edd1bd3c00cf314690fe22171ec93d6885 (diff)
fdo#72413: Fix O(n^2) in inserting SearchResults' items.
Thanks to moggi, who pointed to this, should be documented somewhere. Change-Id: I96ba2cca930e4b784a825987ea19e4fc9aacb6d6
-rw-r--r--sc/source/ui/dialogs/searchresults.cxx2
1 files changed, 2 insertions, 0 deletions
diff --git a/sc/source/ui/dialogs/searchresults.cxx b/sc/source/ui/dialogs/searchresults.cxx
index fa89eb7f5c41..f5cc4393c193 100644
--- a/sc/source/ui/dialogs/searchresults.cxx
+++ b/sc/source/ui/dialogs/searchresults.cxx
@@ -41,6 +41,7 @@ SearchResults::~SearchResults()
void SearchResults::Show(const ScRangeList &rMatchedRanges)
{
mpList->Clear();
+ mpList->SetUpdateMode(false);
for (size_t i = 0, n = rMatchedRanges.size(); i < n; ++i)
{
ScCellIterator aIter(mpDoc, *rMatchedRanges[i]);
@@ -53,6 +54,7 @@ void SearchResults::Show(const ScRangeList &rMatchedRanges)
mpList->InsertEntry(sAddress.replace('.', '\t') + "\t" + mpDoc->GetString(aAddress));
}
}
+ mpList->SetUpdateMode(true);
ModelessDialog::Show();
}