diff options
| author | Robert Mader <robert.mader@posteo.de> | 2019-12-09 01:16:39 +0100 |
|---|---|---|
| committer | Robert Mader <robert.mader@posteo.de> | 2019-12-09 01:22:11 +0100 |
| commit | a3cff0add1dec4db3ddc0a3dff8f41ff9e205b63 (patch) | |
| tree | fdfeeb9cf40d81723b8db14845fa760c79caa320 | |
| parent | c1146db2fee09a4a19ba38e4f9a6aefbd1a16d03 (diff) | |
| download | gtk+-a3cff0add1dec4db3ddc0a3dff8f41ff9e205b63.tar.gz | |
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.
| -rw-r--r-- | gdk/x11/gdkdnd-x11.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index f335d502ce..e07fa10325 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -2613,8 +2613,10 @@ gdk_drag_anim_timeout (gpointer data) gdk_window_show (context->drag_window); gdk_window_move (context->drag_window, - context->last_x + (context->start_x - context->last_x) * t, - context->last_y + (context->start_y - context->last_y) * t); + (context->last_x - context->hot_x) + + (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); return G_SOURCE_CONTINUE; |
