Fix crash when closing windows via the X title bar button

On OSX clicking the X title bar button immediately destroys "all" native
windows (after sending a close event) which causes
[NSSurface _disposeSurface] to crash if invoked while GL is using
the surface
This commit is contained in:
Palana
2014-04-17 17:20:00 +02:00
parent 9894bb4357
commit d56432304e
3 changed files with 21 additions and 2 deletions
+13
View File
@@ -21,6 +21,7 @@
#include "qt-wrappers.hpp"
#include "display-helpers.hpp"
#include <QCloseEvent>
#include <QScreen>
#include <QWindow>
@@ -109,6 +110,18 @@ void OBSBasicProperties::timerEvent(QTimerEvent *event)
}
}
void OBSBasicProperties::closeEvent(QCloseEvent *event)
{
QDialog::closeEvent(event);
if (!event->isAccepted())
return;
// remove draw callback in case our drawable surfaces go away before
// the destructor gets called
obs_display_remove_draw_callback(display,
OBSBasicProperties::DrawPreview, this);
}
void OBSBasicProperties::Init()
{
gs_init_data init_data = {};