summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-12-30 16:26:27 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-12-30 16:26:27 (GMT)
commit34ea4da9a3c5538f39408367b394044fbd303773 (patch)
tree0d33a9fee96be75aaf293ca9922369d34d433f08
parentbff7af0b3dbf0fd57848e6655206fe8041abf478 (diff)
parentb36a6fc2961fabf1a2236f580f00384b88076c7c (diff)
downloadQt-34ea4da9a3c5538f39408367b394044fbd303773.zip
Qt-34ea4da9a3c5538f39408367b394044fbd303773.tar.gz
Qt-34ea4da9a3c5538f39408367b394044fbd303773.tar.bz2
Merge branch 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-master-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration: Clear WSERV content when a native child receives an "expose"
-rw-r--r--src/gui/kernel/qapplication_s60.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 0c4b307..7f157a1 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1071,6 +1071,14 @@ void QSymbianControl::Draw(const TRect& controlRect) const
Q_ASSERT(topExtra);
if (!topExtra->inExpose) {
topExtra->inExpose = true;
+ if (!qwidget->isWindow()) {
+ // If we get here, then it means we have a native child window
+ // Since no content should ever be painted to these windows, we
+ // erase them with a transparent brush when they get an expose.
+ CWindowGc &gc = SystemGc();
+ gc.SetBrushColor(TRgb(0, 0, 0, 0));
+ gc.Clear(controlRect);
+ }
QRect exposeRect = qt_TRect2QRect(controlRect);
qwidget->d_func()->syncBackingStore(exposeRect);
topExtra->inExpose = false;