[SRU] Fix problems in Qt dragging when all of the window target has been shaped out for input

Bug #999522 reported by Albert Astals Cid
2
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Fix Released
Undecided
Felix Geyer
Precise
Won't Fix
Undecided
Unassigned
Quantal
Fix Released
Undecided
Felix Geyer

Bug Description

In Unity-2d we use input shaping to define which part of our window accepts user input, unfortunately Qt did not have support for that feature when dragging from a Qt applications resulting in impossibility of dragging in applications like Mumble or KMail.

We fixed this issue with a patch to Qt (that was accepted upstream) but sadly that patch had a bug.

This means we need a new patch otherwise when on multimonitor scenarios the dropping into the secondary launcher from the drash does still does not work.

The new upstream patch (already accepted) can be found at https://codereview.qt-project.org/#change,24361 (it needs to replace/update kubuntu_33_shaped_drag.diff that only had a partial version of the patch)
If it helps http://qt.gitorious.org/qt/qt/commit/c3eb2e63425c47b8e3eeb7416e225fab10c5c15a is the same patch in a different repo

Fixes https://bugs.launchpad.net/unity-2d/+bug/966236

[Impact]
Severity: Can't drag and drop to Unity-2d launchers in non primary screen
Frequency: Every time you try to do it

[Development Fix]
Fix the drag and drop code
https://codereview.qt-project.org/#change,24361
http://qt.gitorious.org/qt/qt/commit/c3eb2e63425c47b8e3eeb7416e225fab10c5c15a

[Test Case]
Copied from the unity-2d bug:
  Setup:
    Multi-monitors, launcher per screen

  Steps to Repro:
    1. On non-primary screen, open dash
    2. Grab an application icon and try to drag & drop it onto the launcher of
       non-primary screen

    Expected Result:
       Application tile created in Launcher for that application

    Actual Result:
      .desktop file is placed on desktop under launcher

[Test Case #2]
If you are hardcore you can actually run the unit-tests I added in https://codereview.qt-project.org/#change,24361 itself

[Regression Potential]
It is touching the Drag and Drop code, potentially any drag and drop from a Qt program might break

Related branches

description: updated
description: updated
description: updated
description: updated
description: updated
description: updated
description: updated
description: updated
Felix Geyer (debfx)
Changed in qt4-x11 (Ubuntu Precise):
status: New → Triaged
Changed in qt4-x11 (Ubuntu Quantal):
status: New → Triaged
Felix Geyer (debfx)
Changed in qt4-x11 (Ubuntu Quantal):
assignee: nobody → Felix Geyer (debfx)
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.8 KiB)

This bug was fixed in the package qt4-x11 - 4:4.8.2-0ubuntu1

---------------
qt4-x11 (4:4.8.2-0ubuntu1) quantal; urgency=low

  * Merge from Debian Git snapshot, remaining changes:
    - Do not package ibase/firebird and sqlite2 package
      + remove from debian/control
      + libqt4-sql doesn't recommend libqt4-sql-ibase and libqt4-sql-sqlite2
    - libqt4-dbus recommends instead of depends on qdbus
    - build with -no-phonon
    - Do not build libqt4-phonon, disable in debian/control
    - Build packages with lzma compression using the dh addon from
      pkg-kde-tools
    - Add MessagesQt.sh
    - Rules to create Messages.sh link to MessagesQt.sh and rules to create po
      dir and execute extract-messages.sh in override_dh_auto_install
    - Add and install Trolltech.conf in libqtcore4.install
    - Build QtWebkit and use it only for QtAssistant
      + Rule to put qt_webkit_version.pri in mkspecs/modules
      + Rule to remove libQtWebKit* after build
      + Exclude usr/bin/assistant-qt4 from dh_shlibdeps
    - In debian/rules: move documentation building to override_dh_auto_install
      where dh_listpackages works as expected with dpkg-buildpackage.
  * Update symbols files.
  * New upstream release.
  * Drop patches that have been applied upstream:
    - QTBUG-24718_Fix_a_crash_in_cursorToX_when_new_block_is_added.patch
    - fix_qvfb_build.patch
    - gcc-4.7.diff
  * Update kubuntu_33_shaped_drag.diff with a commit backported from the
    upstream 4.8 branch. (LP: #999522)

qt4-x11 (4:4.8.1-2) UNRELEASED; urgency=low

  [ Didier Raboud ]
  * Add libqt4-dev Breaks against libphonon-dev << 4:4.6.0.0-1+exp1~
    because otherwise phonon might not be there in its multiarch'ed
    version, hence might not be detected by the usual cmake Qt modules
    detectors.

  [ Pino Toscano ]
  * Change the Homepage to http://qt-project.org/.
  * Backport the upstream commit 9e981c4dd03effc2c52b52f529edfa8955e534ce to
    fix plugin loading on big endian 64 bit architectures, such as s390x and
    ppc64; patch QElfParser-fix-type-of-sh_size.patch.
  * 07_trust_dpkg-arch_over_uname-m.diff: fix the hppa case (see bug #672825).
  * Suggest libicu48 in libqtcore4 for the optional locale functions.
  * Disable the warnings about not being able to load ICU libraries;
    patch no_libicu_message.diff. (together with the above it Closes: #673537)
  * Recommend libqt4-dbg in libqt4-designer-dbg, libqt4-qt3support-dbg,
    libqt4-script-dbg, libqt4-xmlpatterns-dbg, qt4-bin-dbg, and qt4-demos-dbg.
  * Override the two lintian warnings for dbg-package-missing-depends, since
    they are false positives.
  * Fix a hypen-as-minus issue in moc-qt4 man page.
  * Change the section of libqt4-webkit-dbg to oldlibs, since it is a
    transitional package.
  * Small touches to the descriptions of packages, including specifying some
    of the tools included in libqt4-dev-bin and qt4-dev-tools.

  [ Felix Geyer ]
  * Update watch file to the new URL on qt-project.org.

qt4-x11 (4:4.8.1-1) unstable; urgency=low

  * New upstream release.

  [ Fathi Boudra ]
  * Use multiarch for importsdir:
    - update debian/libqt4-declarative-*.install files.
    - mark QML plug...

Read more...

Changed in qt4-x11 (Ubuntu Quantal):
status: Triaged → Fix Released
Revision history for this message
Steve Langasek (vorlon) wrote :

The Precise Pangolin has reached end of life, so this bug will not be fixed for that release

Changed in qt4-x11 (Ubuntu Precise):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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