summaryrefslogtreecommitdiff
path: root/sc/source/core/inc
diff options
context:
space:
mode:
authorKohei Yoshida <kohei.yoshida@collabora.com>2014-03-15 15:29:36 -0400
committerKohei Yoshida <kohei.yoshida@collabora.com>2014-03-15 15:33:38 -0400
commit83ee6b640eaf86f9aef6f42a4dd9c8a930cf9135 (patch)
treedec4339aabbfcb812c3ceba13673d0164b6d2bf8 /sc/source/core/inc
parent2e3969cb8bb235fed483ce49ddee5ea731376893 (diff)
Use listener's listening range when re-activating area listeners.
Otherwise listeners may end up listening to larger areas than their original listening areas after the relocation. Change-Id: I12a7f49aec1c78611db5c31ba2d18574e91a5416
Diffstat (limited to 'sc/source/core/inc')
-rw-r--r--sc/source/core/inc/bcaslot.hxx14
1 files changed, 12 insertions, 2 deletions
diff --git a/sc/source/core/inc/bcaslot.hxx b/sc/source/core/inc/bcaslot.hxx
index 9bd416c46111..4509cc95134c 100644
--- a/sc/source/core/inc/bcaslot.hxx
+++ b/sc/source/core/inc/bcaslot.hxx
@@ -28,6 +28,16 @@
#include "global.hxx"
#include "brdcst.hxx"
+namespace sc {
+
+struct AreaListener
+{
+ ScRange maArea;
+ SvtListener* mpListener;
+};
+
+}
+
/**
Used in a Unique Associative Container.
*/
@@ -211,7 +221,7 @@ public:
*/
void EraseArea( ScBroadcastAreas::iterator& rIter );
- void GetAllListeners( const ScRange& rRange, std::vector<SvtListener*>& rListeners );
+ void GetAllListeners( const ScRange& rRange, std::vector<sc::AreaListener>& rListeners );
};
@@ -307,7 +317,7 @@ public:
// only for ScBroadcastAreaSlot
void FinallyEraseAreas( ScBroadcastAreaSlot* pSlot );
- std::vector<SvtListener*> GetAllListeners( const ScRange& rRange );
+ std::vector<sc::AreaListener> GetAllListeners( const ScRange& rRange );
};