Drag and drop does not take into account window shaping

Bug #926129 reported by Albert Astals Cid
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
qt4-x11 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

There is a bug in Qt 4.8.0 that it does not take into account shaping in findRealWindow in qdnd_x11.cpp so in some cases drag and drop does not work.

It can happen that there is a window covering all the screen but it is shaped
to only take part of the screen. If that happens, besides the condition of
QRect(attr.x,attr.y,attr.width,attr.height).contains(pos)
we also need to query the server for its region rectangles and make
sure the cursor is inside one of those rectangles. If that does not happen
we have to return 0 so the hierarchical XQueryTree search continues

There is an approved Merge Request at Qt-project.org about this http://codereview.qt-project.org/#change,15062

If you don't have an account at Qt-project.org you can find the patch at https://pastebin.canonical.com/59391/

We need this for Unity-2d

Revision history for this message
Albert Astals Cid (aacid) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qt4-x11 - 4:4.8.0-1ubuntu5

---------------
qt4-x11 (4:4.8.0-1ubuntu5) precise; urgency=low

  [ Martin Pitt ]
  * debian/control: Drop qdbus dependency of libqt4-dbus to a Recommends. The
    library does not actually need qdbus, and this is a cyclic dependency
    which breaks upgrades. (LP: #927637)

  [ Jonathan Riddell ]
  * Add kubuntu_29_window_shaping_fix.diff from
    http://qt.gitorious.org/qt/qt/commit/21713e04160ee285c831fedd1f3c7b8
    ce0aba681 take window shape into account in findRealWindow,
    LP: #926129
 -- Jonathan Riddell <email address hidden> Mon, 06 Feb 2012 19:39:15 +0000

Changed in qt4-x11 (Ubuntu):
status: New → Fix Released
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.