diff options
author | Fabian Bumberger <fbumberger@rim.com> | 2014-02-01 12:41:27 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-02 14:40:44 +0100 |
commit | c1c5aca6f1cafc967ee063240b48c361dfab272d (patch) | |
tree | a37945182cab511f48b12f260d4bc5449cd8a464 /src/plugins/platforms/qnx/qqnxeglwindow.cpp | |
parent | 74d84f32daadbb5e8998bc13bdbb5b06642b0a56 (diff) |
[QNX] Handle the case when an egl surface can not be created
If an egl surface can not be created (e.g. when out of memory) the
application should not crash. In this case we will not be able to make
the egl surface current and have to return false in the makeCurrent call
in QQnxGlContext.
Change-Id: If9b5a82a0f64dc0a42bee687d351bea43fb05d51
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Diffstat (limited to 'src/plugins/platforms/qnx/qqnxeglwindow.cpp')
-rw-r--r-- | src/plugins/platforms/qnx/qqnxeglwindow.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/platforms/qnx/qqnxeglwindow.cpp b/src/plugins/platforms/qnx/qqnxeglwindow.cpp index 8acb258a1d..931fe0b288 100644 --- a/src/plugins/platforms/qnx/qqnxeglwindow.cpp +++ b/src/plugins/platforms/qnx/qqnxeglwindow.cpp @@ -79,8 +79,9 @@ void QQnxEglWindow::createEGLSurface() // the window's buffers before we create the EGL surface const QSize surfaceSize = requestedBufferSize(); if (!surfaceSize.isValid()) { - qFatal("QQNX: Trying to create 0 size EGL surface. " + qWarning("QQNX: Trying to create 0 size EGL surface. " "Please set a valid window size before calling QOpenGLContext::makeCurrent()"); + return; } setBufferSize(surfaceSize); @@ -98,7 +99,7 @@ void QQnxEglWindow::createEGLSurface() (EGLNativeWindowType) nativeHandle(), eglSurfaceAttrs); if (m_eglSurface == EGL_NO_SURFACE) { const EGLenum error = QQnxGLContext::checkEGLError("eglCreateWindowSurface"); - qFatal("QQNX: failed to create EGL surface, err=%d", error); + qWarning("QQNX: failed to create EGL surface, err=%d", error); } } |