Closed Bug 367203 Opened 17 years ago Closed 17 years ago

gtk2 dnd implementation broken

Categories

(Core :: Widget: Gtk, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: mclasen, Assigned: mclasen)

References

Details

(Keywords: fixed1.8.0.10, fixed1.8.1.2)

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.1) Gecko/20061222 Firefox/2.0.0.1
Build Identifier: version 1.5.0.9 (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:
1.
2.
3.
Attached patch patchSplinter Review
Attachment #251710 - Flags: superreview?(roc) → superreview+
This is to confirm that Matthias' patch works fine with thunderbird-1.5.0.9 and gtk+-2.10.8 (see http://bugzilla.gnome.org/show_bug.cgi?id=394525 for my original bug report against GTK+).

Thanks!
I guess you need someone to check this in... ?
Assignee: mscott → mclasen
Status: UNCONFIRMED → NEW
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
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Whiteboard: [checkin needed]
Comment on attachment 251710 [details] [diff] [review]
patch

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]
patch

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 1.8.1.3, which will still get it in time for Thunderbird 2.
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]
patch

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-
Landed on MOZILLA_1_8_0_BRANCH and MOZILLA_1_8_BRANCH
I have installed FF 2.0.0.1 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:1.8.1.1) Gecko/20061208 Firefox/2.0.0.1

I think its already landed on 1.8.0.10 1 and 1.8.1.2 But not on 1.8.1.1
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.