summaryrefslogtreecommitdiffstats
path: root/src
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 /src
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>
Diffstat (limited to 'src')
-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;
}