summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Krus <mike.krus@kdab.com>2017-05-02 20:50:37 +0100
committerMike Krus <mike.krus@kdab.com>2017-05-03 20:24:46 +0000
commit6fb72aa81e454b31e042472144db672d39c3c311 (patch)
tree39834063d25b4427a59b09d05b3c86a0c01fe5fc
parentffe79d7f634ef34a4133c608cb3b5978dfff1fe7 (diff)
Unregister event filter when surface to close
Prevents crash in two window manual test where the object is deleted when PlatformSurfaceFilter destructor tries to remove the event filter Change-Id: I1a37a3cb9088be462957ffbd4412ae5e5241f2df Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
-rw-r--r--src/render/backend/platformsurfacefilter.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/render/backend/platformsurfacefilter.cpp b/src/render/backend/platformsurfacefilter.cpp
index 891e30c44..7458f607d 100644
--- a/src/render/backend/platformsurfacefilter.cpp
+++ b/src/render/backend/platformsurfacefilter.cpp
@@ -107,6 +107,10 @@ bool PlatformSurfaceFilter::eventFilter(QObject *obj, QEvent *e)
// If we remove it, the call to isSurfaceValid will
// implicitely return false
PlatformSurfaceFilter::m_surfacesValidity.remove(m_surface);
+ if (m_obj) {
+ m_obj->removeEventFilter(this);
+ m_obj = nullptr;
+ }
break;
}