No longer directly use global variable gwenhywfar_gui.
We now use a thread-local variable, so a thread can set its own GUI implementation.
The reason is that most X11 GUIs down allow any thread of a process other than the main thread to access the graphical interface. If a thread function uses other GWEN functions which might call GUI functions this would be a problem.
With thread-local variables each thread can have its own GUI, side-threads might want to use e.g. the GUI implementation from GWEN_NoGui_new().
No longer directly use global variable gwenhywfar_gui.
We now use a thread-local variable, so a thread can set its own GUI
implementation.
The reason is that most X11 GUIs down allow any thread of a process other
than the main thread to access the graphical interface. If a thread function
uses other GWEN functions which might call GUI functions this would be a
problem.
With thread-local variables each thread can have its own GUI, side-threads
might want to use e.g. the GUI implementation from GWEN_NoGui_new().