summaryrefslogtreecommitdiff
path: root/sdext
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2022-12-13 10:28:31 +0100
committerStephan Bergmann <sbergman@redhat.com>2022-12-14 08:55:32 +0000
commit9e73ff9fce12e102bb3c3cea8d8bb96c88f2c9ad (patch)
tree5e95ad0cb9d0b6d3fa3bdc9b26a57d257e1b7092 /sdext
parenta98acca8fbc38d3fd5600ae5056a8e42b6d8a40d (diff)
loplugin:unocast (sdext::presenter::PresenterNotesView)
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: Iee184c75fb5d4a8f00b932c001df023de795c469 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144144 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'sdext')
-rw-r--r--sdext/source/presenter/PresenterAccessibility.cxx3
-rw-r--r--sdext/source/presenter/PresenterNotesView.cxx10
-rw-r--r--sdext/source/presenter/PresenterNotesView.hxx7
-rw-r--r--sdext/source/presenter/PresenterProtocolHandler.cxx3
4 files changed, 20 insertions, 3 deletions
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 <com/sun/star/drawing/framework/XPane.hpp>
#include <com/sun/star/drawing/framework/XView.hpp>
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
+#include <comphelper/servicehelper.hxx>
#include <cppuhelper/compbase.hxx>
#include <cppuhelper/implbase.hxx>
#include <o3tl/safeint.hxx>
@@ -513,7 +514,7 @@ void PresenterAccessible::UpdateAccessibilityHierarchy()
if (pNotesPane)
xNotesView = pNotesPane->mxView;
rtl::Reference<PresenterNotesView> pNotesView (
- dynamic_cast<PresenterNotesView*>(xNotesView.get()));
+ comphelper::getFromUnoTunnel<PresenterNotesView>(xNotesView));
UpdateAccessibilityHierarchy(
pPreviewPane ? pPreviewPane->mxContentWindow : Reference<awt::XWindow>(),
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 <com/sun/star/rendering/CompositeOperation.hpp>
#include <com/sun/star/rendering/XSpriteCanvas.hpp>
#include <com/sun/star/text/XTextRange.hpp>
+#include <comphelper/servicehelper.hxx>
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<sal_Int8> const & aIdentifier) {
+ return comphelper::getSomethingImpl(aIdentifier, this);
+}
+
+css::uno::Sequence<sal_Int8> 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 <com/sun/star/drawing/framework/XView.hpp>
#include <com/sun/star/drawing/framework/XResourceId.hpp>
#include <com/sun/star/frame/XController.hpp>
+#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <rtl/ref.hxx>
#include <memory>
@@ -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<sal_Int8> const & aIdentifier) override;
+ static css::uno::Sequence<sal_Int8> const & getUnoTunnelId();
+
private:
css::uno::Reference<css::drawing::framework::XResourceId> mxViewId;
::rtl::Reference<PresenterController> 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 <comphelper/servicehelper.hxx>
#include <cppuhelper/compbase.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <algorithm>
@@ -792,7 +793,7 @@ NotesFontSizeCommand::NotesFontSizeCommand(
if (!pDescriptor)
return nullptr;
- return dynamic_cast<PresenterNotesView*>(pDescriptor->mxView.get());
+ return comphelper::getFromUnoTunnel<PresenterNotesView>(pDescriptor->mxView);
}
void NotesFontSizeCommand::Execute()