diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-07-18 14:45:46 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-07-18 14:45:46 (GMT) |
commit | 776f345d984a53a0d40a76acb19d938d5557a3be (patch) | |
tree | 0165806d34d47eb5a029ed9554b1276b016ac518 /src | |
parent | 2dcd6bb37c90d9d0777f25d419324c3d7ec5d722 (diff) | |
parent | 4e910f7d00dc3a08a2ac8578ecc8e0284b407bb9 (diff) | |
download | Qt-776f345d984a53a0d40a76acb19d938d5557a3be.zip Qt-776f345d984a53a0d40a76acb19d938d5557a3be.tar.gz Qt-776f345d984a53a0d40a76acb19d938d5557a3be.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public:
Avoid crash when surface creation fails.
Diffstat (limited to 'src')
-rw-r--r-- | src/openvg/qwindowsurface_vgegl.cpp | 2 | ||||
-rw-r--r-- | src/openvg/qwindowsurface_vgegl_p.h | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/openvg/qwindowsurface_vgegl.cpp b/src/openvg/qwindowsurface_vgegl.cpp index f7961b4..e16eeb3 100644 --- a/src/openvg/qwindowsurface_vgegl.cpp +++ b/src/openvg/qwindowsurface_vgegl.cpp @@ -686,6 +686,8 @@ QEglContext *QVGEGLWindowSurfaceDirect::ensureContext(QWidget *widget) #endif EGLSurface surface = context->createSurface(widget, &surfaceProps); if (surface == EGL_NO_SURFACE) { + qt_vg_destroy_paint_engine(engine); + engine = 0; qt_vg_destroy_context(context, QInternal::Widget); context = 0; return 0; diff --git a/src/openvg/qwindowsurface_vgegl_p.h b/src/openvg/qwindowsurface_vgegl_p.h index 231c548..2226e28 100644 --- a/src/openvg/qwindowsurface_vgegl_p.h +++ b/src/openvg/qwindowsurface_vgegl_p.h @@ -80,10 +80,8 @@ public: virtual bool supportsStaticContents() const { return false; } virtual bool scroll(QWidget *, const QRegion&, int, int) { return false; } -private: - QVGPaintEngine *engine; - protected: + QVGPaintEngine *engine; QWindowSurface *winSurface; void destroyPaintEngine(); |