diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-08-27 11:06:57 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-08-27 11:08:40 +0100 |
commit | 26786ae2e98cbe041766872e9aacce6d07e6a5c4 (patch) | |
tree | 989d95f72d10633215c87187397ed68930a9e2dd | |
parent | c80bd6fc7c066b7b8da1e1135852155d867f559b (diff) |
gtk3: paste special empty
the paste special listener listens to owner changed, but expects
the owner changed event to contain the new contents, while the
original code expected getContents to be explicitly called to get
the new contents. So on owner changed always return the up to
date contents
Change-Id: Iaa7df2c01d360c3c5831b2258b4c2d41740fdffc
-rw-r--r-- | vcl/unx/gtk3/app/gtk3gtkinst.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/unx/gtk3/app/gtk3gtkinst.cxx b/vcl/unx/gtk3/app/gtk3gtkinst.cxx index d8c278f62f8c..823d741de564 100644 --- a/vcl/unx/gtk3/app/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/app/gtk3gtkinst.cxx @@ -529,7 +529,6 @@ void VclGtkClipboard::setContents( std::list< Reference< datatransfer::clipboard::XClipboardListener > > xListeners( m_aListeners ); datatransfer::clipboard::ClipboardEvent aEv; - aEv.Contents = m_aContents; if (m_aContents.is()) { @@ -579,6 +578,8 @@ void VclGtkClipboard::setContents( m_aGtkTargets = aGtkTargets; } + aEv.Contents = getContents(); + aGuard.clear(); if( xOldOwner.is() && xOldOwner != xClipboardOwner ) |