diff options
author | Laszlo Agocs <laszlo.agocs@digia.com> | 2014-03-19 16:00:40 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-20 10:36:34 +0100 |
commit | f5b552b5900d3bed72ace43c22f35c09b499bbdf (patch) | |
tree | cde523d354ae4335d5174a2c6feb17349ace24fb /src/gui/kernel | |
parent | 9508ea4c501c42b9c39dd6026a543d5766836097 (diff) |
Return false on context creation failure
Make QOpenGLContext::create() return false when the native context
could not be initialized. This way the return value and isValid()
become equivalent.
Relying on on having a non-NULL platform context is not enough, many
platforms will return a new instance even if the underlying platform
code failed to create a native context. To ensure that a platform
context is really usable, isValid() has to be checked too.
Change-Id: I6b4e9fdb24347ad52fbd6edbb8d144d51e16c301
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qopenglcontext.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/kernel/qopenglcontext.cpp b/src/gui/kernel/qopenglcontext.cpp index 7ccdd7395b..5087e33b47 100644 --- a/src/gui/kernel/qopenglcontext.cpp +++ b/src/gui/kernel/qopenglcontext.cpp @@ -247,8 +247,8 @@ QMutex QOpenGLContextPrivate::makeCurrentTrackerMutex; To set up a context, set its screen and format such that they match those of the surface or surfaces with which the context is meant to be used, if necessary make it share resources with other contexts with - setShareContext(), and finally call create(). Use isValid() to check if the - context was successfully initialized. + setShareContext(), and finally call create(). Use the return value or isValid() + to check if the context was successfully initialized. A context can be made current against a given surface by calling makeCurrent(). When OpenGL rendering is done, call swapBuffers() to swap @@ -491,7 +491,7 @@ bool QOpenGLContext::create() d->shareContext = 0; d->shareGroup = d->shareContext ? d->shareContext->shareGroup() : new QOpenGLContextGroup; d->shareGroup->d_func()->addContext(this); - return d->platformGLContext; + return isValid(); } /*! |