From e06bc26896a285f0b89b36e897e0df4d1e84d7c7 Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Thu, 11 Feb 2016 15:17:58 -0800 Subject: [PATCH] Prevent overlay cleanup from crashing the app --- interface/src/ui/overlays/Overlays.cpp | 8 +++++++- interface/src/ui/overlays/Overlays.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/interface/src/ui/overlays/Overlays.cpp b/interface/src/ui/overlays/Overlays.cpp index 10298b8f15..e963c81144 100644 --- a/interface/src/ui/overlays/Overlays.cpp +++ b/interface/src/ui/overlays/Overlays.cpp @@ -37,9 +37,16 @@ Overlays::Overlays() : _nextOverlayID(1) { + connect(qApp, &Application::beforeAboutToQuit, [=] { + cleanupAllOverlays(); + }); } Overlays::~Overlays() { +} + + +void Overlays::cleanupAllOverlays() { { QWriteLocker lock(&_lock); QWriteLocker deleteLock(&_deleteLock); @@ -53,7 +60,6 @@ Overlays::~Overlays() { _overlaysWorld.clear(); _panels.clear(); } - cleanupOverlaysToDelete(); } diff --git a/interface/src/ui/overlays/Overlays.h b/interface/src/ui/overlays/Overlays.h index 62f00b8989..7bf6ce94eb 100644 --- a/interface/src/ui/overlays/Overlays.h +++ b/interface/src/ui/overlays/Overlays.h @@ -145,6 +145,7 @@ signals: private: void cleanupOverlaysToDelete(); + void cleanupAllOverlays(); QMap _overlaysHUD; QMap _overlaysWorld;