diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-02 21:28:17 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-02 21:28:17 (GMT) |
commit | 43482fcfc106864f104f463002575c389d40b12f (patch) | |
tree | eb46ee10d2481d2c3576e014e0fd03d8140e9437 | |
parent | 373862bb30a85e70a2f213064ba7746bd843b39f (diff) | |
parent | 20531a5d26113837cd48ecc52a70ae62fdd97606 (diff) | |
download | Qt-43482fcfc106864f104f463002575c389d40b12f.zip Qt-43482fcfc106864f104f463002575c389d40b12f.tar.gz Qt-43482fcfc106864f104f463002575c389d40b12f.tar.bz2 |
Merge branch 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration into master-integration
* 'qt-4.8-from-4.7' of scm.dev.nokia.troll.no:qt/qt-integration:
Fix trailing whitespaces
Fix for native child widget performance issue.
-rw-r--r-- | src/opengl/qwindowsurface_gl.cpp | 11 | ||||
-rw-r--r-- | src/openvg/qwindowsurface_vg.cpp | 11 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp index 56e2c3b..8494283 100644 --- a/src/opengl/qwindowsurface_gl.cpp +++ b/src/opengl/qwindowsurface_gl.cpp @@ -610,6 +610,17 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint & if (!d_ptr->destructive_swap_buffers && !d_ptr->did_paint) return; +#ifdef Q_OS_SYMBIAN + if (window() != widget) { + // For performance reasons we don't support + // flushing native child widgets on Symbian. + // It breaks overlapping native child widget + // rendering in some cases but we prefer performance. + return; + } +#endif + + QWidget *parent = widget->internalWinId() ? widget : widget->nativeParentWidget(); Q_ASSERT(parent); diff --git a/src/openvg/qwindowsurface_vg.cpp b/src/openvg/qwindowsurface_vg.cpp index eedfea5..dcc5d6a 100644 --- a/src/openvg/qwindowsurface_vg.cpp +++ b/src/openvg/qwindowsurface_vg.cpp @@ -78,6 +78,17 @@ QPaintDevice *QVGWindowSurface::paintDevice() void QVGWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) { Q_UNUSED(offset); + +#ifdef Q_OS_SYMBIAN + if (window() != widget) { + // For performance reasons we don't support + // flushing native child widgets on Symbian. + // It breaks overlapping native child widget + // rendering in some cases but we prefer performance. + return; + } +#endif + QWidget *parent = widget->internalWinId() ? widget : widget->nativeParentWidget(); d_ptr->endPaint(parent, region); } |