diff options
author | Gunnar Sletta <gunnar.sletta@digia.com> | 2013-12-04 10:20:22 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-04 11:00:49 +0100 |
commit | 5006158e4d20ac35d64bc7a581c9966401254002 (patch) | |
tree | bef40980611b83630d608278362d168f13fada7e /LICENSE.GPL | |
parent | 568c575b97940e6afa5015ef2566d8316aa22cd8 (diff) |
Don't leave the GL context current after cleanup.
When shutting down, we left the gl context current on the window even
when it was hidden. On mac this was a problem as it would optimize
away our makeCurrent when the surface was made visible again, leading
to nothing being rendered. So we call doneCurrent regardless during
invalidateGL(). We also check and verify that makeCurrent in
invalidateGL() actually succeeds.
This lead to another problem which is that closing the app using [x]
will call QWindow::destroy() on all windows, removing their platform
windows and causing makeCurrent to fail. To still gracefully clean up
resources, we introduced the concept of an offscreen fallback surface
which is temporarirly used during the cleanup when needed.
The problem is still present on QWindow+QOpenGLContext level, and
I've opened QTBUG-35363 to fix this.
Task-number: QTBUG-35234
Change-Id: Ie76dbe5fd4ab935db3da34f3ff63d217a3ba5013
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Diffstat (limited to 'LICENSE.GPL')
0 files changed, 0 insertions, 0 deletions