diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-10-06 11:15:35 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2009-10-06 11:15:35 (GMT) |
commit | 0d6c7a6b0dafec4e579916e99725d3f8b49d0910 (patch) | |
tree | 810f9c50e882ec67fff351bd112b0d5d48bf7495 /src/opengl/qgl.cpp | |
parent | 9c73671c3b917a2a6a22411fb17c46dfa5e21049 (diff) | |
parent | 1f5afc4300d3d7e3063f4e2c80a280a5098717d1 (diff) | |
download | Qt-0d6c7a6b0dafec4e579916e99725d3f8b49d0910.zip Qt-0d6c7a6b0dafec4e579916e99725d3f8b49d0910.tar.gz Qt-0d6c7a6b0dafec4e579916e99725d3f8b49d0910.tar.bz2 |
Merge branch '4.6' of git@scm.dev.troll.no:qt/qt into 4.6
Diffstat (limited to 'src/opengl/qgl.cpp')
-rw-r--r-- | src/opengl/qgl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 7dbe642..3940a08 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -3781,6 +3781,11 @@ bool QGLWidget::event(QEvent *e) glFinish(); doneCurrent(); } else if (e->type() == QEvent::ParentChange) { + // if we've reparented a window that has the current context + // bound, we need to rebind that context to the new window id + if (d->glcx == QGLContext::currentContext()) + makeCurrent(); + if (d->glcx->d_func()->screen != d->xinfo.screen() || testAttribute(Qt::WA_TranslucentBackground)) { setContext(new QGLContext(d->glcx->requestedFormat(), this)); // ### recreating the overlay isn't supported atm |