diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2009-07-31 12:52:29 (GMT) |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2009-07-31 12:58:23 (GMT) |
commit | 9d511567ece87258ab0bdc77f8c0ab62c075f454 (patch) | |
tree | 1a6244464defa5d529501776b18f16eab40223b7 /src | |
parent | c0f0e798e903c39d5f8b6dc6dd2abdfbcc8a7d93 (diff) | |
download | Qt-9d511567ece87258ab0bdc77f8c0ab62c075f454.zip Qt-9d511567ece87258ab0bdc77f8c0ab62c075f454.tar.gz Qt-9d511567ece87258ab0bdc77f8c0ab62c075f454.tar.bz2 |
Crash DirectFb plugin when resizing verticaly
QRasterPaintEngine assumes device does not change size. Therefore create
a new engine when resizing.
Reviewed-by: Tom
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp index a1009ac..8cddc76 100644 --- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp +++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp @@ -209,7 +209,6 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) if (!dfbWindow) createWindow(); ::setGeometry(dfbWindow, oldRect, rect); - // ### do I need to release and get the surface again here? #endif break; case Offscreen: { @@ -227,7 +226,10 @@ void QDirectFBWindowSurface::setGeometry(const QRect &rect) if (result != DFB_OK) DirectFBErrorFatal("QDirectFBWindowSurface::setGeometry()", result); } - + if (engine) { + delete engine; + engine = 0; + } QWSWindowSurface::setGeometry(rect); } |