diff --git a/sdext/source/presenter/PresenterAccessibility.cxx b/sdext/source/presenter/PresenterAccessibility.cxx index 4f2fa33f3866..7040da4a3c51 100644 --- a/sdext/source/presenter/PresenterAccessibility.cxx +++ b/sdext/source/presenter/PresenterAccessibility.cxx @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -513,7 +514,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy() if (pNotesPane) xNotesView = pNotesPane->mxView; rtl::Reference pNotesView ( - dynamic_cast(xNotesView.get())); + comphelper::getFromUnoTunnel(xNotesView)); UpdateAccessibilityHierarchy( pPreviewPane ? pPreviewPane->mxContentWindow : Reference(), diff --git a/sdext/source/presenter/PresenterNotesView.cxx b/sdext/source/presenter/PresenterNotesView.cxx index 457be1f612b7..ca434f5fa8a8 100644 --- a/sdext/source/presenter/PresenterNotesView.cxx +++ b/sdext/source/presenter/PresenterNotesView.cxx @@ -37,6 +37,7 @@ #include #include #include +#include using namespace ::com::sun::star; using namespace ::com::sun::star::uno; @@ -376,6 +377,15 @@ void SAL_CALL PresenterNotesView::keyPressed (const awt::KeyEvent& rEvent) void SAL_CALL PresenterNotesView::keyReleased (const awt::KeyEvent&) {} +sal_Int64 PresenterNotesView::getSomething(css::uno::Sequence const & aIdentifier) { + return comphelper::getSomethingImpl(aIdentifier, this); +} + +css::uno::Sequence const & PresenterNotesView::getUnoTunnelId() { + static comphelper::UnoIdInit const id; + return id.getSeq(); +} + void PresenterNotesView::Layout() { diff --git a/sdext/source/presenter/PresenterNotesView.hxx b/sdext/source/presenter/PresenterNotesView.hxx index 1af3f241f004..05368a7151c6 100644 --- a/sdext/source/presenter/PresenterNotesView.hxx +++ b/sdext/source/presenter/PresenterNotesView.hxx @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -45,7 +46,8 @@ typedef cppu::WeakComponentImplHelper< css::awt::XPaintListener, css::drawing::framework::XView, css::drawing::XDrawView, - css::awt::XKeyListener + css::awt::XKeyListener, + css::lang::XUnoTunnel > PresenterNotesViewInterfaceBase; /** A drawing framework view of the notes of a slide. At the moment this is @@ -117,6 +119,9 @@ public: virtual void SAL_CALL keyPressed (const css::awt::KeyEvent& rEvent) override; virtual void SAL_CALL keyReleased (const css::awt::KeyEvent& rEvent) override; + sal_Int64 SAL_CALL getSomething(css::uno::Sequence const & aIdentifier) override; + static css::uno::Sequence const & getUnoTunnelId(); + private: css::uno::Reference mxViewId; ::rtl::Reference mpPresenterController; diff --git a/sdext/source/presenter/PresenterProtocolHandler.cxx b/sdext/source/presenter/PresenterProtocolHandler.cxx index a32a73b6180e..bda104ce37d8 100644 --- a/sdext/source/presenter/PresenterProtocolHandler.cxx +++ b/sdext/source/presenter/PresenterProtocolHandler.cxx @@ -24,6 +24,7 @@ #include "PresenterPaneContainer.hxx" #include "PresenterViewFactory.hxx" #include "PresenterWindowManager.hxx" +#include #include #include #include @@ -792,7 +793,7 @@ NotesFontSizeCommand::NotesFontSizeCommand( if (!pDescriptor) return nullptr; - return dynamic_cast(pDescriptor->mxView.get()); + return comphelper::getFromUnoTunnel(pDescriptor->mxView); } void NotesFontSizeCommand::Execute()