Drag and drop from NSE to Total Commander panel fails

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
Dec
Member
Member
Posts: 123
Joined: 2006-11-23, 12:48 UTC

Drag and drop from NSE to Total Commander panel fails

Post by *Dec »

I develop Namespace shell extension allows to browse my own archive type in Explorer. When I drag and drop file from NSE to TC nothing happens. I use the followings formats in IDataObject:

CF_FILEDESCRIPTORW
CF_FILEDESCRIPTORA
CF_FILECONTENTS
CF_ITEMIDLIST

In logs I see that TC request CF_ITEMIDLIST format first. But CF_ITEMIDLIST points on virtual files and TC stops dropping. But when I remove CF_ITEMIDLIST from format list TC requests CF_FILEDESCRIPTORW/CF_FILECONTENTS and everything works fine.

To Ghisler:

Could you change the logic of processing of IDataObject? Is it possible to process CF_FILEDESCRIPTORW/CF_FILECONTENTS when processing of CF_ITEMIDLIST fails?
User avatar
Horst.Epp
Power Member
Power Member
Posts: 6975
Joined: 2003-02-06, 17:36 UTC
Location: Germany

Post by *Horst.Epp »

Why do you post such questions in the bugs forum ?
Just because TC doesn't like your own written software.
There are other forums for such questions :(
Dec
Member
Member
Posts: 123
Joined: 2006-11-23, 12:48 UTC

Post by *Dec »

Horst.Epp wrote:Why do you post such questions in the bugs forum ?
Because it looks like a bug in processing of Drag&Drop operation in TC.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

There is no documentation from Microsoft in which order Explorer processes drag&drop types. Therefore TC tries those first which return more useful data. Why doesn't CF_ITEMIDLIST return anything usable?
Author of Total Commander
https://www.ghisler.com
Dec
Member
Member
Posts: 123
Joined: 2006-11-23, 12:48 UTC

Post by *Dec »

ghisler(Author) wrote:There is no documentation from Microsoft in which order Explorer processes drag&drop types.
I agree.
ghisler(Author) wrote:Therefore TC tries those first which return more useful data.
No problem. But TC does not continue work with other formats when work with CF_ITEMIDLIST fails. For example when I copy my IDataObect to clipboard TC pastes it correctly always. But in case of Drag&Drop it fails when CF_ITEMIDLIST presents.
ghisler(Author) wrote:Why doesn't CF_ITEMIDLIST return anything usable?
CF_ITEMIDLIST contains legal PItemIDList which points on virtual object which is not the part of real file system. This format is necessary for other destinations.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50549
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

CF_ITEMIDLIST contains legal PItemIDList which points on virtual object which is not the part of real file system. This format is necessary for other destinations.
This works with other programs - why shouldn't it work for real files, they are also virtual files (the opposite isn't always true). TC tries to get the IShellFolder for the parent, then get the IID_IContextMenu for the list of files and copy them via clipboard functions.
Author of Total Commander
https://www.ghisler.com
Post Reply