summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-09-09 09:45:58 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-09-15 08:23:35 +0000
commit5b9501f6da42ba5b9d1b3c702d527bf8795cdd7c (patch)
treebc5e38c114e056afcac7f408d05d5f97ae95d805
parent5eb91d291d383c519c5b931bc6218c0c5caa8f3d (diff)
Resolves: tdf#93887 distinguish between empty selection lost selection
Change-Id: Id0be728602b3c58b2853ff464336d68303531efe (cherry picked from commit f3f1919aa4eca2f6180649eda43bcb813b1f0450) Reviewed-on: https://gerrit.libreoffice.org/18434 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
-rw-r--r--vcl/unx/gtk3/app/gtk3gtkinst.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/vcl/unx/gtk3/app/gtk3gtkinst.cxx b/vcl/unx/gtk3/app/gtk3gtkinst.cxx
index d8614dffa638..f8fd6a6f537f 100644
--- a/vcl/unx/gtk3/app/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/app/gtk3gtkinst.cxx
@@ -372,8 +372,11 @@ sal_Bool VclGtkClipboard::supportsService( const OUString& ServiceName ) throw(
Reference< css::datatransfer::XTransferable > VclGtkClipboard::getContents() throw( RuntimeException, std::exception )
{
- if (!m_aContents.is())
+ if (G_OBJECT(m_pOwner) != gtk_clipboard_get_owner(gtk_clipboard_get(m_nSelection)) &&
+ !m_aContents.is())
{
+ //tdf#93887 This is the system clipboard/selection. We fetch it when we are not
+ //the owner of the clipboard and have not already fetched it.
m_aContents = new GtkTransferable(m_nSelection);
}
return m_aContents;