diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-12-13 19:15:38 +0100 |
---|---|---|
committer | Katarina Behrens <Katarina.Behrens@cib.de> | 2018-12-14 10:40:19 +0100 |
commit | bdeabe631f951a7d63f02426856cdbcdfc73328d (patch) | |
tree | edbea24a0c05e46be4434ddf3a284b954e4c160b /vcl | |
parent | 117d91cfb4a11b9fc71ca58fc60345c6b05dd5aa (diff) |
tdf#122042: It's two clipboards, actually
Change-Id: I0e975bb73211b1d4ddb2e721659f64b361d11322
Reviewed-on: https://gerrit.libreoffice.org/65121
Tested-by: Jenkins
Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/qt5/Qt5Instance.hxx | 2 | ||||
-rw-r--r-- | vcl/qt5/Qt5Instance.cxx | 13 |
2 files changed, 9 insertions, 6 deletions
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx index d848ff219792..91682bd87950 100644 --- a/vcl/inc/qt5/Qt5Instance.hxx +++ b/vcl/inc/qt5/Qt5Instance.hxx @@ -40,7 +40,7 @@ class VCLPLUG_QT5_PUBLIC Qt5Instance : public QObject, osl::Condition m_aWaitingYieldCond; int m_postUserEventId; const bool m_bUseCairo; - css::uno::Reference<css::uno::XInterface> m_xClipboard; + std::unordered_map<OUString, css::uno::Reference<css::uno::XInterface>> m_aClipboards; public: std::unique_ptr<QApplication> m_pQApplication; diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx index 1acf49d4505a..2e21f2563d90 100644 --- a/vcl/qt5/Qt5Instance.cxx +++ b/vcl/qt5/Qt5Instance.cxx @@ -244,14 +244,17 @@ Qt5Instance::CreateClipboard(const css::uno::Sequence<css::uno::Any>& arguments) css::uno::Reference<css::uno::XInterface>(), -1); } - if (!m_xClipboard.is()) + auto it = m_aClipboards.find(sel); + if (it != m_aClipboards.end()) { - css::uno::Reference<css::uno::XInterface> xClipboard( - static_cast<cppu::OWeakObject*>(new VclQt5Clipboard())); - m_xClipboard = xClipboard; + return it->second; } - return m_xClipboard; + css::uno::Reference<css::uno::XInterface> xClipboard( + static_cast<cppu::OWeakObject*>(new VclQt5Clipboard())); + m_aClipboards[sel] = xClipboard; + + return xClipboard; } Reference<XInterface> Qt5Instance::CreateDragSource() |