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>
diff --git a/vcl/inc/qt5/Qt5Instance.hxx b/vcl/inc/qt5/Qt5Instance.hxx
index d848ff2..91682bd 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 1acf49d..2e21f25 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()