summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--framework/source/services/ContextChangeEventMultiplexer.cxx24
1 files changed, 21 insertions, 3 deletions
diff --git a/framework/source/services/ContextChangeEventMultiplexer.cxx b/framework/source/services/ContextChangeEventMultiplexer.cxx
index b64a4e131717..c6da6be6b0d1 100644
--- a/framework/source/services/ContextChangeEventMultiplexer.cxx
+++ b/framework/source/services/ContextChangeEventMultiplexer.cxx
@@ -163,11 +163,29 @@ void SAL_CALL ContextChangeEventMultiplexer::addContextChangeEventListener (
// the current context.
if (rxEventFocus.is() && pFocusDescriptor!=nullptr)
{
+ if (pFocusDescriptor->msCurrentApplicationName.isEmpty() && pFocusDescriptor->msCurrentContextName.isEmpty()
+ && rxEventFocus.is())
+ {
+ Reference< lang::XServiceInfo > xServInfo( rxEventFocus, uno::UNO_QUERY_THROW );
+ if( xServInfo.is() && xServInfo->getImplementationName() == "com.sun.star.comp.chart2.ChartController")
+ {
+ css::ui::ContextChangeEventObject aEvent (
+ rxEventFocus,
+ "com.sun.star.chart2.ChartDocument",
+ "Chart");
+ rxListener->notifyContextChangeEvent(aEvent);
+
+ return;
+ }
+
+ }
+
css::ui::ContextChangeEventObject aEvent (
- nullptr,
- pFocusDescriptor->msCurrentApplicationName,
- pFocusDescriptor->msCurrentContextName);
+ nullptr,
+ pFocusDescriptor->msCurrentApplicationName,
+ pFocusDescriptor->msCurrentContextName);
rxListener->notifyContextChangeEvent(aEvent);
+
}
}