const char magic[] = "VSTFX Plugin State v002";
-int gui_thread_id = 0;
static int gui_quit = 0;
/*This will be our connection to X*/
-Display* LXVST_XDisplay = NULL;
+static Display* LXVST_XDisplay = NULL;
/*The thread handle for the GUI event loop*/
-pthread_t LXVST_gui_event_thread;
+static pthread_t LXVST_gui_event_thread;
/*Util functions to get the value of a property attached to an XWindow*/
-bool LXVST_xerror;
+static bool LXVST_xerror;
int TempErrorHandler(Display *display, XErrorEvent *e)
{
/*Create the thread - use default attrs for now, don't think we need anything special*/
- thread_create_result = pthread_create(&LXVST_gui_event_thread, NULL, gui_event_loop, NULL);
+ thread_create_result = pthread_create(&LXVST_gui_event_thread, &thread_attributes, gui_event_loop, NULL);
if(thread_create_result!=0)
{
vstfx_error ("** ERROR ** VSTFX: Failed starting GUI event thread");
XCloseDisplay(LXVST_XDisplay);
+ gui_quit = 1;
return -1;
}
void vstfx_exit()
{
+ if (gui_quit) {
+ return;
+ }
gui_quit = 1;
/*We need to pthread_join the gui_thread here so