vcl/inc/qt5/QtClipboard.hxx |    4 ++--
 vcl/inc/qt5/QtInstance.hxx  |    4 ++--
 vcl/qt5/QtClipboard.cxx     |    3 +--
 vcl/qt5/QtInstance.cxx      |    8 ++++----
 4 files changed, 9 insertions(+), 10 deletions(-)

New commits:
commit b0b7f4126c9ea07f5e85fb6b6da53bfb13259518
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Feb 27 12:32:53 2026 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Feb 28 09:15:47 2026 +0100

    qt: Use more concrete QtClipboard type in QtInstance
    
    ... instead of the abstract
    css::datatransfer::clipboard::XClipboard UNO interface.
    
    Change-Id: I05b238496d54e462f132a324278a7e43db407950
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200616
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/inc/qt5/QtClipboard.hxx b/vcl/inc/qt5/QtClipboard.hxx
index 99afc47123bd..6b7283769992 100644
--- a/vcl/inc/qt5/QtClipboard.hxx
+++ b/vcl/inc/qt5/QtClipboard.hxx
@@ -17,6 +17,7 @@
 #include <com/sun/star/datatransfer/clipboard/XClipboardOwner.hpp>
 #include <com/sun/star/datatransfer/clipboard/XClipboardListener.hpp>
 #include <cppuhelper/compbase.hxx>
+#include <rtl/ref.hxx>
 
 #include <QtGui/QClipboard>
 
@@ -63,8 +64,7 @@ signals:
 
 public:
     // factory function to construct only valid QtClipboard objects by name
-    static css::uno::Reference<css::datatransfer::clipboard::XClipboard>
-    create(const OUString& aModeString);
+    static rtl::Reference<QtClipboard> create(const OUString& aModeString);
 
     // XServiceInfo
     virtual OUString SAL_CALL getImplementationName() override;
diff --git a/vcl/inc/qt5/QtInstance.hxx b/vcl/inc/qt5/QtInstance.hxx
index 1a688be5c3ef..a49e7b44c8fd 100644
--- a/vcl/inc/qt5/QtInstance.hxx
+++ b/vcl/inc/qt5/QtInstance.hxx
@@ -44,6 +44,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
 #include "QtFilePicker.hxx"
 #include <salinst.hxx>
 
+class QtClipboard;
 class QtFrame;
 class QtTimer;
 
@@ -74,8 +75,7 @@ class VCLPLUG_QT_PUBLIC QtInstance : public QObject,
     const bool m_bUseCairo;
     QtTimer* m_pTimer;
     bool m_bSleeping;
-    std::unordered_map<OUString, 
css::uno::Reference<css::datatransfer::clipboard::XClipboard>>
-        m_aClipboards;
+    std::unordered_map<OUString, rtl::Reference<QtClipboard>> m_aClipboards;
 
     std::unique_ptr<QApplication> m_pQApplication;
     std::vector<FreeableCStr> m_pFakeArgvFreeable;
diff --git a/vcl/qt5/QtClipboard.cxx b/vcl/qt5/QtClipboard.cxx
index 2c451ec3bc5e..3666e366c6cc 100644
--- a/vcl/qt5/QtClipboard.cxx
+++ b/vcl/qt5/QtClipboard.cxx
@@ -47,8 +47,7 @@ QtClipboard::QtClipboard(const QClipboard::Mode eMode)
             Qt::QueuedConnection);
 }
 
-css::uno::Reference<css::datatransfer::clipboard::XClipboard>
-QtClipboard::create(const OUString& aModeString)
+rtl::Reference<QtClipboard> QtClipboard::create(const OUString& aModeString)
 {
     static const std::map<OUString, QClipboard::Mode> aNameToClipboardMap
         = { { "CLIPBOARD", QClipboard::Clipboard }, { "PRIMARY", 
QClipboard::Selection } };
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index 8f47df7e8e09..f8fd10f223b5 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -668,12 +668,12 @@ QtInstance::CreateClipboard(const 
css::uno::Sequence<css::uno::Any>& arguments)
     if (it != m_aClipboards.end())
         return it->second;
 
-    css::uno::Reference<css::datatransfer::clipboard::XClipboard> xClipboard
+    rtl::Reference<QtClipboard> pClipboard
         = EmscriptenLightweightRunInMainThread([&sel] { return 
QtClipboard::create(sel); });
-    if (xClipboard.is())
-        m_aClipboards[sel] = xClipboard;
+    if (pClipboard.is())
+        m_aClipboards[sel] = pClipboard;
 
-    return xClipboard;
+    return pClipboard;
 }
 
 css::uno::Reference<css::datatransfer::dnd::XDragSource>

Reply via email to