diff options
author | Jason Barron <jbarron@trolltech.com> | 2010-01-14 09:44:24 (GMT) |
---|---|---|
committer | Jason Barron <jbarron@trolltech.com> | 2010-01-14 14:34:50 (GMT) |
commit | bc82db4d08860735bbae584a54d1b591c760e38b (patch) | |
tree | 1b01fc4c0453671f00e1a07f6e4a3ca13e64e259 /src/corelib/global | |
parent | 862d5433fb694a03715b2327a107b3192b921924 (diff) | |
download | Qt-bc82db4d08860735bbae584a54d1b591c760e38b.zip Qt-bc82db4d08860735bbae584a54d1b591c760e38b.tar.gz Qt-bc82db4d08860735bbae584a54d1b591c760e38b.tar.bz2 |
Improve the behavior of expose events on Symbian.
Previously when an expose was received from WSERV, we simply called
BitBlt (for raster) or called flush on the window surface (for
anything else). This behavior differs from other platforms which call
syncBackingStore(). This difference means that we flush the backing
store without actually updating the content first. This works for most
cases because if there actually was new content, it would be updated
when the widget's UpdateRequest event was handled.
The problem arises when the backing store does not have the correct
content. This can happen if the backing store was deleted, but only
partially restored (see Task below). Another problem is with the OpenVG
graphics system which assumes that beginPaint() is called before
endPaint() is order to initialize the context and the surface size.
The fix is to call syncBackingStore() like the other platforms, but
introduce a bit field to prevent infinite recursion in the painting
pipeline.
Task-number: QTBUG-4921
Reviewed-by: axis
Reviewed-by: Gareth Stockwell
Diffstat (limited to 'src/corelib/global')
0 files changed, 0 insertions, 0 deletions