GNOME Bugzilla – Bug 774726
GtkTreeView dnd: gtk_drag_finish remove row when reorder sinse 3.20
Last modified: 2017-01-11 16:28:55 UTC
Created attachment 340317 [details] Test case to described bug. Hi, I am not sure about the description of the problem, but I have a functional code from 2.24 and off course with minor modifications updated to gtk3.. This code worked correctly until gtk 3.18.. :S This code implements drag and drop to the playlist of Pragha music player, it must manage drags from the library panel, from file managers, and also reorder the same list.. But since 3.20 when I drag any row, this seems reording but the row is finally deleted.. I wrote a small test case, which only implements the rearrangement of lists.. just checked with a virtual machine of xubuntu 16.4 that until gtk 3.18.9 works correctly. Also check that commenting on the gtk_drag_finish line all the code works correctly.. I do not understand why either.. :( Regards, Matias
Created attachment 340328 [details] [review] Test case to described bug. Fix runtime warning and add some comments..
Created attachment 340690 [details] [review] gtkdnd: Remove unnecessary call drag-data-delete is emitted based on the interchange of the DELETE atom, which may well be set or bypassed locally by the app. As such emitting it here is not right, the other paths handling the DELETE atom interchange are still valid and there.
Hi Carlos, The patch seems to solve my problem.. Tested on Fedora 24 with a package created quickly with rpmbuild.. Thanks a lot!. Regards, Matias.
Thanks for testing! I'm pushing the patch to 3.22/master. Attachment 340690 [details] pushed as eb57651 - gtkdnd: Remove unnecessary call
Hi Carlos, You can do the backport to 3.20? I understand that the priority is in 3.22 / 3.90 but still is in maintenance the 3.20 branch and has many commits like to release a new version... ;)
This is certainly backportable, so just pushed the patch to the gtk-3-20 branch. Can't make any guarantees about when/whether a new 3.20.x release will be done :).
Oh.. Sorry for the spam, but thanks!. =)