13
0

Fix crash when X11 is not available for VST UIs

This should not happen -- VST gui_event_loop is only
started if LXVST_XDisplay is not NULL.
However the eventloop itself checks if LXVST_XDisplay is set,
so this might happen with headless builds that still have
access to a display, or due to some async event.
This commit is contained in:
Robin Gareus 2020-01-01 21:56:12 +01:00
parent eccbdd10e0
commit c07e13b7ac
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -316,7 +316,8 @@ dispatch_x_events (XEvent* event, VSTState* vstfx)
any Xevents to all the UI callbacks plugins 'may' have registered on their any Xevents to all the UI callbacks plugins 'may' have registered on their
windows, that is if they don't manage their own UIs **/ windows, that is if they don't manage their own UIs **/
void* gui_event_loop (void* ptr) static void*
gui_event_loop (void* ptr)
{ {
VSTState* vstfx; VSTState* vstfx;
int LXVST_sched_timer_interval = 40; //ms, 25fps int LXVST_sched_timer_interval = 40; //ms, 25fps
@ -623,6 +624,11 @@ int vstfx_create_editor (VSTState* vstfx)
int x_size = 1; int x_size = 1;
int y_size = 1; int y_size = 1;
if (!LXVST_XDisplay) {
vstfx_error ("** ERROR ** VSTFX: No X11 Display available for plugin UI");
return -1;
}
/* Note: vstfx->lock is held while this function is called */ /* Note: vstfx->lock is held while this function is called */
if (!(vstfx->plugin->flags & effFlagsHasEditor)) if (!(vstfx->plugin->flags & effFlagsHasEditor))