diff options
author | Janne Anttila <janne.anttila@digia.com> | 2010-03-10 08:18:03 (GMT) |
---|---|---|
committer | Janne Anttila <janne.anttila@digia.com> | 2010-03-10 08:18:03 (GMT) |
commit | 7e78d2668e508f929243fe2169e1d9937b8d2b67 (patch) | |
tree | 50dd5769701c554e0faeb282cfed0f9ae3492cb3 /src/testlib/qtestresult.cpp | |
parent | 065fdc4caba6305f45b53edf27391af29f496a1c (diff) | |
download | Qt-7e78d2668e508f929243fe2169e1d9937b8d2b67.zip Qt-7e78d2668e508f929243fe2169e1d9937b8d2b67.tar.gz Qt-7e78d2668e508f929243fe2169e1d9937b8d2b67.tar.bz2 |
Fixed paint crash in Symbian for trasnclucent dialogs.
In Symbian Qt::WA_TrasnclucentBackground is set for QDialogs.
In QTBUG-8706 there is setVisible(false) call for widget before
orientation is switched from portrait to landscape with SW APIs.
This setVisible call invalidates/marks the widget area, basically
whole portrait screen (0,0, 360, 640 in 5800XM) dirty.
The orientation switch changes backingstore/windowsurface size to
640, 360, and invalidates that area. As an consequnce the widget
dirty area after these two operations is 0, 0, 640, 640.
Now when the widget is made visible again, the dirty region is
larger than a screen and causes a crash when trying to access
windowsurface bitmap data outside its bounds.
Fixed the issue by using QPainter instead of own implementation.
QPainter handles intersecting with image automatically. Another
benefit of QPainter is that it uses platform specific drawHelpers
if available to speed-up drawing.
Task-number: QTBUG-8706
Reviewed-by: Jani Hautakangas
Diffstat (limited to 'src/testlib/qtestresult.cpp')
0 files changed, 0 insertions, 0 deletions