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 /vcl/unx/gtk3 | |
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
Diffstat (limited to 'vcl/unx/gtk3')
-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 ) |