diff options
author | Alexis Menard <alexis.menard@nokia.com> | 2010-06-17 10:13:14 (GMT) |
---|---|---|
committer | Alexis Menard <alexis.menard@nokia.com> | 2010-06-17 10:20:24 (GMT) |
commit | 8fe1b2baf562df50e7b5cd7b4ea23bc5545ee80f (patch) | |
tree | 69a7d124eb08101b6b51b6a09115381dcf82e4b0 /doc | |
parent | 2b08b67660b3f059262f867c765fb6f068404820 (diff) | |
download | Qt-8fe1b2baf562df50e7b5cd7b4ea23bc5545ee80f.zip Qt-8fe1b2baf562df50e7b5cd7b4ea23bc5545ee80f.tar.gz Qt-8fe1b2baf562df50e7b5cd7b4ea23bc5545ee80f.tar.bz2 |
Fix event forwarding in QDeclarativeFlickable.
The flickable element filters all events of its children and store the
press event to replay it if there is a release or if the scrolling
didn't happen. The issue was that the event and the item stored to
"replay" the press event might not be the item that is interessted by
the event. Let say you have a translucent overlay on top of an other
item. Previously all events will be send to the overlay and not to the
item underneath. This happen beause QGraphicsView propagate events from
top to bottom (stacking order) so the overlay will be the first child
filtered by the flickable. So we need to repropagate the event through
the normal process to the event delivery mechanism of QGraphicsView
will work properly. Also we need to unset the mouse grabber since after
the first press it might be set to a wrong item. We also need to replay
the release by ourself on the new mouse grabber but only if we need to
send again the press.
Reviewed-by:Yann Bodson
Diffstat (limited to 'doc')
0 files changed, 0 insertions, 0 deletions