summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/svg/SVGUseElement.h
diff options
context:
space:
mode:
authorGareth Stockwell <ext-gareth.stockwell@nokia.com>2009-11-04 09:45:59 (GMT)
committerGareth Stockwell <ext-gareth.stockwell@nokia.com>2009-11-04 09:45:59 (GMT)
commitd319fccebfd5f2e7175945275ffc3e73240d766c (patch)
treef33ac8f3471e768fdeb4a403ef3bd5fbef2c0d26 /src/3rdparty/webkit/WebCore/svg/SVGUseElement.h
parentbd0fe34b7ae7ece37f013c193c28cce4fe8ba9ec (diff)
downloadQt-d319fccebfd5f2e7175945275ffc3e73240d766c.zip
Qt-d319fccebfd5f2e7175945275ffc3e73240d766c.tar.gz
Qt-d319fccebfd5f2e7175945275ffc3e73240d766c.tar.bz2
Call PositionChanged from QSymbianControl::SizeChanged
This is necessitated by the fact that CCoeControl::SetExtent calls SizeChanged, but does not call PositionChanged. This causes a bug in the handling of orientation changes. When the screen orientation changes, QSymbianControl::HandleResourceChange(KInternalStatusPaneChange) is called on the top-level widget. This results in a call to SetExtent. Because PositionChanged was not being called, the outcome was that the size of the widget's data.crect variable was updated, but not its position. This meant that mouse events sent to this widget or any of its children were incorrectly handled: 1. QSymbianControl::HandlePointerEventL works out which widget should receive the event. This uses CCoeControl::PositionRelativeToScreen, and therefore calculates the correct widget. 2. In constructing the QMouseEvent object, QWidget::mapFromGlobal is used to translate the event position into the receiving widget's co-ordinate system. This uses data.crect.topLeft(), therefore giving the wrong value, resulting in the widget's event handler discarding the event. Task-number: QTBUG-4697 Reviewed-by: axis
Diffstat (limited to 'src/3rdparty/webkit/WebCore/svg/SVGUseElement.h')
0 files changed, 0 insertions, 0 deletions