that is what I thought when i saw: // the one and only global application object static wxAppConsole *ms_appInstance;
but also had seen some topics about trying to make VST-plugins GUI with wxWidgets, as this plugins are one dll loaded multiple times by the vst-host I guess this is an imposible task also. what a pitty!! thanks victor ----- Original Message ----- From: John Labenski To: wxlua-users@lists.sourceforge.net Sent: Monday, October 27, 2014 9:44 PM Subject: Re: [wxlua-users] using wx in two lanes On Mon, Oct 27, 2014 at 8:03 AM, Victor Bombi <son...@telefonica.net> wrote: Hello, this is related to something we talked before in the list. In order to require"wx" from two diferent lanes in luaLanes I modified luamodule.cpp: instead of static wxLuaState s_wxlState; I have wxLuaState* s_wxlState = new wxLuaState; inside luaopen_wx so that we get a different wxLuaState in each lane. In each lane a wxFrame is created and wxGetApp():MainLoop() is called at the end of the function used as the lane body. The first lane that calls wxGetApp():MainLoop() succeds but the second one fails because IsMainLoopRunning is true (as it is refering the same instance) and this lane ends. The main problem I see is that there is only one wxApp created by wxWidgets so it is not possible to have two independent message loops. (and maybe two independent wxApps) Is there something that can be done to create two different wxApp one in each lane? I'm pretty sure that having two separate wxApps in the same application is not supported by wxWidgets. Doing anything with a GUI widget from different threads at the same time is definitely not supported by any underlying GUI framework that wxWidgets uses; MSW, GTK, OSX, etc. The standard practice is to create the GUI in one and only one thread (doesn't have to be main, but typically is) and then use wxEvtHandler::QueueEvent(wx.wxCommandEvent(...)) to post messages from any other thread to the GUI thread. Basically, you connect your app to an arbitrary event type, wxEVT_COMMAND_BUTTON_CLICKED for example, with a unique ID and pass your data through the wxCommandEvent's Get/SetString/Int() etc. You may want to use lanes to do this message passing between threads if you like or if it's possible. The bottom line, I really don't think creating two wxApps in a single process is ever going to work even if the wxLua side was made thread-safe. It would be incredibly fragile. Regards, John ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ _______________________________________________ wxlua-users mailing list wxlua-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxlua-users
------------------------------------------------------------------------------
_______________________________________________ wxlua-users mailing list wxlua-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wxlua-users