vcl/inc/qt5/QtClipboard.hxx |    8 +++-----
 vcl/qt5/QtClipboard.cxx     |   14 --------------
 vcl/qt5/QtInstance.cxx      |   14 ++++++++++++--
 3 files changed, 15 insertions(+), 21 deletions(-)

New commits:
commit e015ab29dfbe3c2dab0a1fc290ebb8112166a0d2
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Feb 27 12:39:16 2026 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Feb 28 09:16:40 2026 +0100

    qt: Move QtClipboard::create logic to only caller
    
    This also prepares for an upcoming
    refactor to pass more specific args
    to SalInstance::CreateClipboard.
    
    The original purpose of QtClipboard::create
    "to construct only valid QtClipboard objects by name"
    is obsolete since previous commit
    
        Change-Id: Ifa77093ce43b70c6e048ed0cc8c083eacc1bec59
        Author: Michael Weghorn <[email protected]>
        Date:   Fri Feb 27 12:15:49 2026 +0100
    
            qt: Don't store clipboard name in QtClipboard
    
    anyway.
    
    Change-Id: Ia06c7779912949a21e14be933e945e899209d33c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200617
    Reviewed-by: Michael Weghorn <[email protected]>
    Tested-by: Jenkins

diff --git a/vcl/inc/qt5/QtClipboard.hxx b/vcl/inc/qt5/QtClipboard.hxx
index 6b7283769992..e1185aff3eb1 100644
--- a/vcl/inc/qt5/QtClipboard.hxx
+++ b/vcl/inc/qt5/QtClipboard.hxx
@@ -51,9 +51,6 @@ class QtClipboard final
     
std::vector<css::uno::Reference<css::datatransfer::clipboard::XClipboardListener>>
 m_aListeners;
 
     bool isOwner(const QClipboard::Mode eMode);
-    static bool isSupported(const QClipboard::Mode eMode);
-
-    explicit QtClipboard(const QClipboard::Mode eMode);
 
 private Q_SLOTS:
     void handleChanged(QClipboard::Mode eMode);
@@ -63,8 +60,9 @@ signals:
     void clearClipboard();
 
 public:
-    // factory function to construct only valid QtClipboard objects by name
-    static rtl::Reference<QtClipboard> create(const OUString& aModeString);
+    explicit QtClipboard(const QClipboard::Mode eMode);
+
+    static bool isSupported(const QClipboard::Mode eMode);
 
     // XServiceInfo
     virtual OUString SAL_CALL getImplementationName() override;
diff --git a/vcl/qt5/QtClipboard.cxx b/vcl/qt5/QtClipboard.cxx
index 3666e366c6cc..defd2ab5d391 100644
--- a/vcl/qt5/QtClipboard.cxx
+++ b/vcl/qt5/QtClipboard.cxx
@@ -47,20 +47,6 @@ QtClipboard::QtClipboard(const QClipboard::Mode eMode)
             Qt::QueuedConnection);
 }
 
-rtl::Reference<QtClipboard> QtClipboard::create(const OUString& aModeString)
-{
-    static const std::map<OUString, QClipboard::Mode> aNameToClipboardMap
-        = { { "CLIPBOARD", QClipboard::Clipboard }, { "PRIMARY", 
QClipboard::Selection } };
-
-    assert(QApplication::clipboard()->thread() == qApp->thread());
-
-    auto iter = aNameToClipboardMap.find(aModeString);
-    if (iter != aNameToClipboardMap.end() && isSupported(iter->second))
-        return new QtClipboard(iter->second);
-    SAL_WARN("vcl.qt", "Ignoring unrecognized clipboard type: '" << 
aModeString << "'");
-    return nullptr;
-}
-
 void QtClipboard::flushClipboard()
 {
     SolarMutexGuard g;
diff --git a/vcl/qt5/QtInstance.cxx b/vcl/qt5/QtInstance.cxx
index f8fd10f223b5..62446e9cc21b 100644
--- a/vcl/qt5/QtInstance.cxx
+++ b/vcl/qt5/QtInstance.cxx
@@ -668,8 +668,18 @@ QtInstance::CreateClipboard(const 
css::uno::Sequence<css::uno::Any>& arguments)
     if (it != m_aClipboards.end())
         return it->second;
 
-    rtl::Reference<QtClipboard> pClipboard
-        = EmscriptenLightweightRunInMainThread([&sel] { return 
QtClipboard::create(sel); });
+    rtl::Reference<QtClipboard> pClipboard = 
EmscriptenLightweightRunInMainThread([&sel] {
+        static const std::map<OUString, QClipboard::Mode> aNameToClipboardMap
+            = { { "CLIPBOARD", QClipboard::Clipboard }, { "PRIMARY", 
QClipboard::Selection } };
+
+        assert(QApplication::clipboard()->thread() == qApp->thread());
+
+        auto iter = aNameToClipboardMap.find(sel);
+        if (iter != aNameToClipboardMap.end() && 
QtClipboard::isSupported(iter->second))
+            return rtl::Reference<QtClipboard>(new QtClipboard(iter->second));
+        SAL_WARN("vcl.qt", "Ignoring unrecognized clipboard type: '" << sel << 
"'");
+        return rtl::Reference<QtClipboard>();
+    });
     if (pClipboard.is())
         m_aClipboards[sel] = pClipboard;
 

Reply via email to