summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2018-12-13 19:15:38 +0100
committerKatarina Behrens <Katarina.Behrens@cib.de>2018-12-14 10:40:19 +0100
commitbdeabe631f951a7d63f02426856cdbcdfc73328d (patch)
treeedbea24a0c05e46be4434ddf3a284b954e4c160b /vcl
parent117d91cfb4a11b9fc71ca58fc60345c6b05dd5aa (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.hxx2
-rw-r--r--vcl/qt5/Qt5Instance.cxx13
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()