https://bugs.winehq.org/show_bug.cgi?id=55179
Bug ID: 55179 Summary: Drag and Drap don't work at all in Wine HQ 8.0 and 8.0.1 Regression from version 7 which was OK Product: Wine Version: 8.0.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: pascal_mons@hotmail.com Distribution: ---
Created attachment 74769 --> https://bugs.winehq.org/attachment.cgi?id=74769 A .gpx file (route Paris to Madrid) to test drag and drop
I use Garmin MapSource 6.16.3 to create and modify POI files (like speed cameras) and Routes. Obviously I was used to drag and drop the file inside the map. This was working fine in Wine HQ 7.
However, since the upgrade to version 8 this capability is broken. I have to use File -> Open to manually run through the directories. Even then using the keyboard return when an object is selected won't work. I have to use only the mouse clicks.
In order for you to investigate I will give you the downlink of MapSource and the steps to install it within Wine by command lines.
https://download.garmin.com/software/MapSource_6163.exe
you have to unpack / extract files from the .exe and use MSmain.msi in order to install properly (even in Windows).
Installing .wine32.1 Prefix for MapSource _________________________________________
$ WINEPREFIX=~/.wine32.1 WINEARCH=win32 wineboot $ WINEARCH=win32 WINEPREFIX=~/.wine32.1 winecfg
Since I have a 4K HD screen I use in Graphics --> Screen resolution a 144 dpi & Applications Windows 7
$ WINEARCH=win32 WINEPREFIX=~/.wine32.1 winetricks msxml4 $ WINEARCH=win32 WINEPREFIX=~/.wine32.1 winetricks dotnet48 $ WINEARCH=win32 WINEPREFIX=~/.wine32.1 winetricks ie8
All these modules are required.
Install MapSource 6.16.3 ________________________
$ cd ~/Downloads/Garmin/Garmin\ MapSource\ 6.16.3/ $ WINEARCH=win32 WINEPREFIX=~/.wine32.1 wine MapSource_6163\ Extracted/MSmain.msi
It won't work because of another program presence check, use :
$ WINEARCH=win32 WINEPREFIX=~/.wine32.1 wine MapSource_6163.exe
The Drag and Drop capability was working fine in Wine HQ 7.
You don't need to install a Garmin map to test the drag and drop with the attached route in .gpx format.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #1 from Pascal Mons pascal_mons@hotmail.com --- Free Maps can be downloaded at
https://alternativaslibres.org/en/downloads.php#
https://bugs.winehq.org/show_bug.cgi?id=55179
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Drag and Drap don't work at |Garmin MapSource drag & |all in Wine HQ 8.0 and |drop doesn't work |8.0.1 Regression from | |version 7 which was OK | Keywords| |download, regression URL| |https://download.garmin.com | |/software/MapSource_6163.ex | |e Severity|major |normal
--- Comment #2 from Gijs Vermeulen gijsvrm@gmail.com --- Not critical, see: https://wiki.winehq.org/Bugs#severity
Rewording title, adding download link, 'download' & 'regression' keywords.
Does it work with wine-8.11?
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #3 from Pascal Mons pascal_mons@hotmail.com --- I didn't yet as I am on the stable releases.
https://bugs.winehq.org/show_bug.cgi?id=55179
Pascal Mons pascal_mons@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu
https://bugs.winehq.org/show_bug.cgi?id=55179
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #4 from Damjan Jovanovic damjan.jov@gmail.com --- Please provide the output of:
WINEDEBUG='+xdnd,+ole' wine MapSource_6163.exe
while you try to drag and drop.
https://bugs.winehq.org/show_bug.cgi?id=55179
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Component|-unknown |winex11.drv
--- Comment #6 from Damjan Jovanovic damjan.jov@gmail.com --- Thank you Pascal.
In the output you pasted, it says:
---snip--- 02d4:trace:xdnd:x11drv_dnd_position_event the application accepted the drop (effect = 0) ---snip---
the effect of 0 is probably where things break. I wonder why. What drop action and data formats do we offer the app?
Possibly related to bug 51772 which I could never reproduce as installing the app is too difficult, and they patched around it on their side anyway.
Running with WINEDEBUG='+xdnd,+event' gives me:
---snip--- 0024:trace:event:handle_xdnd_enter_event ver(5) check-XdndTypeList(0) data=23077774,83886080,627,0,0 0024:trace:event:handle_xdnd_enter_event XDNDEnterAtom 627: text/uri-list 0024:trace:xdnd:X11DRV_XDND_FreeDragDropOp 0024:trace:event:call_event_handler 477 ClientMessage for hwnd/window 0x1008a/4400004 0024:trace:xdnd:create_stream_from_map size 4096 0024:trace:xdnd:XDNDDATAOBJECT_AddRef (031A2044) 0024:trace:xdnd:x11drv_dnd_position_event the application accepted the drop (effect = 0) 0024:trace:xdnd:create_stream_from_map size 4096 0024:trace:event:handle_xdnd_position_event actionRequested(537) chosen(0x0) at x(644),y(760) ---snip---
text/uri-list is offered, and
---snip--- $ xlsatoms | grep 537 537 XdndActionCopy ---snip---
is the drag format from the source, which are both correct. So where do things go wrong?
Apparently within function x11drv_dnd_position_event() of dlls/winex11.drv/xdnd.c, the call to the application's IDropTarget_DragOver() leads to the application returning an effect of 0 to handle_xdnd_position_event(), where
---snip--- e.data.l[1] = !!effect; ---snip---
which becomes 0, and as per https://freedesktop.org/wiki/Specifications/XDND/ this means:
---snip--- data.l[1]: Bit 0 is set if the current target will accept the drop. ---snip---
so it tells the drag source that the drop target is not accepting the drop, making it give up on the drag operation, and leaving the user unable to drop the file.
We should ignore the value of the drop effect returned by the application's IDropTarget_DragOver(), just like we already do for IDropTarget_DragEnter().
When I change x11drv_dnd_position_event() to do that, I can successfully drop the attached .gpx file into the application.
Confirming and setting component. I'll push a merge request soon.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #7 from Damjan Jovanovic damjan.jov@gmail.com --- Even with that change though, the drop target does not accept the drop, and the drop is then sent over WM_DROPFILES instead, where it succeeds:
---snip--- 0024:trace:xdnd:x11drv_dnd_drop_event the application refused the drop 0024:trace:xdnd:X11DRV_XDND_SendDropFiles Sending WM_DROPFILES: hWnd=0x0001008A, fNC=0, x=735, y=559, files=02F26934(L"Z:\store0\Projects\Wine\Research\55179-garmin-mapsource-cannot-dnd\Route_Paris_to_Madrid.gpx") 0024:trace:xdnd:x11drv_dnd_drop_event effectRequested(0x1) accept(1) performed(0x1) at x(739),y(608) ---snip---
so I am not sure my change is correct.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #8 from Pascal Mons pascal_mons@hotmail.com --- OK. I understand the situation is quite difficult and the workaround you did for Atom isn't working here in MapSource.
You were asking : What drop action and data formats do we offer the app?
Well, as I can still open a .gpx file in the MapSource application by going through the menu File --> Open and go through the directories to open the file in the application, I have a preset of files extension MapSource should obviously accept:
Garmin GPS Database Files (*.gdb) MPS Files (*.mps) GPS eXchange Format (*.gpx) Training Center Database (*.tcx) LOC Files (*.loc)
The .gpx I attached is opened by MapSource when I run through the menu File -->, so it should be accepted as a data format.
Another thing is that drag & drop was working fine in the previous release 7 of WineHQ on the same MapSource 6.16.3. So may be I should install the previous version 7 and give you a DEBUG trace ? If it could help solving the issue.
Where can I get the packages of version 7 ?
By the way, from what you said you managed to install MapSource on your system ?
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #9 from Pascal Mons pascal_mons@hotmail.com --- When I run WINEDEBUG='+xdnd,+event' while launching MapSource I get this:
02e0:trace:event:call_event_handler 452 FocusIn for hwnd/window 0x120232/7800005 02e0:trace:event:X11DRV_FocusIn win 0x120232 xwin 7800005 detail=NotifyNonlinear mode=NotifyNormal 02e0:trace:event:call_event_handler 452 KeymapNotify for hwnd/window (nil)/0 02e0:trace:event:process_events processed 194 events, returning 1 02e0:trace:event:call_event_handler 458 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:call_event_handler 458 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:process_events processed 2 events, returning 1 02e0:trace:event:call_event_handler 462 FocusOut for hwnd/window 0x120232/7800005 02e0:trace:event:X11DRV_FocusOut win 0x120232 xwin 7800005 detail=NotifyNonlinear mode=NotifyNormal 02e0:trace:event:focus_out lost focus, setting fg to desktop 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 465 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:call_event_handler 465 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:process_events processed 2 events, returning 1 02e0:trace:event:call_event_handler 465 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:event:handle_xdnd_enter_event ver(5) check-XdndTypeList(1) data=63205225,83886081,0,0,0 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 866: x-special/gnome-icon-list 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 613: text/uri-list 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 312: UTF8_STRING 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 620: COMPOUND_TEXT 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 513: TEXT 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 31: STRING 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 611: text/plain;charset=utf-8 02e0:trace:event:handle_xdnd_enter_event XDNDEnterAtom 610: text/plain 02e0:trace:xdnd:X11DRV_XDND_FreeDragDropOp 02e0:trace:event:call_event_handler 465 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x1) at x(2300),y(1667) 02e0:trace:event:process_events processed 2 events, returning 1 02e0:trace:event:call_event_handler 483 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 484 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:xdnd:XDNDDATAOBJECT_AddRef (0283A0D8) 02e0:trace:xdnd:x11drv_dnd_position_event the application accepted the drop (effect = 0) 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2256),y(1627) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 485 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2212),y(1591) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 486 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2168),y(1547) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 487 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2128),y(1507) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 488 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2064),y(1443) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 489 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(2020),y(1399) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 490 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1980),y(1359) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 491 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1940),y(1315) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 492 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1884),y(1255) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 493 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1848),y(1219) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 494 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1812),y(1179) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 495 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1780),y(1143) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 496 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1748),y(1107) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 497 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1708),y(1051) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 498 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1680),y(1019) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 499 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1656),y(983) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 500 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1626),y(939) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 501 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1608),y(907) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 502 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1592),y(881) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 503 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1576),y(853) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 504 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1562),y(829) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 505 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1544),y(797) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 506 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1534),y(777) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 507 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1524),y(759) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 508 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1514),y(737) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 509 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1509),y(726) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 510 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1505),y(719) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 511 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1502),y(714) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 512 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1499),y(706) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 513 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1498),y(706) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 514 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x0) at x(1498),y(707) 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 515 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:x11drv_dnd_leave_event DND Operation canceled 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:xdnd:XDNDDATAOBJECT_Release (0283A0D8) 02e0:trace:xdnd:X11DRV_XDND_FreeDragDropOp
In the end I have a clear 'x11drv_dnd_leave_event DND Operation canceled DND Operation cancelled' ... As the trouble seems to appear within Step 4 of the example walkt-hrough of Freedesktop.org. We don't see the message XdndStatus described in Step 5.
Also I am in no way a specialist of the freedesktop.org software.
What do you think about that ?
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #10 from Damjan Jovanovic damjan.jov@gmail.com ---
OK. I understand the situation is quite difficult and the workaround you did for Atom isn't working here in MapSource.
I didn't make that workaround, they did.
You were asking : What drop action and data formats do we offer the app?
I was asking myself that, sorry.
Well, as I can still open a .gpx file in the MapSource application by going through the menu File --> Open and go through the directories to open the file in the application, I have a preset of files extension MapSource should obviously accept:
Garmin GPS Database Files (*.gdb) MPS Files (*.mps) GPS eXchange Format (*.gpx) Training Center Database (*.tcx) LOC Files (*.loc)
The .gpx I attached is opened by MapSource when I run through the menu File -->, so it should be accepted as a data format.
Another thing is that drag & drop was working fine in the previous release 7 of WineHQ on the same MapSource 6.16.3. So may be I should install the previous version 7 and give you a DEBUG trace ? If it could help solving the issue.
Do you remember which of the Wine 7.x.x versions you used before?
Where can I get the packages of version 7 ?
By the way, from what you said you managed to install MapSource on your system ?
Yes I did, and with that hack that ignores the effect returned from IDropTarget_DragOver(), I got drag and drop to work, but I think it works for the wrong reasons and will probably break in other apps.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #11 from Pascal Mons pascal_mons@hotmail.com --- I agree with you. From what I see, given that it was fully working in the previous WineHQ stable 7.0.2, it looks like something has changed maybe in the behavior of Freedesktop.org software. Was it a different version of software used in stable release 7.0.2 ?
Everything goes well here:
---snip--- 02e0:trace:xdnd:X11DRV_XDND_FreeDragDropOp 02e0:trace:event:call_event_handler 465 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:event:handle_xdnd_position_event actionRequested(516) chosen(0x1) at x(2300),y(1667) 02e0:trace:event:process_events processed 2 events, returning 1 02e0:trace:event:call_event_handler 483 PropertyNotify for hwnd/window 0x120232/7800005 02e0:trace:event:process_events processed 1 events, returning 1 02e0:trace:event:call_event_handler 484 ClientMessage for hwnd/window 0x120232/7800005 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:xdnd:XDNDDATAOBJECT_AddRef (0283A0D8) 02e0:trace:xdnd:x11drv_dnd_position_event the application accepted the drop (effect = 0) ---snip---
Then I see a 30 times repetition of a handle_xdnd_position_event, with each time different x and y coordinates, reflecting the move of the mouse over the map.
That's a proof that the processing stalled. In the end after 30 unanswered requests, the DND operation is cancelled:
---snip--- 02e0:trace:xdnd:x11drv_dnd_leave_event DND Operation canceled 02e0:trace:xdnd:create_stream_from_map size 4096 02e0:trace:xdnd:XDNDDATAOBJECT_Release (0283A0D8) 02e0:trace:xdnd:X11DRV_XDND_FreeDragDropOp ---snip---
Maybe we can get hints when analizing how things go with the previous version 7.0.2 which was working fine. If you didn't change your code from 7.02 to 8.0.1, it has to be behavioral changes on the side of freedesktop.org. This imply you are using a different version of their software I believe. Because I didn't change my own system version over the last year [Ubuntu 20.04]. And I noticed the change as soon as stable 8.0 was installed on my system, given that I am using the app daily to update new speed traps.
https://bugs.winehq.org/show_bug.cgi?id=55179
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com
--- Comment #12 from Alex Henrie alexhenrie24@gmail.com --- Next time, please attach the long log instead of pasting it into a comment; that would have made this discussion much easier to follow.
Anyway, I don't think this is a Wine bug. I can open Route_Paris_to_Madrid.gpx in MapSource on Wine 8.11 on Arch Linux by dragging and dropping the file onto the toolbar.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #13 from Pascal Mons pascal_mons@hotmail.com --- Dear Mr. Henrie,
I consider your intervention here as just an uneducated noise, no more.
First of all, I was in communication with the developer of the DND capability within WineHQ. He never mentioned that it wasn't a bug.
Second topic. I am a subscriber of the stable channel release of WineHQ, and as I said before, just when the new version 8.0 came available my system [Ubuntu Focal 20.04] was upgraded to that new release from the previous one 7.0.2.
The Drag & Drop capability was working as designed across all systems flavour, namely UNIX and Windows, meaning as soon as the mouse enter the application's window, it is processed efficiently by the application, no matter where over the application window, the mouse is. Please note that the processing may depends on where the mouse is positionned (in particular on maps), although it's irrelevant to the drag & drop process, as the position of the mouse is reported to the application.
So, considering that this DND capability was working as designed for in the previous stable WineHQ release 7.0.2, and discovering that this DND capability doesn't work anymore as designed, in WineHQ version 8.0 and 8.0.1 (all in the stable channel), I consider this is a major regression bug, period.
In addition, I can confirm as well that dragging a data file in the menu bar [File Edit Find etc ...] happen to have it processed by the MapSource application, on my WineHQ 8.0.1 version. Still I consider that this way of doing it isn't what Drag & Drop was designed for, as you merely push to data file to the File Open menu.
So, for me it's still a standing bug.
https://bugs.winehq.org/show_bug.cgi?id=55179
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Garmin MapSource drag & |Garmin MapSource drag & |drop doesn't work |drop doesn't work in center | |of window Regression SHA1| |1d337249f16ed61163315019f5d | |bbe4db3386390 Hardware|x86-64 |x86 Version|8.0.1 |7.8 CC| |jacek@codeweavers.com
--- Comment #14 from Alex Henrie alexhenrie24@gmail.com --- I was only trying to help you narrow down the problem. Thank you for clarifying that the problem is with dragging and dropping onto the center of the window, not dragging and dropping onto the toolbar. With that information, I have been able to confirm the bug and bisect it to:
1d337249f16ed61163315019f5dbbe4db3386390 is the first bad commit commit 1d337249f16ed61163315019f5dbbe4db3386390 Author: Jacek Caban jacek@codeweavers.com Date: Thu Apr 28 00:23:32 2022 +0200
winex11: Move XdndPosition event handler to event.c.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/winex11.drv/event.c | 72 +++++++++++++++++++++++++++++++++++++++++++++- dlls/winex11.drv/unixlib.h | 43 +++++++++++++++++++++++++++ dlls/winex11.drv/x11drv.h | 10 ++----- dlls/winex11.drv/xdnd.c | 70 ++++++++++++-------------------------------- 4 files changed, 135 insertions(+), 60 deletions(-) create mode 100644 dlls/winex11.drv/unixlib.h
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #15 from Pascal Mons pascal_mons@hotmail.com --- Thank you for your feedback. However I would like to stress that it's not "dragging and dropping onto the center of the window", but instead 'anywhere' within the application's window, except for the title bar. Then the application receives the mouse position (x, y) and deals with it accordingly.
I just did a check on WineHQ version 7.0.2 by installing these packages over the current ones from version 8.0.2 (thus downgrading). It's easy and there is no need to re-install any wine application.
dpkg: warning: downgrading winehq-stable from 8.0.1~focal-1 to 7.0.2~focal-1 (Reading database ... 1160236 files and directories currently installed.) Preparing to unpack winehq-stable_7.0.2~focal-1_amd64.deb ... Unpacking winehq-stable (7.0.2~focal-1) over (8.0.1~focal-1) ... dpkg: warning: downgrading wine-stable from 8.0.1~focal-1 to 7.0.2~focal-1 Preparing to unpack wine-stable_7.0.2~focal-1_amd64.deb ... Unpacking wine-stable (7.0.2~focal-1) over (8.0.1~focal-1) ... dpkg: warning: downgrading wine-stable-amd64 from 8.0.1~focal-1 to 7.0.2~focal-1 Preparing to unpack wine-stable-amd64_7.0.2~focal-1_amd64.deb ... Unpacking wine-stable-amd64 (7.0.2~focal-1) over (8.0.1~focal-1) ... dpkg: warning: downgrading wine-stable-i386:i386 from 8.0.1~focal-1 to 7.0.2~focal-1 Preparing to unpack wine-stable-i386_7.0.2~focal-1_i386.deb ...
I believe you can do the test yourself, as a white + appears on a background accent color circle (blue for me), close to the square / rectangle representing the data file, as long as the mouse is inside the application's window [anywhere].
So, I can confirm that any data file dropped within the application's window space [except for the title bar] is opened by MapSource, on WineHQ 7.0.2. While on version 8.0.2 it's only working if dragged & dropped on the menu and tools bar.
That's the regression which isn't in compliance with the design specifications of the Drag & Drop capability within UNIX and Windows systems.
So, obviously something has changed between WineHQ version 7 and version 8. The goal is to identify what has changed.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #16 from Pascal Mons pascal_mons@hotmail.com --- I believe the erroneous code change must have been dated before January 24, 2023 as it was the relase date of version 8.0 and I noticed the change right after the automatic update on my system, within 24 hours.
https://www.winehq.org/news/2023012401
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #17 from Austin English austinenglish@gmail.com --- (In reply to Pascal Mons from comment #16)
I believe the erroneous code change must have been dated before January 24, 2023 as it was the relase date of version 8.0 and I noticed the change right after the automatic update on my system, within 24 hours.
Alex already narrowed it down, in https://bugs.winehq.org/show_bug.cgi?id=55179#c14, to 1d337249f16ed61163315019f5dbbe4db3386390, which was first introduced in wine-7.8.
If you don't think that's correct, you can run a regression test yourself: https://wiki.winehq.org/Regression_Testing
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #18 from Pascal Mons pascal_mons@hotmail.com --- OK. Then you got it right. I missread the year 2022 (I thought it was 2023) for the update you labelled as a bad commit. I didn't know about the unstable releases, as I am not a subscriber of that channel. I was only on the stable one.
So it was alresy there, waiting to pop-up in the stable channel, right with the 8.0 release. That makes sense.
https://bugs.winehq.org/show_bug.cgi?id=55179
--- Comment #19 from Pascal Mons pascal_mons@hotmail.com --- By the way, how will you process this bug ? I imagine it's not critocal, nor urgent. Will it be part of a future unstable release within 3 or 6 month ?
https://bugs.winehq.org/show_bug.cgi?id=55179
Sagawa sagawa.aki+winebugs@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sagawa.aki+winebugs@gmail.c | |om
--- Comment #20 from Sagawa sagawa.aki+winebugs@gmail.com --- I sent MR to fix this issue. See https://gitlab.winehq.org/wine/wine/-/merge_requests/4663 for details.
https://bugs.winehq.org/show_bug.cgi?id=55179
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |c03c17277f4a2ffa49f97ea43f2 | |01abf09e25a78 Resolution|--- |FIXED CC| |dark.shadow4@web.de
--- Comment #21 from Fabian Maurer dark.shadow4@web.de --- Fixed by https://gitlab.winehq.org/wine/wine/-/commit/c03c17277f4a2ffa49f97ea43f201ab...
https://bugs.winehq.org/show_bug.cgi?id=55179
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.0-rc2.