summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qbackingstorerhisupport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/painting/qbackingstorerhisupport.cpp')
-rw-r--r--src/gui/painting/qbackingstorerhisupport.cpp5
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)