diff options
author | Anders Bakken <anders.bakken@nokia.com> | 2009-09-04 16:42:14 (GMT) |
---|---|---|
committer | Anders Bakken <anders.bakken@nokia.com> | 2009-09-04 16:42:14 (GMT) |
commit | 3a18d6876f74ffbc415844fef5b1e49c083ded5d (patch) | |
tree | d98614d245e3130fdbd5e29ea3ae3289b712433e | |
parent | 27745a63a8fec14e9ea99e3860b05da8be21a1ff (diff) | |
download | Qt-3a18d6876f74ffbc415844fef5b1e49c083ded5d.zip Qt-3a18d6876f74ffbc415844fef5b1e49c083ded5d.tar.gz Qt-3a18d6876f74ffbc415844fef5b1e49c083ded5d.tar.bz2 |
Remove unnecessary call to exposeRegion in DFB
If we make sure to erase the background to background color in connect()
we don't have to do it in setGeometry.
Also clean up the code in QDBWindowSurface::flush
Reviewed-by: Donald Carr <donald.carr@nokia.com>
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp | 4 | ||||
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 16 |
2 files changed, 8 insertions, 12 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp index b966ee2..84a74c9 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp @@ -1287,6 +1287,10 @@ bool QDirectFBScreen::connect(const QString &displaySpec) } if (!d_ptr->backgroundColor.isValid()) d_ptr->backgroundColor = Qt::green; + d_ptr->primarySurface->Clear(d_ptr->primarySurface, d_ptr->backgroundColor.red(), + d_ptr->backgroundColor.green(), d_ptr->backgroundColor.blue(), + d_ptr->backgroundColor.alpha()); + d_ptr->primarySurface->Flip(d_ptr->primarySurface, 0, d_ptr->flipFlags); #endif return true; diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index e2b439e..b1ffe69 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -248,10 +248,6 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) updateFormat(); QWSWindowSurface::setGeometry(rect); -#ifdef QT_NO_DIRECTFB_WM - if (oldRect.isEmpty()) - screen->exposeRegion(screen->region(), 0); -#endif } QByteArray QDirectFBWindowSurface::permanentState() const @@ -357,15 +353,11 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QRect windowGeometry = QDirectFBWindowSurface::geometry(); #ifdef QT_NO_DIRECTFB_WM if (mode == Offscreen) { - QRegion r = region; - r.translate(offset + windowGeometry.topLeft()); - screen->exposeRegion(r, 0); - } else { - screen->flipSurface(dfbSurface, flipFlags, region, offset); - } -#else - screen->flipSurface(dfbSurface, flipFlags, region, offset); + screen->exposeRegion(region.translated(offset + geometry().topLeft()), 0); + + } else #endif + screen->flipSurface(dfbSurface, flipFlags, region, offset); #ifdef QT_DIRECTFB_TIMING enum { Secs = 3 }; |