summaryrefslogtreecommitdiff
path: root/sc/source/core/data/column4.cxx
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-04-24 21:49:45 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-04-25 00:58:14 -0400
commit36e0d770928f71c932db5dea9f04645f65222ea6 (patch)
tree6b0b0afd4c69b56cef0f0e7c834575aa8eb8860c /sc/source/core/data/column4.cxx
parent485dddac7048aa9a877d205b25bf0c98c4887160 (diff)
fdo#77728: Don't forget to start listening after the named range update.
Change-Id: I7a4160db0dd2b9ac2c98402bb6110c548e879b3d
Diffstat (limited to 'sc/source/core/data/column4.cxx')
-rw-r--r--sc/source/core/data/column4.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/sc/source/core/data/column4.cxx b/sc/source/core/data/column4.cxx
index cad94e524362..b9553448e669 100644
--- a/sc/source/core/data/column4.cxx
+++ b/sc/source/core/data/column4.cxx
@@ -645,11 +645,13 @@ public:
class PostRangeNameUpdateHandler
{
ScDocument* mpDoc;
+ sc::StartListeningContext& mrStartListenCxt;
sc::CompileFormulaContext& mrCompileFormulaCxt;
public:
- PostRangeNameUpdateHandler( ScDocument* pDoc, sc::CompileFormulaContext& rCompileCxt ) :
+ PostRangeNameUpdateHandler( ScDocument* pDoc, sc::StartListeningContext& rStartListenCxt, sc::CompileFormulaContext& rCompileCxt ) :
mpDoc(pDoc),
+ mrStartListenCxt(rStartListenCxt),
mrCompileFormulaCxt(rCompileCxt) {}
void operator() ( sc::FormulaGroupEntry& rEntry )
@@ -677,6 +679,7 @@ public:
{
ScFormulaCell* p = *pp;
p->SyncSharedCode();
+ p->StartListeningTo(mrStartListenCxt);
p->SetDirty();
}
}
@@ -697,6 +700,7 @@ public:
aComp2.CompileTokenArray();
pCell->SetCode(pNewCode);
+ pCell->StartListeningTo(mrStartListenCxt);
pCell->SetDirty();
}
}
@@ -715,12 +719,13 @@ void ScColumn::PreprocessRangeNameUpdate(
std::for_each(aGroups.begin(), aGroups.end(), aFunc);
}
-void ScColumn::PostprocessRangeNameUpdate( sc::CompileFormulaContext& rCompileCxt )
+void ScColumn::PostprocessRangeNameUpdate(
+ sc::StartListeningContext& rStartListenCxt, sc::CompileFormulaContext& rCompileCxt )
{
// Collect all formula groups.
std::vector<sc::FormulaGroupEntry> aGroups = GetFormulaGroupEntries();
- PostRangeNameUpdateHandler aFunc(pDocument, rCompileCxt);
+ PostRangeNameUpdateHandler aFunc(pDocument, rStartListenCxt, rCompileCxt);
std::for_each(aGroups.begin(), aGroups.end(), aFunc);
}