summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-05-27 02:12:02 -0700
committerQt by Nokia <qt-info@nokia.com>2011-07-06 12:03:30 +0200
commitb2aa1c7939ec3d7f0598e220c44947fe9fd81e3d (patch)
tree6633e26b6b42d10ce22a71ec9c4c4e71e1e26841
parent932ca7178cb11112da4b2325463083d872f31fe5 (diff)
We need to let the currentContext be in the same state after
setting the new eglsurface (cherry picked from commit af3efefeefe686e5c35ed502de077c0bcb6f6fc0) Change-Id: Ic1d62b21a1482d1bc7f1d99478e175e4b767e157 Reviewed-on: http://codereview.qt.nokia.com/1209 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
-rw-r--r--src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp b/src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp
index 72ad5a8..0f27501 100644
--- a/src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp
+++ b/src/plugins/platforms/wayland/gl_integration/wayland_egl/qwaylandglcontext.cpp
@@ -115,8 +115,15 @@ void *QWaylandGLContext::getProcAddress(const QString &string)
void QWaylandGLContext::setEglSurface(EGLSurface surface)
{
- doneCurrent();
+ bool wasCurrent = false;
+ if (QPlatformGLContext::currentContext() == this) {
+ wasCurrent = true;
+ doneCurrent();
+ }
mSurface = surface;
+ if (wasCurrent) {
+ makeCurrent();
+ }
}
EGLConfig QWaylandGLContext::eglConfig() const