diff options
Diffstat (limited to 'src/gui/painting/qbackingstorerhisupport.cpp')
-rw-r--r-- | src/gui/painting/qbackingstorerhisupport.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gui/painting/qbackingstorerhisupport.cpp b/src/gui/painting/qbackingstorerhisupport.cpp index 4e87eefc34..9ba060080a 100644 --- a/src/gui/painting/qbackingstorerhisupport.cpp +++ b/src/gui/painting/qbackingstorerhisupport.cpp @@ -219,11 +219,12 @@ bool QBackingStoreRhiSupportWindowWatcher::eventFilter(QObject *obj, QEvent *eve auto it = m_rhiSupport->m_swapchains.find(window); if (it != m_rhiSupport->m_swapchains.end()) { qCDebug(lcQpaBackingStore) << "SurfaceAboutToBeDestroyed received for tracked window" << window << "cleaning up swapchain"; - it->reset(); + auto data = *it; m_rhiSupport->m_swapchains.erase(it); + data.reset(); // deletes 'this' } } - return QObject::eventFilter(obj, event); + return false; } QSurface::SurfaceType QBackingStoreRhiSupport::surfaceTypeForConfig(const QPlatformBackingStoreRhiConfig &config) |