Blame SOURCES/0001-Resolves-tdf-99417-explicitly-track-formula-cells-fo.patch

a9add1
From 388129064d30cd28ce9011ca459b19c238b9d005 Mon Sep 17 00:00:00 2001
a9add1
Message-Id: <388129064d30cd28ce9011ca459b19c238b9d005.1462273102.git.erack@redhat.com>
a9add1
From: Eike Rathke <erack@redhat.com>
a9add1
Date: Mon, 2 May 2016 16:25:01 +0200
a9add1
Subject: [PATCH] Resolves: tdf#99417 explicitly track formula cells for
a9add1
 BROADCAST_BROADCASTERS
a9add1
MIME-Version: 1.0
a9add1
Content-Type: multipart/mixed; boundary="------------erAck-patch-parts"
a9add1
a9add1
This is a multi-part message in MIME format.
a9add1
--------------erAck-patch-parts
a9add1
Content-Type: text/plain; charset=UTF-8; format=fixed
a9add1
Content-Transfer-Encoding: 8bit
a9add1
a9add1
a9add1
Change-Id: I717fc6d1d7c2bc01ed2a256f6fc08a055be24e4b
a9add1
(cherry picked from commit a0b9fa819c9193dee1405cee13690adf00e2d9b9)
a9add1
Reviewed-on: https://gerrit.libreoffice.org/24592
a9add1
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
a9add1
Tested-by: Jenkins <ci@libreoffice.org>
a9add1
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
a9add1
Tested-by: Caolán McNamara <caolanm@redhat.com>
a9add1
---
a9add1
 sc/source/core/data/column.cxx | 9 ++++++++-
a9add1
 1 file changed, 8 insertions(+), 1 deletion(-)
a9add1
a9add1
a9add1
--------------erAck-patch-parts
a9add1
Content-Type: text/x-patch; name="0001-Resolves-tdf-99417-explicitly-track-formula-cells-fo.patch"
a9add1
Content-Transfer-Encoding: 8bit
a9add1
Content-Disposition: attachment; filename="0001-Resolves-tdf-99417-explicitly-track-formula-cells-fo.patch"
a9add1
a9add1
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
a9add1
index 3a7daf1..48fb280 100644
a9add1
--- a/sc/source/core/data/column.cxx
a9add1
+++ b/sc/source/core/data/column.cxx
a9add1
@@ -3165,7 +3165,14 @@ void ScColumn::SetDirty( SCROW nRow1, SCROW nRow2, BroadcastMode eMode )
a9add1
                 sc::ProcessFormula(maCells.begin(), maCells, nRow1, nRow2, aHdl);
a9add1
                 // Broadcast all broadcasters in range.
a9add1
                 ScHint aHint( SC_HINT_DATACHANGED, ScAddress( nCol, nRow1, nTab));
a9add1
-                BroadcastBroadcasters( nRow1, nRow2, aHint);
a9add1
+                if (BroadcastBroadcasters( nRow1, nRow2, aHint))
a9add1
+                {
a9add1
+                    // SetDirtyOnRangeHandler implicitly tracks notified
a9add1
+                    // formulas via ScDocument::Broadcast(), which
a9add1
+                    // BroadcastBroadcastersHandler doesn't, so explicitly
a9add1
+                    // track them here.
a9add1
+                    pDocument->TrackFormulas();
a9add1
+                }
a9add1
             }
a9add1
             break;
a9add1
     }
a9add1
a9add1
--------------erAck-patch-parts--
a9add1
a9add1