Skip to content

windowthumbnail: Cleanup on scene graph invalidation

David Edmundson requested to merge work/d_ed/thumb_crash_fix into master

The documentation (https://doc.qt.io/qt-6/qquickitem.html#graphics-resource-handling) states that if we are doing our own low level handling of graphic resources we need to perform cleanup in 3 places:

  • on item destruction
  • when an item is removed from the scene (via the virtual releaseResources)
  • when the scenegraph gets invalidated (via a slot invalidateSceneGraph)

We only handled the first two.

This would cause a crash if the window thumbnail is showing just an icon instead of a thumbnail and we hit one of the nvidia context loss resets. The atlas texture would be deleted, but we would keep a QSGTexture referencing something inside that for longer which would linger.

I believe we only need the texture provider to reset, but we may as well do it all.

BUG: 445893

This needs testing on Nvidia on X11 to check for regressions. I do not have that hardware anymore.

Merge request reports