Closed Bug 367203 Opened 15 years ago Closed 15 years ago

gtk2 dnd implementation broken


(Core :: Widget: Gtk, defect)

Not set





(Reporter: mclasen, Assigned: mclasen)



(Keywords: fixed1.8.0.10, fixed1.8.1.2)


(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20061222 Firefox/
Build Identifier: version (20061223)

Starting with gtk 2.10.7, drags are canceled when the toolkit-private drag widget
is grab-shadowed by another gtk_grab_add call in the application. This is a 
necessary fix to avoid "stuck drag" situations when a modal dialog pops up while
a drag is in progress.

Unfortunately, the mozilla dnd implementation does just that - it calls gtk_grab_add in the nsDragService::GetTargetDragData method. This causes
drags of mesages from the message list to the folder tree in thunderbird
to fail with gtk 2.10.7.

Fortunately, the gtk_grab_add in nsDragService::GetTargetDragData doesn't
seem to have any real purpose - at least the nsDragService code doesn't 
make any use of the grabbing, and just removing the grab_add/grab_remove
calls in that function makes dnd work again in thunderbird.

Reproducible: Always

Steps to Reproduce:
Attached patch patchSplinter Review
Attachment #251710 - Flags: superreview?(roc) → superreview+
This is to confirm that Matthias' patch works fine with thunderbird- and gtk+-2.10.8 (see for my original bug report against GTK+).

I guess you need someone to check this in... ?
Assignee: mscott → mclasen
Ever confirmed: true
Whiteboard: [checkin needed]
Assignee: mclasen → nobody
Component: General → Widget: Gtk
Flags: review+
Product: Thunderbird → Core
QA Contact: general → gtk
Version: unspecified → Trunk
Assignee: nobody → mclasen
Checking in nsDragService.cpp;
/cvsroot/mozilla/widget/src/gtk2/nsDragService.cpp,v  <--  nsDragService.cpp
new revision: 1.12; previous revision: 1.11
Closed: 15 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
Comment on attachment 251710 [details] [diff] [review]

Can we land this fix on the 1.8.1 branch for Thunderbird 2?

And possibly on 1.8.0 branch, too?

Drag and drop is broken on Linux in both branches for me.
Comment on attachment 251710 [details] [diff] [review]

Asking approval per previous comment...
Attachment #251710 - Flags: approval1.8.1.2?
Attachment #251710 - Flags: approval1.8.0.10?
this seems like a pretty bad linux regression for drag and drop that more users are going to start noticing as they start to use more recent versions of gtk.

Triage team: we could also consider taking this for, which will still get it in time for Thunderbird 2.
Duplicate of this bug: 367725
Has this been added to the 1.5.0 branch? Will there be a 1.5.0.X that will contain this patch?
(In reply to comment #9)
> Has this been added to the 1.5.0 branch? Will there be a 1.5.0.X that will
> contain this patch?

Not yet, this is why we requested approval1.8.0.10 for the branch where 1.5 lives on.
Hm, I thought I requested the flags on this bug when I committed, and I've been away for a week...

Anyway, doing so now.  This is wanted for users of Firefox on new GTK+.  See the original comment from Matthias for a better description as to why we need this.  The fix is very low risk.
Flags: blocking1.8.0.10?
Comment on attachment 251710 [details] [diff] [review]

approved for 1.8/1.8.0 branches, a=dveditz for drivers
Attachment #251710 - Flags: approval1.8.1.2?
Attachment #251710 - Flags: approval1.8.1.2+
Attachment #251710 - Flags: approval1.8.0.10?
Attachment #251710 - Flags: approval1.8.0.10+
We're not going to hold the release for this, so please land ASAP
Flags: blocking1.8.0.10? → blocking1.8.0.10-
Duplicate of this bug: 368672
Duplicate of this bug: 367727
Duplicate of this bug: 370295
Duplicate of this bug: 370262
Duplicate of this bug: 355248
Duplicate of this bug: 370046
I have installed FF on Fedora 6. I Cannot drag and drop bookmarks. I don't get anything in Update for fedora 6. Please let me know What i need to do.
Sorry i forgot to include My configuration.
Mozilla/5.0 (X11; U; Linux i686; en-US; rv: Gecko/20061208 Firefox/

I think its already landed on 1 and But not on
You will need a release after 2007-01-30 to see the fix.
This fix works for seamonkey 1.5a (version I just built from source):
SeaMonkey 1.5a
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a3pre) Gecko/20070228 SeaMonkey/1.5a

The most recent release of seamonkey, 1.1, has the bug on my system.

You need to log in before you can comment on or make changes to this bug.