mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 21:57:00 +02:00
Prevent overlay cleanup from crashing the app
This commit is contained in:
parent
a4afa03fe5
commit
e06bc26896
2 changed files with 8 additions and 1 deletions
|
@ -37,9 +37,16 @@
|
||||||
|
|
||||||
|
|
||||||
Overlays::Overlays() : _nextOverlayID(1) {
|
Overlays::Overlays() : _nextOverlayID(1) {
|
||||||
|
connect(qApp, &Application::beforeAboutToQuit, [=] {
|
||||||
|
cleanupAllOverlays();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Overlays::~Overlays() {
|
Overlays::~Overlays() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Overlays::cleanupAllOverlays() {
|
||||||
{
|
{
|
||||||
QWriteLocker lock(&_lock);
|
QWriteLocker lock(&_lock);
|
||||||
QWriteLocker deleteLock(&_deleteLock);
|
QWriteLocker deleteLock(&_deleteLock);
|
||||||
|
@ -53,7 +60,6 @@ Overlays::~Overlays() {
|
||||||
_overlaysWorld.clear();
|
_overlaysWorld.clear();
|
||||||
_panels.clear();
|
_panels.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanupOverlaysToDelete();
|
cleanupOverlaysToDelete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -145,6 +145,7 @@ signals:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void cleanupOverlaysToDelete();
|
void cleanupOverlaysToDelete();
|
||||||
|
void cleanupAllOverlays();
|
||||||
|
|
||||||
QMap<unsigned int, Overlay::Pointer> _overlaysHUD;
|
QMap<unsigned int, Overlay::Pointer> _overlaysHUD;
|
||||||
QMap<unsigned int, Overlay::Pointer> _overlaysWorld;
|
QMap<unsigned int, Overlay::Pointer> _overlaysWorld;
|
||||||
|
|
Loading…
Reference in a new issue