summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-01-13 15:09:47 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-01-14 10:51:22 +0000
commit8d97a90564abba49dcc072d33ddd12c93f4992fe (patch)
tree5a802ee1c9394a95ec739e0027bd5c3bb4d5534e
parent6f812b7ac60c1c4fbc8ccba234c19ccf3871dee4 (diff)
XUnoTunnel->dynamic_cast in VCLXMenu
Change-Id: Iee992e2e09647a7678fd05321e601a4c5bf0c430 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145469 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--framework/source/layoutmanager/layoutmanager.cxx4
-rw-r--r--framework/source/uielement/newmenucontroller.cxx4
-rw-r--r--include/toolkit/awt/vclxmenu.hxx5
-rw-r--r--toolkit/source/awt/vclxmenu.cxx10
-rw-r--r--toolkit/source/awt/vclxtopwindow.cxx2
5 files changed, 8 insertions, 17 deletions
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 9220b805c83a..ec6ed5572d94 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -181,7 +181,7 @@ void LayoutManager::implts_createMenuBar(const OUString& rMenuBarName)
if ( !xMenuBar.is() )
return;
- VCLXMenu* pAwtMenuBar = comphelper::getFromUnoTunnel<VCLXMenu>( xMenuBar );
+ VCLXMenu* pAwtMenuBar = dynamic_cast<VCLXMenu*>( xMenuBar.get() );
if ( pAwtMenuBar )
{
MenuBar* pMenuBar = static_cast<MenuBar*>(pAwtMenuBar->GetMenu());
@@ -229,7 +229,7 @@ void LayoutManager::impl_clearUpMenuBar()
}
}
- VCLXMenu* pAwtMenuBar = comphelper::getFromUnoTunnel<VCLXMenu>( xMenuBar );
+ VCLXMenu* pAwtMenuBar = dynamic_cast<VCLXMenu*>( xMenuBar.get() );
if ( pAwtMenuBar )
pSetMenuBar = static_cast<MenuBar*>(pAwtMenuBar->GetMenu());
}
diff --git a/framework/source/uielement/newmenucontroller.cxx b/framework/source/uielement/newmenucontroller.cxx
index c36818341ad0..3e2260e3fae8 100644
--- a/framework/source/uielement/newmenucontroller.cxx
+++ b/framework/source/uielement/newmenucontroller.cxx
@@ -283,7 +283,7 @@ NewMenuController::~NewMenuController()
// private function
void NewMenuController::fillPopupMenu( Reference< css::awt::XPopupMenu > const & rPopupMenu )
{
- VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(comphelper::getFromUnoTunnel<VCLXMenu>( rPopupMenu ));
+ VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(dynamic_cast<VCLXMenu*>( rPopupMenu.get() ));
PopupMenu* pVCLPopupMenu = nullptr;
SolarMutexGuard aSolarMutexGuard;
@@ -367,7 +367,7 @@ void SAL_CALL NewMenuController::itemSelected( const css::awt::MenuEvent& rEvent
if ( !xPopupMenu.is() )
return;
- VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(comphelper::getFromUnoTunnel<VCLXMenu>( xPopupMenu ));
+ VCLXPopupMenu* pPopupMenu = static_cast<VCLXPopupMenu *>(dynamic_cast<VCLXMenu*>( xPopupMenu.get() ));
if ( !pPopupMenu )
return;
diff --git a/include/toolkit/awt/vclxmenu.hxx b/include/toolkit/awt/vclxmenu.hxx
index 096c370bce82..bc971a2088ec 100644
--- a/include/toolkit/awt/vclxmenu.hxx
+++ b/include/toolkit/awt/vclxmenu.hxx
@@ -28,7 +28,6 @@
#include <com/sun/star/awt/XPopupMenu.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/weak.hxx>
@@ -54,7 +53,6 @@ class TOOLKIT_DLLPUBLIC VCLXMenu : public css::awt::XMenuBar,
public css::awt::XPopupMenu,
public css::lang::XServiceInfo,
public css::lang::XTypeProvider,
- public css::lang::XUnoTunnel,
public ::cppu::OWeakObject
{
private:
@@ -87,9 +85,6 @@ public:
void SAL_CALL acquire() noexcept override { OWeakObject::acquire(); }
void SAL_CALL release() noexcept override { OWeakObject::release(); }
- // css::lang::XUnoTunnel
- UNO3_GETIMPLEMENTATION_DECL(VCLXMenu)
-
// css::lang::XTypeProvider
css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override;
css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
diff --git a/toolkit/source/awt/vclxmenu.cxx b/toolkit/source/awt/vclxmenu.cxx
index b17f32c2aebc..52edfb5caa49 100644
--- a/toolkit/source/awt/vclxmenu.cxx
+++ b/toolkit/source/awt/vclxmenu.cxx
@@ -214,22 +214,18 @@ css::uno::Any VCLXMenu::queryInterface(
static_cast< css::awt::XMenu* >(static_cast<css::awt::XMenuBar*>(this)),
static_cast< css::awt::XPopupMenu* >(this),
static_cast< css::lang::XTypeProvider* >(this),
- static_cast< css::lang::XServiceInfo* >(this),
- static_cast< css::lang::XUnoTunnel* >(this) );
+ static_cast< css::lang::XServiceInfo* >(this) );
else
aRet = ::cppu::queryInterface( rType,
static_cast< css::awt::XMenu* >(static_cast<css::awt::XMenuBar*>(this)),
static_cast< css::awt::XMenuBar* >(this),
static_cast< css::lang::XTypeProvider* >(this),
- static_cast< css::lang::XServiceInfo* >(this),
- static_cast< css::lang::XUnoTunnel* >(this) );
+ static_cast< css::lang::XServiceInfo* >(this) );
return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ));
}
-UNO3_GETIMPLEMENTATION_IMPL( VCLXMenu );
-
css::uno::Sequence< css::uno::Type > VCLXMenu::getTypes()
{
std::unique_lock aGuard( maMutex );
@@ -385,7 +381,7 @@ void VCLXMenu::setPopupMenu(
SolarMutexGuard aSolarGuard;
std::unique_lock aGuard( maMutex );
- VCLXMenu* pVCLMenu = comphelper::getFromUnoTunnel<VCLXMenu>( rxPopupMenu );
+ VCLXMenu* pVCLMenu = dynamic_cast<VCLXMenu*>( rxPopupMenu.get() );
DBG_ASSERT( pVCLMenu && pVCLMenu->GetMenu() && pVCLMenu->IsPopupMenu(), "setPopupMenu: Invalid Menu!" );
if ( mpMenu && pVCLMenu && pVCLMenu->GetMenu() && pVCLMenu->IsPopupMenu() )
diff --git a/toolkit/source/awt/vclxtopwindow.cxx b/toolkit/source/awt/vclxtopwindow.cxx
index 7e392675b3f7..5a06c8e21506 100644
--- a/toolkit/source/awt/vclxtopwindow.cxx
+++ b/toolkit/source/awt/vclxtopwindow.cxx
@@ -128,7 +128,7 @@ void VCLXTopWindow::setMenuBar( const css::uno::Reference< css::awt::XMenuBar >&
pSystemWindow->SetMenuBar( nullptr );
if ( rxMenu.is() )
{
- VCLXMenu* pMenu = comphelper::getFromUnoTunnel<VCLXMenu>( rxMenu );
+ VCLXMenu* pMenu = dynamic_cast<VCLXMenu*>( rxMenu.get() );
if ( pMenu && !pMenu->IsPopupMenu() )
pSystemWindow->SetMenuBar( static_cast<MenuBar*>( pMenu->GetMenu() ));
}