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:
parent
9894bb4357
commit
d56432304e
3 changed files with 21 additions and 2 deletions
|
|
@ -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 = {};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue