diff options
author | Anders Bakken <anders.bakken@nokia.com> | 2009-09-30 18:07:55 (GMT) |
---|---|---|
committer | Anders Bakken <anders.bakken@nokia.com> | 2009-10-01 00:03:39 (GMT) |
commit | a73213cf5acdaabcd61245a6882e608b2337da3c (patch) | |
tree | 6ff7e89fb4a6a78809ce35221f4fde1e82e0071f | |
parent | e8fc662c4b5a0fa5da6f0d47e1dbb5b2640d7001 (diff) | |
download | Qt-a73213cf5acdaabcd61245a6882e608b2337da3c.zip Qt-a73213cf5acdaabcd61245a6882e608b2337da3c.tar.gz Qt-a73213cf5acdaabcd61245a6882e608b2337da3c.tar.bz2 |
Clean up releaseSurface in QDirectFBPaintDevice
Instead of having to call unlockSurface/releaseSubSurface and
releaseSurface to release the surface in QDirectFBWindowSurface make
releaseSurface do all three things.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp | 1 | ||||
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 11 |
2 files changed, 5 insertions, 7 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp index 46cf65b..cb4fb88 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp @@ -209,6 +209,7 @@ void QDirectFBPaintDevice::releaseSubSurface() { Q_ASSERT(QDirectFBScreen::instance()); if (subSurface) { + unlockSurface(); screen->releaseDFBSurface(subSurface); subSurface = 0; } diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index 19103cb..51afcc7 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -200,10 +200,6 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) if (sizeChanged) { delete engine; engine = 0; - unlockSurface(); -#ifdef QT_DIRECTFB_SUBSURFACE - releaseSubSurface(); -#endif releaseSurface(); Q_ASSERT(!dfbSurface); } @@ -430,9 +426,10 @@ void QDirectFBWindowSurface::updateFormat() void QDirectFBWindowSurface::releaseSurface() { if (dfbSurface) { -#ifdef QT_NO_DIRECTFB_SUBSURFACE - if (lockFlgs) - unlockSurface(); +#ifdef QT_DIRECTFB_SUBSURFACE + releaseSubSurface(); +#else + unlockSurface(); #endif #ifdef QT_NO_DIRECTFB_WM Q_ASSERT(screen->primarySurface()); |