GNOME Drag & Drop broken for remote X sessions

Bug #587856 reported by Patrick Rynhart on 2010-05-31
90
This bug affects 17 people
Affects Status Importance Assigned to Milestone
GTK+
Fix Released
High
gtk+2.0 (Ubuntu)
High
Unassigned
Precise
High
Unassigned
gtk+3.0 (Ubuntu)
High
Unassigned
Precise
High
Unassigned

Bug Description

Reproducible as follows:

1. Clean install of Lucid LTS
2. Apply latest updates (aptitude update && aptitude upgrade)
3. Install tightvncserver
4. Start a VNC session as a user (i.e. vncserver).
5. Connect to the session using a VNC client.
6. Create two folders on the GNOME desktop (e.g. "untitled folder" and "untitled folder 2")
7. Attempt to click & drag one of the folders into the other - the operation will fail.

Related branches

Patrick Rynhart (prynhart) wrote :

Reassigning from tightvnc to gtk+2.0 due to additional information that has been obtained.

Have investigated this issue using a divide & conquer approach within a VM (i.e. clean install - applying all updates then rolling back and applying half of the updates etc).

I have managed to isolate this issue to "libgtk2.0-0" and "libgtk2.0-bin" binary packages. Will attach my apt-get update log (which includes the DEB packages and versions concerned).

affects: tightvnc (Ubuntu) → gtk+2.0 (Ubuntu)
Patrick Rynhart (prynhart) wrote :

Notes:

1. This issue appears to apply only to remote X11 sessions, i.e. non-console X11 sessions such as xrdp & tightvnc.
2. This is not specificially a tightvnc session (but was first observed as affecting remote VNC sessions only).
3. Drag & Drop is broken through the GNOME desktop session, e.g. (i) mail messages in Thunderbird cannot be dragged from one folder to another, (ii) The location of folders & files on the desktop cannot be moved either (they return to their starting place).

summary: - GNOME Drag & Drop broken in Lucid
+ GNOME Drag & Drop broken for remote X sessions in Lucid

Workaround for this problem - Downgrade from 2.20.1-0ubuntu1 to 2.20.0-0ubuntu4 as below. Tested and confirmed as a workaround to the original issue:

# apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be DOWNGRADED:
  gtk2-engines-pixbuf libgail-common libgail18 libgtk2.0-0 libgtk2.0-bin
0 upgraded, 0 newly installed, 5 downgraded, 0 to remove and 0 not upgraded.
Inst libgtk2.0-bin [2.20.1-0ubuntu1] (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Inst libgail-common [2.20.1-0ubuntu1] (2.20.0-0ubuntu4 Ubuntu:10.04/lucid) []
Inst libgail18 [2.20.1-0ubuntu1] (2.20.0-0ubuntu4 Ubuntu:10.04/lucid) []
Inst gtk2-engines-pixbuf [2.20.1-0ubuntu1] (2.20.0-0ubuntu4 Ubuntu:10.04/lucid) []
Inst libgtk2.0-0 [2.20.1-0ubuntu1] (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Conf libgtk2.0-0 (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Conf libgtk2.0-bin (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Conf libgail18 (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Conf libgail-common (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)
Conf gtk2-engines-pixbuf (2.20.0-0ubuntu4 Ubuntu:10.04/lucid)

Sebastien Bacher (seb128) wrote :

Thank you for your bug report. The issue is an upstream one and it would be nice if somebody having it could send the bug the to the people writting the software (https://wiki.ubuntu.com/Bugs/Upstream/GNOME)

Changed in gtk+2.0 (Ubuntu):
importance: Undecided → Low
Patrick Rynhart (prynhart) wrote :

Hi Sebastien,

Thank you for your reply. I have forwarded this bug on as per your instructions - the bug report is available at:

https://bugzilla.gnome.org/show_bug.cgi?id=620240

Thank you,

Patrick

Ayan George (ayan) on 2010-06-02
Changed in gtk+2.0 (Ubuntu):
assignee: nobody → Ayan George (ayan)
status: New → In Progress
Ayan George (ayan) on 2010-06-03
Changed in gtk+2.0 (Ubuntu):
status: In Progress → Confirmed
status: Confirmed → In Progress
Changed in gtk+2.0 (Ubuntu):
assignee: Ayan George (ayan) → nobody
status: In Progress → Triaged
Changed in gtk:
status: Unknown → New

Hello,

I received an email from you (<email address hidden>)
with the subject : Bug 587856 Re GNOME Drag Drop broken for remote X sessions in Lucid

You are not (yet) on my whitelist of email contacts,
so your email has not yet been delivered.

Please perform this one-time step, which will add you to
my list, and will cause your original mail to be delivered :

REPLY to this email, and
CHANGE the subject of the email to the following code :

  avmrdc774b9d59d5997ec19c4698ffe7fbe01282069249

If you did not actually send me an email with the subject mentioned
above, then most likely a spammer is spoofing your address.
Sorry, this is common, and there's not much anyone can do about that.
If this is the case, please disregard this message.

This is an automated mechanism designed to combat spam.
You will not receive another automated reply.

Thank you,

-Truxton Fulton

Changed in gtk:
importance: Unknown → High

Hi,

just wanted to ask, whether there is any progress in fixing this problem... being able to drag and drop would make some tasks so much quicker... sure you can always use mc on the shell for file management, but when having a working desktop?

I experience the bug with lxde-openbox (thus also gtk2) running on a vncserver on ubuntu 11.04

Hello,

I received an email from you (<email address hidden>)
with the subject : Bug 587856 Re GNOME Drag Drop broken for remote X sessions in Lucid

You are not (yet) on my whitelist of email contacts,
so your email has not yet been delivered.

Please perform this one-time step, which will add you to
my list, and will cause your original mail to be delivered :

REPLY to this email, and
CHANGE the subject of the email to the following code :

  avmr061bcb7bdedac0468afe1d761cf42e001314316869

If you did not actually send me an email with the subject mentioned
above, then most likely a spammer is spoofing your address.
Sorry, this is common, and there's not much anyone can do about that.
If this is the case, please disregard this message.

This is an automated mechanism designed to combat spam.
You will not receive another automated reply.

Thank you,

-Truxton Fulton

The problem persists.
Upstream GNOME/GTK developers are not responding for almost a year now although a the code has been isolated.
KDE applications do well with drag and drop.

This is annoying.
Is there any workaround (besides using x11vnc as a server?)

Also Mr. Fulton should check his mailer.

summary: - GNOME Drag & Drop broken for remote X sessions in Lucid
+ GNOME Drag & Drop broken for remote X sessions

> Also Mr. Fulton should check his mailer.

Checked. Sorry about the noise.

-Truxton

Is anyone going to fix this? It's getting bigger. Now, the fix no longer works because other packages are starting to depend on the newer libraries. For example:

root@dynamo-ubuntu:~# apt-get install libgtk2.0-0=2.20.0-0ubuntu4 libgtk2.0-bin=2.20.0-0ubuntu4 libgail18=2.20.0-0ubuntu4 libgail-common=2.20.0-0ubuntu4 gtk2-engines-pixbuf=2.20.0-0ubuntu4 --no-remove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  libgtk2.0-dev libnotify-dev mongodb xulrunner-1.9.2-dev
The following packages will be DOWNGRADED:
  gtk2-engines-pixbuf libgail-common libgail18 libgtk2.0-0 libgtk2.0-bin
0 upgraded, 0 newly installed, 5 downgraded, 4 to remove and 0 not upgraded.
E: Packages need to be removed but remove is disabled.

The libgtk2.0-dev and those other files are in a dependency path to the newer (buggy) libgtk files so I can't downgrade anymore. What do we need to do to get this fixed?

There's a candidate patch in the upstream bug, and the GNOME/GTK+ developers seem slow to review and apply it.

Any chance this can be patched in Ubuntu specifically? This is highly visible and renders Ubuntu an unusable OS if you rely on remote administering GTK+ apps that require drag-and-drop.

Sebastien Bacher (seb128) wrote :

The bug got fixed in upstream git:

gtk3: http://git.gnome.org/browse/gtk+/commit/?id=266866e82c1460c268435cf8a6faf466b65727e8
gtk2: http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=2a9bf2619a742be3dbc41bab5854eb0d8b5689bb

We will get the fix in precise for sure, if somebody wants to work on backports for other Ubuntu series please feel free I will review sponsoring requests

Changed in gtk+2.0 (Ubuntu):
status: Triaged → Fix Committed
Changed in gtk+3.0 (Ubuntu):
status: New → Fix Committed
importance: Undecided → High
Changed in gtk+2.0 (Ubuntu):
importance: Low → High
Changed in gtk:
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtk+2.0 - 2.24.8-2ubuntu4

---------------
gtk+2.0 (2.24.8-2ubuntu4) precise; urgency=low

  * debian/patches/git_dnd_on_vnc.patch: git patch to fix dnd on severs not
    supporting "shape", i.e some vnc servers (lp: #587856)
  * debian/patches/043_ubuntu_menu_proxy.patch:
    - updated patch from Cimi, should fix some visual issue (lp: #915241)
 -- Sebastien Bacher <email address hidden> Mon, 16 Jan 2012 18:19:28 +0100

Changed in gtk+2.0 (Ubuntu Precise):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtk+3.0 - 3.3.8-0ubuntu1

---------------
gtk+3.0 (3.3.8-0ubuntu1) precise; urgency=low

  * New upstream version
    * GtkApplication:
      - Supports logout notification and inhibiting
      - Buttons, toolbuttons and switches can now be connected to GActions
    * GtkSpinButton no longer allows to change the value when not editable
    * GtkLabel link support has been rewritten to be be more robust
    * GtkBuilder:
      - Supports the 'id' in GtkComboBoxText
      - Can parse GVariant-valued properties
      - Support loading from a GResource
    * GtkImage: Support loading from a GResource
    * GtkUIManager: Support loading from a GResource
    * Accessibility: key snooping support has been removed
    * Wayland backend and Theming improvements
    * Miscellaneous:
      - Turn default theme css files and dnd cursors into GResources
    * Bugs fixed:
      - "Drag & Drop broken for remote X sessions" (lp: #587856)
      - "Folder selector broken in Precise" (lp: #914356)
      - "Save file dialog arbitrary selects file name" (lp: #912420)
      - "Gnome-screenshot fails to save pictures in the good folder"
        (lp: #916577)
      - "Changing selection no longer sets cursor" (lp: #911905)
  * debian/control.in:
    - updated glib requirement
  * debian/libgtk-3-0.symbols:
    - updated for the new version and the overlay scrollbar update
  * drop patches included in the new version
  * debian/patches/100_overlay_scrollbar_loading.patch:
    - updated patch from Cimi (lp: #911263)
 -- Sebastien Bacher <email address hidden> Tue, 17 Jan 2012 13:47:37 +0100

Changed in gtk+3.0 (Ubuntu Precise):
status: Fix Committed → Fix Released
James Andrewartha (trs80) wrote :

seb128: How do I go about getting this backported?

Sebastien Bacher (seb128) wrote :

James: feel free to work on that, I don't use remove sessions and I've way to much to do already but I will be happy to sponsor the SRU is somebody do the backport and test it

James Andrewartha (trs80) wrote :

An [Impact] section explaining the severity and frequency of the bug on users and justification for backporting the fix to the stable release:

Prevents drag and drop from working when using remote desktop protocols like VNC and RDP.

A [Development Fix] section with an explanation of how the bug has been addressed in the development branch, including the relevant version numbers of packages modified in order to implement the fix.

Just the patch at http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=2a9bf2619a742be3dbc41bab5854eb0d8b5689bb

A [Stable Fix] section pointing out a minimal patch applicable to the stable version of the package. If preparing a patch is likely to be time-consuming, it may be preferable to get a general approval from the SRU team first.

The patch from http://git.gnome.org/browse/gtk+/commit/?h=gtk-2-24&id=2a9bf2619a742be3dbc41bab5854eb0d8b5689bb applies cleanly and works. I just dropped in in debian/patches and recompiled.

A [Test Case] section with detailed instructions how to reproduce the bug. These should allow someone who is not familiar with the affected package to reproduce the bug and verify that the updated package fixes the problem.

Set up an X VNC server per http://linuxreviews.org/howtos/xvnc/ and connect to it with your favorite VNC client. Try and drag and drop from a GTK2 application.

A [Regression Potential] section with a discussion of likelihood and potential severity of regressions and how users could get inadvertently affected.

Low; patch directly targets the problem and is already backported in later releases.

Do you need me to subscribe ubuntu-sponsors or ubuntu-sru?

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.