diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-05-30 10:57:10 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-05-30 11:16:51 +0100 |
commit | 73f84ab139cb1d2564f9292fba08d69a0ab822c1 (patch) | |
tree | b971423c147277b5129ce0e6343d07ca4c6ed275 /vcl/unx/gtk3/gtk3gtkinst.cxx | |
parent | cd34f76d4ef7371892be4b8970a45d2d3e81e9db (diff) |
Resolves: tdf#100097 dbaccess self-dnd depends on getting its own transferable
on drop that it set on drag. It does some uno tunnel foo to drag the data it
needs back out of it in some grotesque fashion.
So we have to follow the same style of hackery as under MacOSX to detect
on drop that there is an active drag started by ourself and so use that
active drag's transferable as the source transferable for the drop, rather
that use the intermediate universal GtkDnDTransferable.
Change-Id: I3c3a94416db908603bde8f15dc5b1c9d726b8dbd
Diffstat (limited to 'vcl/unx/gtk3/gtk3gtkinst.cxx')
-rw-r--r-- | vcl/unx/gtk3/gtk3gtkinst.cxx | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx index 768f4b15e2ba..ed64ded2ece5 100644 --- a/vcl/unx/gtk3/gtk3gtkinst.cxx +++ b/vcl/unx/gtk3/gtk3gtkinst.cxx @@ -824,6 +824,12 @@ GtkDragSource::~GtkDragSource() { if (m_pFrame) m_pFrame->deregisterDragSource(this); + + if (GtkDragSource::g_ActiveDragSource == this) + { + SAL_WARN( "vcl.gtk", "dragEnd should have been called on GtkDragSource before dtor"); + GtkDragSource::g_ActiveDragSource = nullptr; + } } void GtkDragSource::deinitialize() |