vcl/headless/svpinst.cxx                  |    5 -----
 vcl/inc/headless/svpinst.hxx              |    2 --
 vcl/inc/osx/salinst.h                     |    1 -
 vcl/inc/qt5/QtInstance.hxx                |    2 --
 vcl/inc/salinst.hxx                       |    2 +-
 vcl/inc/win/salinst.h                     |    1 -
 vcl/osx/salinst.cxx                       |    5 -----
 vcl/qt5/QtInstance.cxx                    |    2 --
 vcl/source/app/salvtables.cxx             |    2 ++
 vcl/unx/generic/dtrans/X11_droptarget.cxx |   21 ++++++---------------
 vcl/unx/generic/dtrans/X11_selection.hxx  |   12 +++---------
 vcl/unx/generic/dtrans/X11_service.cxx    |    3 +--
 vcl/win/app/salinst.cxx                   |    5 -----
 13 files changed, 13 insertions(+), 50 deletions(-)

New commits:
commit d99622d7aba2bf14ebf9098d7e1627e1b5e4e111
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Fri Jul 4 10:10:17 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Jul 5 07:44:26 2025 +0200

    vcl: Have default SalInstance::GetConnectionIdentifier impl
    
    All overrides of the purely virtual
    SalInstance::GetConnectionIdentifier except
    X11SalInstance::GetConnectionIdentifier were returning
    an empty string.
    
    Move that logic to the base class instead.
    
    Change-Id: I0ffe92f7d9657eed8be951043b8ebfaa454d6c3b
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187367
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/headless/svpinst.cxx b/vcl/headless/svpinst.cxx
index 43aba3e840c2..8d6fcd9288e9 100644
--- a/vcl/headless/svpinst.cxx
+++ b/vcl/headless/svpinst.cxx
@@ -549,11 +549,6 @@ bool SvpSalInstance::AnyInput( VclInputFlags nType )
     return false;
 }
 
-OUString SvpSalInstance::GetConnectionIdentifier()
-{
-    return OUString();
-}
-
 void SvpSalInstance::StopTimer()
 {
     m_aTimeout.tv_sec   = 0;
diff --git a/vcl/inc/headless/svpinst.hxx b/vcl/inc/headless/svpinst.hxx
index 79e46dfae0ab..2a420d15c80d 100644
--- a/vcl/inc/headless/svpinst.hxx
+++ b/vcl/inc/headless/svpinst.hxx
@@ -175,8 +175,6 @@ public:
     SAL_DLLPRIVATE virtual bool IsMainThread() const override;
     virtual void            updateMainThread() override;
 
-    virtual OUString        GetConnectionIdentifier() override;
-
     SAL_DLLPRIVATE virtual void AddToRecentDocumentList(const OUString& 
rFileUrl, const OUString& rMimeType, const OUString& rDocumentService) override;
 
     SAL_DLLPRIVATE virtual std::unique_ptr<GenPspGraphics> 
CreatePrintGraphics() override;
diff --git a/vcl/inc/osx/salinst.h b/vcl/inc/osx/salinst.h
index a7dffb67eef0..0a4b66cd1660 100644
--- a/vcl/inc/osx/salinst.h
+++ b/vcl/inc/osx/salinst.h
@@ -130,7 +130,6 @@ public:
     virtual std::unique_ptr<SalMenu>     CreateMenu( bool bMenuBar, Menu* 
pVCLMenu ) override;
     virtual std::unique_ptr<SalMenuItem> CreateMenuItem( const SalItemParams & 
rItemData ) override;
     virtual OpenGLContext*  CreateOpenGLContext() override;
-    virtual OUString        GetConnectionIdentifier() override;
     virtual void            AddToRecentDocumentList(const OUString& rFileUrl, 
const OUString& rMimeType,
                                                     const OUString& 
rDocumentService) override;
 
diff --git a/vcl/inc/qt5/QtInstance.hxx b/vcl/inc/qt5/QtInstance.hxx
index 40057554170d..9e60c37ae691 100644
--- a/vcl/inc/qt5/QtInstance.hxx
+++ b/vcl/inc/qt5/QtInstance.hxx
@@ -198,8 +198,6 @@ public:
     virtual OpenGLContext* CreateOpenGLContext() override;
 #endif
 
-    virtual OUString GetConnectionIdentifier() override;
-
     virtual void AddToRecentDocumentList(const OUString& rFileUrl, const 
OUString& rMimeType,
                                          const OUString& rDocumentService) 
override;
 
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index a07f8200b811..856943d6226f 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -186,7 +186,7 @@ public:
 
     bool                    CallEventCallback( void const * pEvent, int nBytes 
);
 
-    virtual OUString        GetConnectionIdentifier() = 0;
+    virtual OUString GetConnectionIdentifier();
 
     // dtrans implementation
     virtual css::uno::Reference<css::datatransfer::clipboard::XClipboard>
diff --git a/vcl/inc/win/salinst.h b/vcl/inc/win/salinst.h
index dc7f2eb61a0f..9f4e53f597b5 100644
--- a/vcl/inc/win/salinst.h
+++ b/vcl/inc/win/salinst.h
@@ -74,7 +74,6 @@ public:
     virtual std::unique_ptr<SalMenu>     CreateMenu( bool bMenuBar, Menu* ) 
override;
     virtual std::unique_ptr<SalMenuItem> CreateMenuItem( const SalItemParams & 
rItemData ) override;
     virtual OpenGLContext*      CreateOpenGLContext() override;
-    virtual OUString            GetConnectionIdentifier() override;
     virtual void                AddToRecentDocumentList(const OUString& 
rFileUrl, const OUString& rMimeType, const OUString& rDocumentService) override;
 
     static DWORD getWindowsBuildNumber();
diff --git a/vcl/osx/salinst.cxx b/vcl/osx/salinst.cxx
index e3c654ff558a..046d4c87231d 100644
--- a/vcl/osx/salinst.cxx
+++ b/vcl/osx/salinst.cxx
@@ -929,11 +929,6 @@ void AquaSalInstance::DestroyInfoPrinter( SalInfoPrinter* 
pPrinter )
     delete pPrinter;
 }
 
-OUString AquaSalInstance::GetConnectionIdentifier()
-{
-    return OUString();
-}
-
 // We need to re-encode file urls because osl_getFileURLFromSystemPath converts
 // to UTF-8 before encoding non ascii characters, which is not what other apps 
expect.
 static OUString translateToExternalUrl(const OUString& internalUrl)
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index 2e5cb4368f06..67482dcefed7 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -558,8 +558,6 @@ bool QtInstance::AnyInput(VclInputFlags nType)
     return bResult;
 }
 
-OUString QtInstance::GetConnectionIdentifier() { return OUString(); }
-
 void QtInstance::AddToRecentDocumentList(const OUString&, const OUString&, 
const OUString&) {}
 
 #ifndef EMSCRIPTEN
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index c99a3a8bf482..fdce55ced8d4 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -166,6 +166,8 @@ bool SalInstance::CallEventCallback(void const* pEvent, int 
nBytes)
     return m_pEventInst.is() && m_pEventInst->dispatchEvent(pEvent, nBytes);
 }
 
+OUString SalInstance::GetConnectionIdentifier() { return OUString(); }
+
 bool SalInstance::DoExecute(int&)
 {
     // can't run on system event loop without implementing DoExecute and DoQuit
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 53e60b25c2b0..dc7f93dccd3c 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -797,11 +797,6 @@ void WinSalInstance::DestroyObject( SalObject* pObject )
     SendMessageW( mhComWnd, SAL_MSG_DESTROYOBJECT, 0, 
reinterpret_cast<LPARAM>(pObject) );
 }
 
-OUString WinSalInstance::GetConnectionIdentifier()
-{
-    return OUString();
-}
-
 /** Add a file to the system shells recent document list if there is any.
       This function may have no effect under Unix because there is no
       standard API among the different desktop managers.
commit 30b4c1d7876d29ef29ccc4a6245448c59718abce
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Fri Jul 4 10:01:23 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Sat Jul 5 07:44:17 2025 +0200

    gen: Simplify DropTarget init, don't use XInitialization
    
    Instead of implementing the XInitialization UNO
    interface and passing the relevant ::Window
    wrapped in a Sequence<Any>, no longer implement
    that interface and switch to a method that
    simply takes that one param.
    
    Change-Id: I76deabdecb8c2ed2c44ff1fd70cf04544a6091a1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187366
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/unx/generic/dtrans/X11_droptarget.cxx 
b/vcl/unx/generic/dtrans/X11_droptarget.cxx
index 02b20ebeb088..5b5c448bf2d6 100644
--- a/vcl/unx/generic/dtrans/X11_droptarget.cxx
+++ b/vcl/unx/generic/dtrans/X11_droptarget.cxx
@@ -27,15 +27,11 @@ using namespace com::sun::star::awt;
 using namespace com::sun::star::datatransfer;
 using namespace com::sun::star::datatransfer::dnd;
 
-DropTarget::DropTarget() :
-        ::cppu::WeakComponentImplHelper<
-            XDropTarget,
-            XInitialization,
-            XServiceInfo
-        >( m_aMutex ),
-    m_bActive( false ),
-    m_nDefaultActions( 0 ),
-    m_aTargetWindow( None )
+DropTarget::DropTarget()
+    : ::cppu::WeakComponentImplHelper<XDropTarget, XServiceInfo>(m_aMutex)
+    , m_bActive(false)
+    , m_nDefaultActions(0)
+    , m_aTargetWindow(None)
 {
 }
 
@@ -45,18 +41,13 @@ DropTarget::~DropTarget()
         m_xSelectionManager->deregisterDropTarget( m_aTargetWindow );
 }
 
-void DropTarget::initialize( const Sequence< Any >& arguments )
+void DropTarget::initialize(::Window aWindow)
 {
-    if( arguments.getLength() <= 1 )
-        return;
-
     m_xSelectionManager = &SelectionManager::get();
     m_xSelectionManager->initialize();
 
     if( m_xSelectionManager->getDisplay() ) // #136582# sanity check
     {
-        sal_IntPtr aWindow = None;
-        arguments.getConstArray()[1] >>= aWindow;
         m_xSelectionManager->registerDropTarget( aWindow, this );
         m_aTargetWindow = aWindow;
         m_bActive = true;
diff --git a/vcl/unx/generic/dtrans/X11_selection.hxx 
b/vcl/unx/generic/dtrans/X11_selection.hxx
index 8cc9e4212800..8ebecb05daea 100644
--- a/vcl/unx/generic/dtrans/X11_selection.hxx
+++ b/vcl/unx/generic/dtrans/X11_selection.hxx
@@ -25,7 +25,6 @@
 #include <com/sun/star/datatransfer/dnd/XDropTarget.hpp>
 #include <com/sun/star/datatransfer/dnd/XDragSource.hpp>
 #include <com/sun/star/awt/XDisplayConnection.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
 #include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/frame/XDesktop2.hpp>
@@ -62,12 +61,8 @@ namespace x11 {
         ~SelectionAdaptor() {}
     };
 
-    class DropTarget :
-        public ::cppu::WeakComponentImplHelper<
-            css::datatransfer::dnd::XDropTarget,
-            css::lang::XInitialization,
-            css::lang::XServiceInfo
-        >
+    class DropTarget : public 
::cppu::WeakComponentImplHelper<css::datatransfer::dnd::XDropTarget,
+                                                              
css::lang::XServiceInfo>
     {
     public:
         ::osl::Mutex                m_aMutex;
@@ -88,8 +83,7 @@ namespace x11 {
         void dragOver( const css::datatransfer::dnd::DropTargetDragEvent& dtde 
) noexcept;
         void drop( const css::datatransfer::dnd::DropTargetDropEvent& dtde ) 
noexcept;
 
-        // XInitialization
-        virtual void        SAL_CALL initialize( const css::uno::Sequence< 
css::uno::Any >& args ) override;
+        void initialize(::Window aWindow);
 
         // XDropTarget
         virtual void        SAL_CALL addDropTargetListener( const 
css::uno::Reference< css::datatransfer::dnd::XDropTargetListener >& ) override;
diff --git a/vcl/unx/generic/dtrans/X11_service.cxx 
b/vcl/unx/generic/dtrans/X11_service.cxx
index 3237122fcec5..4e268f4f20f9 100644
--- a/vcl/unx/generic/dtrans/X11_service.cxx
+++ b/vcl/unx/generic/dtrans/X11_service.cxx
@@ -95,8 +95,7 @@ X11SalInstance::ImplCreateDropTarget(const SystemEnvData* 
pSysEnv)
     X11SalFrame* pFrame = static_cast<X11SalFrame*>(pSysEnv->pSalFrame);
     ::Window aShellWindow = pFrame ? pFrame->GetShellWindow() : 0;
     if (aShellWindow)
-        xDropTarget->initialize({ 
css::uno::Any(Application::GetDisplayConnection()),
-                                  
css::uno::Any(static_cast<sal_uInt64>(aShellWindow)) });
+        xDropTarget->initialize(aShellWindow);
 
     return xDropTarget;
 }

Reply via email to