https://bugs.winehq.org/show_bug.cgi?id=41606
Bug ID: 41606 Summary: Wrong processing of WM_DROPFILES message, received only by the top level windows. Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: johnfound@asm32.info Distribution: ---
Created attachment 55950 --> https://bugs.winehq.org/attachment.cgi?id=55950 One possible fix of the problem.
Because of wrong implementation, only the top level windows receive WM_DROPFILES.
The children windows even with set WS_EX_ACCEPTFILES, never accept WM_DROPFILES and are not a drop target at all.
This bug affects only X11 driver. The Mac OS X driver is implemented properly.
The bug is located in the file "dlls/winex11.drv/xdnd.c".
I will attach one possible fix of this bug in the file "xdnd.diff".
It works for me, but need some revision, because my C programming skills and knowledge about WINE code tree are very low. This way, the suggested fix can be far from optimal. Especially the function WindowFromPointDnD can duplicate some functionality implemented elsewhere.
https://bugs.winehq.org/show_bug.cgi?id=41606
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #1 from winetest@luukku.com --- How did you find this bug? Can you name some applications that would benefit from this patch?
You should send your patch to wine-patches list. Patches aren't merged from bug tracker to wine.
https://bugs.winehq.org/show_bug.cgi?id=41606
--- Comment #2 from John Found johnfound@asm32.info --- (In reply to winetest from comment #1)
How did you find this bug? Can you name some applications that would benefit from this patch?
You should send your patch to wine-patches list. Patches aren't merged from bug tracker to wine.
My application is affected by this bug. It is not exactly bug. Simply wrong implementation. For example, the Mac OS X driver is implemented properly.
The attached patch works fine. It can be only not optimal, because of my low C/C++ skills.
I am not willing to work more on it or send it to wine-paches, because of:
1. I am not C/C++ programmer and as I said, the quality of the patch can be suboptimal.
2. I think the wine team is pretty unfriendly and even aggressive, so considering (1) I have nothing to do there.
https://bugs.winehq.org/show_bug.cgi?id=41606
Johannes wine@sagagames.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine@sagagames.de
--- Comment #3 from Johannes wine@sagagames.de --- OpenMPT is affected by this issue even in the current Wine 4.7.
To reproduce, download OpenMPT from https://openmpt.org/
Create a new file, go to the "Samples" tab, and drag one of the *.flac files coming with the program into the black area on that tab (which has WS_EX_ACCEPTFILES set). The FLAC sample is expected to be loaded into the sample editor, you should see its waveform in the black area. But instead the top-level window of OpenMPT receives the file, which tells OpenMPT to load this file as a module instead, and you will get a message that it was unable to load the file.
If it's any help for debugging, I'm the OpenMPT developer.
https://bugs.winehq.org/show_bug.cgi?id=41606
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41606
--- Comment #4 from John Found johnfound@asm32.info --- I have submitted an improved patch to the patches list. Waiting for review.
https://source.winehq.org/patches/data/163535
https://bugs.winehq.org/show_bug.cgi?id=41606
--- Comment #5 from John Found johnfound@asm32.info --- But the patch disappeared from the list as "new" without even rejected. Will try to send it again.
https://bugs.winehq.org/show_bug.cgi?id=41606
--- Comment #6 from Johannes wine@sagagames.de --- Thanks for your efforts, John!
https://bugs.winehq.org/show_bug.cgi?id=41606
John Found johnfound@asm32.info changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED
--- Comment #7 from John Found johnfound@asm32.info --- The bug is fixed in the commit: https://source.winehq.org/git/wine.git/commit/05d76e7cfeb3361beb6259fb389e96...
https://bugs.winehq.org/show_bug.cgi?id=41606
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |05d76e7cfeb3361beb6259fb389 | |e96bd46c015e3
https://bugs.winehq.org/show_bug.cgi?id=41606
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 4.10.
https://bugs.winehq.org/show_bug.cgi?id=41606
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Keywords| |download URL| |https://web.archive.org/web | |/20200327204641/https://dow | |nload.openmpt.org/archive/o | |penmpt/1.28/OpenMPT-1.28.09 | |.00-Setup.exe Version|unspecified |1.9.21
https://bugs.winehq.org/show_bug.cgi?id=41606
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |s_chriscollins@hotmail.com
--- Comment #9 from Anastasius Focht focht@gmx.net --- *** Bug 39372 has been marked as a duplicate of this bug. ***