summaryrefslogtreecommitdiff
path: root/sd/source/ui/tools/EventMultiplexer.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sd/source/ui/tools/EventMultiplexer.cxx')
-rw-r--r--sd/source/ui/tools/EventMultiplexer.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/sd/source/ui/tools/EventMultiplexer.cxx b/sd/source/ui/tools/EventMultiplexer.cxx
index 287ac9aee..54b47f67b 100644
--- a/sd/source/ui/tools/EventMultiplexer.cxx
+++ b/sd/source/ui/tools/EventMultiplexer.cxx
@@ -570,7 +570,12 @@ void SAL_CALL EventMultiplexer::Implementation::propertyChange (
}
else if (rEvent.PropertyName.equals(msEditModePropertyName))
{
- CallListeners(EventMultiplexerEvent::EID_EDIT_MODE);
+ bool bIsMasterPageMode (false);
+ rEvent.NewValue >>= bIsMasterPageMode;
+ if (bIsMasterPageMode)
+ CallListeners(EventMultiplexerEvent::EID_EDIT_MODE_MASTER);
+ else
+ CallListeners(EventMultiplexerEvent::EID_EDIT_MODE_NORMAL);
}
}
@@ -783,8 +788,9 @@ void EventMultiplexer::Implementation::CallListeners (
void EventMultiplexer::Implementation::CallListeners (EventMultiplexerEvent& rEvent)
{
- ListenerList::const_iterator iListener (maListeners.begin());
- ListenerList::const_iterator iListenerEnd (maListeners.end());
+ ListenerList aCopyListeners( maListeners );
+ ListenerList::iterator iListener (aCopyListeners.begin());
+ ListenerList::const_iterator iListenerEnd (aCopyListeners.end());
for (; iListener!=iListenerEnd; ++iListener)
{
if ((iListener->second && rEvent.meEventId) != 0)