GNOME Bugzilla – Bug 601534
GTK+ on Windows lacks generic inter-process DND support
Last modified: 2018-02-10 03:38:23 UTC
This is nothing new, it's a known fact and has always been like this. I am opening a fresh bug report as the previous one (bug #561973) had confusing and irrelevant comments about totally different problems. Inter-process drag-and-drop in general is not implemented in GTK+ on Windows. Only the totally different (API wise) drag and drop of files from Explorer (and apparently Internet Explorer) is implemented. This dnd uses so-called WM_DROPFILES message. Please, do not add comments here about dragging images from Firefox onto GIMP (or other GTK+ apps). Firefox attempts to use the same WM_DROPFILES mechanism for this that Explorer uses, but apparently fails to do it properly. This bug is about *generic* inter-process DND.
Sorry to go against your comment but I am a user who started trying to help by reporting a simple usability issue. Gimp sent me to Gnome and now Gnome say it is a FF problem. I beg to differ ... "but apparently fails to do it properly". I just checked and FF 3.5 drags ok onto Photoshop CS3. So why is it FF's fault ? Why does Gnome even respond with an error message if this feature is not implemented at all as you suggest ? Here's a quote ... "I installed FF3.0 when it came out, but after finding out the image drag feature was disabled (or whatever), I immediately reinstalled FF2.0. This feature is simply a MUST for avid web users and designers, etc." ( http://support.mozilla.com/en-US/forum/1/319330 ). I feel this issue is being ignored and blame shifted on to FF. I am just a user and I feel this is a worthy usability feature that deserves more than the cursory discounting that it seems to be getting. Thanks.
Sigh, please open a *separate* bug for the Firefox issue. It is *not* what this bug is about. Let's try to keep this bug just for the generic DND, not the WM_DROPFILES thing, which is what Firefox does. How is it possible that I have to say this so many times? Your issue is not ignored any more than other issues are. But I again feel you are ignoring clear instructions.
Note that there is no way we can know whether Photoshop is also trying to use the WM_DROPFILES mechanism to accept the drag from Firefox (as GIMP is), or the OLE-based generic mechanism. It's pointless to compare. The main point here is that dragging files from Explorer to GIMP works. So clearly if Firefox wants to interact with the drag target in the same was as Explorer does, but it doesn't work, one has to assume the problem is in Firefox. And as for your comment "this is a worthy usability feature that deserves more than the cursory discounting that it seems to be getting", that is rather rude. Do you really think the long (and hopefully insightful) comments I wrote in bug #561973 were just "cursory", and that I wrote them in just a few seconds without thinking?
OK. Apologies if I seemed rude. It probably comes from me misunderstanding the development issues. Thanks for your time.
BTW, when searching Google Code Search for samples how to do OLE-based DND in plain C, I cam across this: http://www.google.com/codesearch/p?hl=en&sa=N&cd=39&ct=rc#dKL6ZJQ33HY/win32gtk/gtk+/gdk/win32/gdkdnd-ole2-win32.c . I had totally forgotten about these guys ("Archaeopteryx Software"), they actually implemented the OLE-based DND in their fork of the "gtk-1-3-win32-production" GTK+ codebase (the branch of GTK+ for use on Windows between 1.2 and 2.0, before Windows support was merged into the main codebase). I will have to see how easy it would be to merge that stuff into the current codebase.
I may be able to look at updating this relatively soon but I can't promise anything. If you do try to update it, just ask if you have any questions. I wrote most of the olednd support but never ported it to gtk 2.0 because there has been very few requests for it from our users over the years.
Cool! I will ask, sure. I am so glad that I didn't waste too much time before I found your old code. Thanks again for writing that back then in 2001/2002.
I'm curious if there was any progress regarding this issue in the last ~year. Did the original code turn out to be rotten/too far away from the current codebase? Was this just ignored due to time constraints/other priorities? I'm asking from a Windows developer's point of view, looking at some decent/nice gtk applications that just feel 2nd class without this feature. I agree that WM_DROPFILES is unrelated (and not enough), a generic solution for this problem would be really appreciated.
Well, the old Archaeopteryx Software DND code has been resurrected and included into the current gdk/win32 code, to some extent, but it didn't survive the resurrection and merge well enough to actually work;) This could easily have been seen in the source code, this is Open Source software, and people who are interested in it from a coding point of view are expected to browse the source code. From an end-user point of view, no progress.
BTW, I am watching this bug and will help with anyone who wants to update the patch. This turned out to be a feature that we didn't need for our application; we got very few if any bug reports when we dropped it so I won't be working on this myself.
We're moving to gitlab! As part of this move, we are closing bugs that haven't seen activity in more than 5 years. If this issue is still imporant to you and still relevant with GTK+ 3.22 or master, please consider creating a gitlab issue for it.