http://bugs.winehq.org/show_bug.cgi?id=21591
Summary: IShellView Drag/Drop does not work Product: Wine Version: 1.1.37 Platform: x86 URL: http://www.secureneterm.com OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: support@securenetterm.com
The IShellView does not accept files dropped on it by another program such as the Windows explorer. In addition, the header bar above the filelist is not being displayed correctly. You have to move the mouse over the area where the head is normally displayed, then areas of it will be painted.
A sample application that shows both of these problems can be obtained at:
http://www.codeproject.com/KB/shell/explorer/explorer.zip
http://bugs.winehq.org/show_bug.cgi?id=21591
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #1 from Kenneth Robinette support@securenetterm.com 2010-02-05 09:53:05 --- Created an attachment (id=26063) --> (http://bugs.winehq.org/attachment.cgi?id=26063) Wine debug trace
Drag/Drop trace.
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #2 from Kenneth Robinette support@securenetterm.com 2010-02-05 09:53:32 --- (In reply to comment #1)
Created an attachment (id=26063)
--> (http://bugs.winehq.org/attachment.cgi?id=26063) [details]
Wine debug trace Drag/Drop trace.
Additional testing in this area shows that wine is detecting the drag operation as indicated in the attached trace which show debug messages coming from the DragDropHelper interface not supported by Wine. However the stubs indicate the drag operation is being reflected in Wines shell modules, but for some reason is not being passed to functions in the shfldr_unixfs.c logic. Has this been disabled someplace?
http://bugs.winehq.org/show_bug.cgi?id=21591
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski@gmail.com Component|-unknown |shell32
--- Comment #3 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2010-02-07 15:50:45 --- AFAIR, drag&drop is not implemented (yet?)
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #4 from Kenneth Robinette support@securenetterm.com 2010-02-09 13:29:17 --- (In reply to comment #3)
AFAIR, drag&drop is not implemented (yet?)
Well not exactly. According to http://wiki.winehq.org/DragAndDrop, item 1, states "Drag-and-drop within one application. This is handled inside OLE and it should work."
From what I see, this is sort of true. I have two file transfer clients I am
trying to get running under wine. Both use a custom CListView for the host connection. One uses the same CListView for the local as well. The other uses the IShellView base list view for the local files.
Drag/Drop works both ways on the one that uses a CListView for both local and remote file displays.
On the one that uses a IShellView base list view, drag/drop only works in one direction, from the IShellView to the CListView. It does not work the other way.
This would suggest a logic error in the Wine implementation of IShellView since both list views are within the same application and standard OLE drag/drop is used.
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #5 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2010-02-09 15:22:33 --- I ment that IShellView doesn't implement the relevant interfaces. But as I understand, I was partially wrong - it does implement one of the directions.
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #6 from Kenneth Robinette support@securenetterm.com 2010-02-09 15:46:25 --- (In reply to comment #5)
I ment that IShellView doesn't implement the relevant interfaces. But as I understand, I was partially wrong - it does implement one of the directions.
Yea, it looks like I will have to detect running under wine and use the old clipboard copy/paste. What a bummer!
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #7 from Austin English austinenglish@gmail.com 2010-02-09 17:17:38 --- (In reply to comment #6)
(In reply to comment #5)
I ment that IShellView doesn't implement the relevant interfaces. But as I understand, I was partially wrong - it does implement one of the directions.
Yea, it looks like I will have to detect running under wine and use the old clipboard copy/paste. What a bummer!
If you do so, please make it optional, so that when Wine is fixed, the regular behavior can be re-enabled. Also allows for people to test for the bug in your application...
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #8 from Kenneth Robinette support@securenetterm.com 2010-02-16 07:51:24 --- (In reply to comment #0)
The IShellView does not accept files dropped on it by another program such as the Windows explorer. In addition, the header bar above the filelist is not being displayed correctly. You have to move the mouse over the area where the head is normally displayed, then areas of it will be painted. A sample application that shows both of these problems can be obtained at: http://www.codeproject.com/KB/shell/explorer/explorer.zip
Additional testing shows the IShellView header bar paints correctly when there is no theme selected in the winecfg "Desktop Integration" panel. If a theme such as "Windows XP style" is selected, the header bar will not display correctly.
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #9 from Kenneth Robinette support@securenetterm.com 2010-02-19 12:19:05 --- (In reply to comment #8)
(In reply to comment #0)
The IShellView does not accept files dropped on it by another program such as the Windows explorer. In addition, the header bar above the filelist is not being displayed correctly. You have to move the mouse over the area where the head is normally displayed, then areas of it will be painted. A sample application that shows both of these problems can be obtained at: http://www.codeproject.com/KB/shell/explorer/explorer.zip
Additional testing shows the IShellView header bar paints correctly when there is no theme selected in the winecfg "Desktop Integration" panel. If a theme such as "Windows XP style" is selected, the header bar will not display correctly.
Additional testing on the IShellView drop interface indicates that it is in fact working, almost. The strange thing is the interface only supports the CFSTR_SHELLIDLIST method, which is a bit strange since many applications would be using this interface to drop files from other sources such as an FTP or SFTP file tranfer client. This requires a "virtual file" drop as documented in:
http://www.codeproject.com/KB/tips/ExplorerDelayDrop.aspx
which requires support for the CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS formats.
In addition, my testing also indicates the SHChangeNotifyRegister() callback does not work. In our SFTP file transfer control, a drop on the IShellView would create a dummy (virtual file) using the rendering logic of the CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS methods. Prior to the drop we requested notifications of any file creation using ShChangeNotifyRegister() with the SHCNE_CREATE flag. Although we can fake out the current (1.1.38 version) IShellView drop logic and create new files, the ShChangeNotifyRegister callback is never activated.
We have been able to develop internal workarounds within our code that allows us to deploy our FTP and SFTP file transfer application under the current wine versions and that will also support the "correct" CFSTR_FILEDESCRIPTOR and CFSTR_FILECONTENTS if and when they are supported in the Wine code.
http://bugs.winehq.org/show_bug.cgi?id=21591
butraxz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |butraxz@gmail.com
--- Comment #10 from butraxz@gmail.com 2012-05-23 14:03:16 CDT --- Link is dead.
This bug has not been updated for two years. Is this still an issue i current (1.5.4) or newer wine ?
http://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #11 from Kenneth Robinette support@securenetterm.com 2012-05-23 14:04:56 CDT --- (In reply to comment #10)
Link is dead. This bug has not been updated for two years. Is this still an issue i current (1.5.4) or newer wine ?
Yes, its still valid. Time does not fix bugs!
https://bugs.winehq.org/show_bug.cgi?id=21591
--- Comment #12 from Ken Sharp imwellcushtymelike@gmail.com --- Is this still an issue in Wine 1.7.45 or later?
https://bugs.winehq.org/show_bug.cgi?id=21591
skierpage info@skierpage.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |info@skierpage.com
--- Comment #13 from skierpage info@skierpage.com --- I'm running wine-1.9.21 on Kubuntu 16.04 in a fresh winecfg. I'm trying to run the Windows program "Skyrim PS3 Toolkit GUI.exe" which only works with drag and drop. You can see a picture of it at http://www.ps3hax.net/showthread.php?t=50388 . The instructions call for you to "Now run the Skyrim PS3 Toolkit GUI.exe and drag in your save folder into the left box (Decrypt[ion]). Text should appear to confirm the gamesave has been decrypted.
The program appears fine and resembles the screenshot. When I press the left mouse button on a file in Wine Explorer, the terminal where I started Wine displays fixme:shell:IShellBrowser_fnOnViewWindowActive stub, 0x15cac0 (0x19c5d8) When I start dragging, the cursor has a red "no" icon until I move it over this program's Decrypt box where it changes to a black grabber hand (this all sounds good). But when I release the mouse button nothing happens and there is no output in the terminal. Sometimes about 30 seconds later the terminal displays err:ntdll:RtlpWaitForCriticalSection section 0x7b7e03e0 "console.c: CONSOLE_CritSect" wait timed out in thread 0129, blocked by 00e0, retrying (60 sec)
Is this just a long-winded way to say "drag & drop doesn't work in Wine" as this bug suggests, or is it a different bug that I should file separately? Is there anything else I can do to debug? Would additional debug logging be useful? (I added WINEDBB=+shell to the command line and got no more output.)
It's hard to find this executable, you have to trust random download site on the internet.