summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-10-07 19:43:32 +0200
committerEike Rathke <erack@redhat.com>2016-10-07 19:49:25 +0200
commit866eb4a7f93414932b8669d1a6afe0611655dfb4 (patch)
tree5c7f415a1864bcfd205f1fc3664593358e6256e3
parent180fe3e991432a5ab1ef573686ff9b35c732756b (diff)
Resolves: tdf#101562 ScRefUpdate::Update() needs to flag sticky even unchanged
... so area broadcasters can be "adapted" (though not changed) and broadcast a change to invalidate listening lookup caches. This is the delete row part of the bug scenario. Change-Id: Ie6072a6b8e7967faa135a3c4d0a9024b6afcd69c
-rw-r--r--sc/source/core/tool/refupdat.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/sc/source/core/tool/refupdat.cxx b/sc/source/core/tool/refupdat.cxx
index 602a636c6118..300dd1dce7b1 100644
--- a/sc/source/core/tool/refupdat.cxx
+++ b/sc/source/core/tool/refupdat.cxx
@@ -235,6 +235,8 @@ ScRefUpdateRes ScRefUpdate::Update( ScDocument* pDoc, UpdateRefMode eUpdateRefMo
{
// End was sticky, but start may have been moved. Only on range.
theCol2 = oldCol2;
+ if (eRet == UR_NOTHING)
+ eRet = UR_STICKY;
}
// Else, if (bCut2 && theCol2 == MAXCOL) then end becomes sticky,
// but currently there's nothing to do.
@@ -267,6 +269,8 @@ ScRefUpdateRes ScRefUpdate::Update( ScDocument* pDoc, UpdateRefMode eUpdateRefMo
{
// End was sticky, but start may have been moved. Only on range.
theRow2 = oldRow2;
+ if (eRet == UR_NOTHING)
+ eRet = UR_STICKY;
}
// Else, if (bCut2 && theRow2 == MAXROW) then end becomes sticky,
// but currently there's nothing to do.