From 87965fa9eb08f9a8d39013337599bdb0855892b8 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Wed, 18 Mar 2015 07:02:58 -0700 Subject: [PATCH] UI: Clear list boxes in ::closeEvent Ensures that ->deleteLater events are put in to the event queue before the destructor is called. --- obs/window-basic-main.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 40f9be4e9..d010d0615 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -683,10 +683,6 @@ OBSBasic::~OBSBasic() if (advAudioWindow) delete advAudioWindow; - ClearVolumeControls(); - ui->sources->clear(); - ui->scenes->clear(); - obs_enter_graphics(); gs_vertexbuffer_destroy(box); gs_vertexbuffer_destroy(circle); @@ -1671,6 +1667,13 @@ void OBSBasic::closeEvent(QCloseEvent *event) * the program data is being freed */ delete saveTimer; SaveProject(); + + /* Clear the list boxes in ::closeEvent to ensure that we can process + * any ->deleteLater events in this window created by Qt in relation to + * their internal data */ + ClearVolumeControls(); + ui->sources->clear(); + ui->scenes->clear(); } void OBSBasic::changeEvent(QEvent *event)