vcl/unx/gtk3/gtkframe.cxx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
New commits: commit 344f8a96fda5880dfe812e3ae28cc943102d7779 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Jun 24 11:01:36 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Jun 24 21:43:55 2021 +0200 gtk4: finish dnd target we want to work with a GdkDrop not GtkDropTargetAsync to get the behaviour we expect Change-Id: If1f0904fec3a0bfd6dfba770db6c11774e4d23a8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/117774 Tested-by: Caolán McNamara <caol...@redhat.com> Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtkframe.cxx b/vcl/unx/gtk3/gtkframe.cxx index 80624112d9ec..89e3a3f59a83 100644 --- a/vcl/unx/gtk3/gtkframe.cxx +++ b/vcl/unx/gtk3/gtkframe.cxx @@ -4257,7 +4257,6 @@ class GtkDropTargetDropContext : public cppu::WeakImplHelper<css::datatransfer:: GdkDragContext *m_pContext; guint m_nTime; #else - GtkDropTargetAsync* m_pContext; GdkDrop* m_pDrop; #endif public: @@ -4266,9 +4265,8 @@ public: : m_pContext(pContext) , m_nTime(nTime) #else - GtkDropTargetDropContext(GtkDropTargetAsync* pContext, GdkDrop* pDrop) - : m_pContext(pContext) - , m_pDrop(pDrop) + GtkDropTargetDropContext(GdkDrop* pDrop) + : m_pDrop(pDrop) #endif { } @@ -4291,7 +4289,7 @@ public: #if !GTK_CHECK_VERSION(4, 0, 0) gdk_drag_status(m_pContext, static_cast<GdkDragAction>(0), m_nTime); #else - gtk_drop_target_async_reject_drop(m_pContext, m_pDrop); + gdk_drop_status(m_pDrop, gdk_drop_get_actions(m_pDrop), static_cast<GdkDragAction>(0)); #endif } @@ -4493,7 +4491,7 @@ gboolean GtkInstDropTarget::signalDragDrop(GtkDropTargetAsync* context, GdkDrop* #if !GTK_CHECK_VERSION(4, 0, 0) aEvent.Context = new GtkDropTargetDropContext(context, time); #else - aEvent.Context = new GtkDropTargetDropContext(context, drop); + aEvent.Context = new GtkDropTargetDropContext(drop); #endif aEvent.LocationX = x; aEvent.LocationY = y; @@ -4549,7 +4547,6 @@ class GtkDropTargetDragContext : public cppu::WeakImplHelper<css::datatransfer:: GdkDragContext *m_pContext; guint m_nTime; #else - GtkDropTargetAsync* m_pContext; GdkDrop* m_pDrop; #endif public: @@ -4558,9 +4555,8 @@ public: : m_pContext(pContext) , m_nTime(nTime) #else - GtkDropTargetDragContext(GtkDropTargetAsync* pContext, GdkDrop* pDrop) - : m_pContext(pContext) - , m_pDrop(pDrop) + GtkDropTargetDragContext(GdkDrop* pDrop) + : m_pDrop(pDrop) #endif { } @@ -4579,7 +4575,7 @@ public: #if !GTK_CHECK_VERSION(4, 0, 0) gdk_drag_status(m_pContext, static_cast<GdkDragAction>(0), m_nTime); #else - gtk_drop_target_async_reject_drop(m_pContext, m_pDrop); + gdk_drop_status(m_pDrop, gdk_drop_get_actions(m_pDrop), static_cast<GdkDragAction>(0)); #endif } }; @@ -4650,7 +4646,7 @@ GdkDragAction GtkInstDropTarget::signalDragMotion(GtkDropTargetAsync *context, G #if !GTK_CHECK_VERSION(4,0,0) rtl::Reference<GtkDropTargetDragContext> pContext = new GtkDropTargetDragContext(context, time); #else - rtl::Reference<GtkDropTargetDragContext> pContext = new GtkDropTargetDragContext(context, pDrop); + rtl::Reference<GtkDropTargetDragContext> pContext = new GtkDropTargetDragContext(pDrop); #endif //preliminary accept the Drag and select the preferred action, the fire_* will //inform the original caller of our choice and the callsite can decide @@ -4690,6 +4686,10 @@ GdkDragAction GtkInstDropTarget::signalDragMotion(GtkDropTargetAsync *context, G #if !GTK_CHECK_VERSION(4,0,0) gdk_drag_status(context, eAction, time); +#else + gdk_drop_status(pDrop, + static_cast<GdkDragAction>(eAction | gdk_drop_get_actions(pDrop)), + eAction); #endif aEvent.Context = pContext; aEvent.LocationX = x; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits