13
0

FP8: tear down GUI before terminating event loop

This fixes an issue on Windows, where UI::run can dispatch
a signal that ends up via cross-thread channel at the surfaces'
BaseUI::request_handler. causing a segfault.
This commit is contained in:
Robin Gareus 2024-07-11 18:10:39 +02:00
parent c3d90f415c
commit 676b372ac5
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -244,8 +244,6 @@ FaderPort8::~FaderPort8 ()
AudioEngine::instance()->unregister_port (_output_port); AudioEngine::instance()->unregister_port (_output_port);
_output_port.reset (); _output_port.reset ();
} }
tear_down_gui ();
} }
/* **************************************************************************** /* ****************************************************************************
@ -266,6 +264,7 @@ FaderPort8::do_request (FaderPort8Request* req)
void void
FaderPort8::stop () FaderPort8::stop ()
{ {
tear_down_gui ();
DEBUG_TRACE (DEBUG::FaderPort8, "BaseUI::quit ()\n"); DEBUG_TRACE (DEBUG::FaderPort8, "BaseUI::quit ()\n");
BaseUI::quit (); BaseUI::quit ();
close (); // drop references, disconnect from session signals close (); // drop references, disconnect from session signals