summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2009-07-31 12:52:29 (GMT)
committerJørgen Lind <jorgen.lind@nokia.com>2009-07-31 12:58:23 (GMT)
commit9d511567ece87258ab0bdc77f8c0ab62c075f454 (patch)
tree1a6244464defa5d529501776b18f16eab40223b7 /src
parentc0f0e798e903c39d5f8b6dc6dd2abdfbcc8a7d93 (diff)
downloadQt-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.cpp6
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);
}