x11: Honor hotspot during drag cancel animation

Otherwise the icon "jumps" to the cursor position with its top left when
the animation starts.
This is especially visible if the dragged item is big, like when dragging
mails in Thunderbird.
This commit is contained in:
Robert Mader 2019-12-09 01:16:39 +01:00
parent c1146db2fe
commit a3cff0add1

View File

@ -2613,8 +2613,10 @@ gdk_drag_anim_timeout (gpointer data)
gdk_window_show (context->drag_window); gdk_window_show (context->drag_window);
gdk_window_move (context->drag_window, gdk_window_move (context->drag_window,
context->last_x + (context->start_x - context->last_x) * t, (context->last_x - context->hot_x) +
context->last_y + (context->start_y - context->last_y) * t); (context->start_x - context->last_x) * t,
(context->last_y - context->hot_y) +
(context->start_y - context->last_y) * t);
gdk_window_set_opacity (context->drag_window, 1.0 - f); gdk_window_set_opacity (context->drag_window, 1.0 - f);
return G_SOURCE_CONTINUE; return G_SOURCE_CONTINUE;