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.