Change-Id: I6f9ab43ad6d149295487d9f69ceb0131cd142776
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
cd->cleanupNodesOnShutdown();
if (m_windows.size() == 0) {
- sg->invalidate();
- delete gl;
- gl = 0;
+ if (!cd->persistentSceneGraph) {
+ sg->invalidate();
+ if (!cd->persistentGLContext) {
+ delete gl;
+ gl = 0;
+ }
+ }
}
}
void QSGGuiThreadRenderLoop::windowDestroyed(QQuickWindow *window)
{
hide(window);
+ if (m_windows.size() == 0) {
+ sg->invalidate();
+ delete gl;
+ gl = 0;
+ }
}
void QSGGuiThreadRenderLoop::renderWindow(QQuickWindow *window)
void QSGGuiThreadRenderLoop::exposureChanged(QQuickWindow *window)
{
if (window->isExposed())
- maybeUpdate(window);
+ renderWindow(window);
}
QImage QSGGuiThreadRenderLoop::grab(QQuickWindow *window)