connect(animationDriver, SIGNAL(stopped()), this, SLOT(animationStopped()));
}
+ ~QQuickRenderThreadSingleContextWindowManager()
+ {
+ releaseResources();
+ }
+
QSGContext *sceneGraphContext() const { return sg; }
void show(QQuickCanvas *canvas);
{
public:
QQuickTrivialWindowManager();
+ ~QQuickTrivialWindowManager()
+ {
+ releaseResources();
+ }
void show(QQuickCanvas *canvas);
void hide(QQuickCanvas *canvas);
#ifdef THREAD_DEBUG
printf(" RenderThread: releasing resources...\n");
#endif
-
QQuickCanvas *canvas = masterCanvas();
QWindow *tmpSurface = 0;
runToReleaseResources = true;
start();
- while (gl) {
+ while (isRunning()) {
wait();
}
}
void QQuickTrivialWindowManager::releaseResources()
{
- if (m_windows.size() == 0) {
+ if (m_windows.size() == 0 && gl) {
QQuickCanvas *canvas = masterCanvas();
QWindow *tmpSurface = 0;