diff options
author | Sami Kyostila <sami.kyostila@nokia.com> | 2011-03-28 16:08:29 (GMT) |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-03-28 16:26:17 (GMT) |
commit | f5592ef682ce18e7e6fd3770de722a5255a34ef7 (patch) | |
tree | a4b70a2693d92d20a72df14fb6e0144a5bc7c565 /doc/src/snippets/code/doc_src_model-view-programming.cpp | |
parent | 45bd1e737f2f76bbc9943995734c6ecb0a23935b (diff) | |
download | Qt-f5592ef682ce18e7e6fd3770de722a5255a34ef7.zip Qt-f5592ef682ce18e7e6fd3770de722a5255a34ef7.tar.gz Qt-f5592ef682ce18e7e6fd3770de722a5255a34ef7.tar.bz2 |
QMeeGoLivePixmapData: Verify dimensions of locked pixmap
When a switch from HW rendering to SW rendering is done, all EGL
surfaces backing a live pixmap become invalid because EGL is
terminated. Thanks to a recent patch, all live images are now
automatically invalidated when SW rendering is activated.
Even with this mechanism in place, it is possible for the underlying EGL
surface to be different than what the live pixmap is expecting. This can
happen, for instance, if the X pixmap gets destroyed and a different X
drawable is created using the same XID. Even though this is an unlikely
scenario, it can result in a complete system failure if the surface
dimensions do not match and the live pixmap user ends up writing over
internal graphics driver structures.
This patch adds a safeguard which disallows locking EGL surfaces with
non-matching dimensions.
Fixes Harmattan bug NB#237138.
Merge-request: 2583
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'doc/src/snippets/code/doc_src_model-view-programming.cpp')
0 files changed, 0 insertions, 0 deletions