summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2018-12-06 15:46:57 +0100
committerKatarina Behrens <Katarina.Behrens@cib.de>2018-12-07 10:19:11 +0100
commit1e3d6c801ffa051f42188c917b17f171aedaeddf (patch)
treeb4c44a07f511a37a577c803570e972740ad9f2cd /vcl
parentc354b7d20f428c87a133148579f37ec434505a48 (diff)
tdf#120625: All vcl windows now share 1 instance of clipboard
so we can copy'n'pasta between apps (or 2 instances of the same app) Copy'n'pasta into system clipboard is still buggy for non-Writer apps Change-Id: I07f025172654dd3e6c0ef9cd5ad78d24224f039f Reviewed-on: https://gerrit.libreoffice.org/64721 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/qt5/Qt5Instance.hxx1
-rw-r--r--vcl/qt5/Qt5Instance.cxx10
2 files changed, 8 insertions, 3 deletions
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
index 254c81445997..d848ff219792 100644
--- a/vcl/inc/qt5/Qt5Instance.hxx
+++ b/vcl/inc/qt5/Qt5Instance.hxx
@@ -40,6 +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;
public:
std::unique_ptr<QApplication> m_pQApplication;
diff --git a/vcl/qt5/Qt5Instance.cxx b/vcl/qt5/Qt5Instance.cxx
index 8215b67b71ea..1acf49d4505a 100644
--- a/vcl/qt5/Qt5Instance.cxx
+++ b/vcl/qt5/Qt5Instance.cxx
@@ -244,10 +244,14 @@ Qt5Instance::CreateClipboard(const css::uno::Sequence<css::uno::Any>& arguments)
css::uno::Reference<css::uno::XInterface>(), -1);
}
- css::uno::Reference<css::uno::XInterface> xClipboard(
- static_cast<cppu::OWeakObject*>(new VclQt5Clipboard()));
+ if (!m_xClipboard.is())
+ {
+ css::uno::Reference<css::uno::XInterface> xClipboard(
+ static_cast<cppu::OWeakObject*>(new VclQt5Clipboard()));
+ m_xClipboard = xClipboard;
+ }
- return xClipboard;
+ return m_xClipboard;
}
Reference<XInterface> Qt5Instance::CreateDragSource()