Fix potential crash during shutdown for QQuickWindows
authorGunnar Sletta <gunnar.sletta@jollamobile.com>
Fri, 14 Mar 2014 14:15:26 +0000 (15:15 +0100)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 17 Mar 2014 14:45:45 +0000 (15:45 +0100)
commit3f362cdf9304afeed06081cd5abfcaf6aaabe19e
tree2ce6cee541379fba587f17da3b309060099099a1
parentd37b770a353079d1e8e34b5f59d4cd132fbd04e2
Fix potential crash during shutdown for QQuickWindows

The cleanup() function would deregister the render loop from all
windows the render loop had seen, but the render loop doesn't see
windows until the window gets a showEvent and for some implementations
it was removed as a result of hideEvent. So add explicit tracking to
QSGRenderLoop which is managed by QQuickWindow's constructor and
destructor. With this, we no longer need the lists from the
subclasses, so these functions are removed again.

Change-Id: I05e5507ad57e23c80bacd99752654cc7d0890dc1
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
src/quick/designer/designerwindowmanager_p.h
src/quick/items/qquickwindow.cpp
src/quick/scenegraph/qsgrenderloop.cpp
src/quick/scenegraph/qsgrenderloop_p.h
src/quick/scenegraph/qsgthreadedrenderloop.cpp
src/quick/scenegraph/qsgthreadedrenderloop_p.h
src/quick/scenegraph/qsgwindowsrenderloop.cpp
src/quick/scenegraph/qsgwindowsrenderloop_p.h