mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
UI: Delete OBSDisplay on window hide on unix
When a window with an OBSQTDisplay is closed, the surface can be destroyed before the display is, opening a gap for OBS to attempt to draw to the invalid surface. This deletes the underlying OBSDisplay object when the actual surface is destroyed, closing that gap. Note: This appears to have been an issue previously with Wayland, as hinted by the existing ifdefs.
This commit is contained in:
parent
2fa145899f
commit
44f07f9b11
@ -90,9 +90,8 @@ OBSQTDisplay::OBSQTDisplay(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
|
|
||||||
auto windowVisible = [this](bool visible) {
|
auto windowVisible = [this](bool visible) {
|
||||||
if (!visible) {
|
if (!visible) {
|
||||||
#ifdef ENABLE_WAYLAND
|
#if !defined(_WIN32) && !defined(__APPLE__)
|
||||||
if (obs_get_nix_platform() == OBS_NIX_PLATFORM_WAYLAND)
|
display = nullptr;
|
||||||
display = nullptr;
|
|
||||||
#endif
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user