diff options
author | Mike Krus <mike.krus@kdab.com> | 2017-05-02 20:50:37 +0100 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2017-05-03 20:24:46 +0000 |
commit | 6fb72aa81e454b31e042472144db672d39c3c311 (patch) | |
tree | 39834063d25b4427a59b09d05b3c86a0c01fe5fc | |
parent | ffe79d7f634ef34a4133c608cb3b5978dfff1fe7 (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.cpp | 4 |
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; } |