vcl/inc/qt5/QtClipboard.hxx |    3 +--
 vcl/qt5/QtClipboard.cxx     |   19 +++++++++++++++----
 2 files changed, 16 insertions(+), 6 deletions(-)

New commits:
commit 4452eb01754d6bc42092fbc1a91ab3ba7f29ba04
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Feb 27 12:15:49 2026 +0100
Commit:     Michael Weghorn <[email protected]>
CommitDate: Sat Feb 28 09:15:05 2026 +0100

    qt: Don't store clipboard name in QtClipboard
    
    So far, the QtClipboard was taking a string
    param for the clipboard name that it stored
    and it was returning that in QtClipboard::getName.
    
    The only two values actually passed were
    "CLIPBOARD" and "SELECTION", see
    QtClipboard::create and they each correspond
    to a clipboard mode.
    
    Stop storing the string, and return the two
    known strings for the corresponding modes
    in QtClipboard::getName instead.
    
    This will simplify an upcoming refactoring.
    
    Change-Id: Ifa77093ce43b70c6e048ed0cc8c083eacc1bec59
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200615
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/vcl/inc/qt5/QtClipboard.hxx b/vcl/inc/qt5/QtClipboard.hxx
index 2acd26f4354a..99afc47123bd 100644
--- a/vcl/inc/qt5/QtClipboard.hxx
+++ b/vcl/inc/qt5/QtClipboard.hxx
@@ -36,7 +36,6 @@ class QtClipboard final
     Q_OBJECT
 
     osl::Mutex m_aMutex;
-    const OUString m_aClipboardName;
     const QClipboard::Mode m_eClipboardMode;
     // has to be set, if LO changes the QClipboard itself, so it won't 
instantly lose
     // ownership by it's self-triggered QClipboard::changed handler
@@ -53,7 +52,7 @@ class QtClipboard final
     bool isOwner(const QClipboard::Mode eMode);
     static bool isSupported(const QClipboard::Mode eMode);
 
-    explicit QtClipboard(OUString aModeString, const QClipboard::Mode eMode);
+    explicit QtClipboard(const QClipboard::Mode eMode);
 
 private Q_SLOTS:
     void handleChanged(QClipboard::Mode eMode);
diff --git a/vcl/qt5/QtClipboard.cxx b/vcl/qt5/QtClipboard.cxx
index 329d06eb0e42..2c451ec3bc5e 100644
--- a/vcl/qt5/QtClipboard.cxx
+++ b/vcl/qt5/QtClipboard.cxx
@@ -29,11 +29,10 @@
 #include <emscripten.h>
 #endif
 
-QtClipboard::QtClipboard(OUString aModeString, const QClipboard::Mode eMode)
+QtClipboard::QtClipboard(const QClipboard::Mode eMode)
     : 
cppu::WeakComponentImplHelper<css::datatransfer::clipboard::XSystemClipboard,
                                     
css::datatransfer::clipboard::XFlushableClipboard,
                                     XServiceInfo>(m_aMutex)
-    , m_aClipboardName(std::move(aModeString))
     , m_eClipboardMode(eMode)
     , m_bOwnClipboardChange(false)
     , m_bDoClear(false)
@@ -58,7 +57,7 @@ QtClipboard::create(const OUString& aModeString)
 
     auto iter = aNameToClipboardMap.find(aModeString);
     if (iter != aNameToClipboardMap.end() && isSupported(iter->second))
-        return new QtClipboard(aModeString, iter->second);
+        return new QtClipboard(iter->second);
     SAL_WARN("vcl.qt", "Ignoring unrecognized clipboard type: '" << 
aModeString << "'");
     return nullptr;
 }
@@ -262,7 +261,19 @@ sal_Bool QtClipboard::supportsService(const OUString& 
ServiceName)
     return cppu::supportsService(this, ServiceName);
 }
 
-OUString QtClipboard::getName() { return m_aClipboardName; }
+OUString QtClipboard::getName()
+{
+    switch (m_eClipboardMode)
+    {
+        case QClipboard::Clipboard:
+            return u"CLIPBOARD"_ustr;
+        case QClipboard::Selection:
+            return u"PRIMARY"_ustr;
+        default:
+            assert(false && "unexpected clipboard mode");
+            return OUString();
+    }
+}
 
 sal_Int8 QtClipboard::getRenderingCapabilities() { return 0; }
 

Reply via email to