You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(60) |
Jul
(35) |
Aug
(32) |
Sep
(5) |
Oct
(5) |
Nov
(58) |
Dec
(34) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(114) |
Feb
(184) |
Mar
(153) |
Apr
(90) |
May
(153) |
Jun
(59) |
Jul
(24) |
Aug
(43) |
Sep
(17) |
Oct
(34) |
Nov
(11) |
Dec
(204) |
2007 |
Jan
(84) |
Feb
(119) |
Mar
(38) |
Apr
(28) |
May
(52) |
Jun
(105) |
Jul
(64) |
Aug
(67) |
Sep
(14) |
Oct
(3) |
Nov
(28) |
Dec
(55) |
2008 |
Jan
(228) |
Feb
(55) |
Mar
(30) |
Apr
(30) |
May
(15) |
Jun
(20) |
Jul
(12) |
Aug
(3) |
Sep
(13) |
Oct
(54) |
Nov
(35) |
Dec
(35) |
2009 |
Jan
(19) |
Feb
(20) |
Mar
(34) |
Apr
(4) |
May
(60) |
Jun
(25) |
Jul
(16) |
Aug
(51) |
Sep
(19) |
Oct
(62) |
Nov
(21) |
Dec
(12) |
2010 |
Jan
(1) |
Feb
|
Mar
(4) |
Apr
(12) |
May
(23) |
Jun
(13) |
Jul
(1) |
Aug
(40) |
Sep
(18) |
Oct
(21) |
Nov
(26) |
Dec
(34) |
2011 |
Jan
(17) |
Feb
(23) |
Mar
(1) |
Apr
(10) |
May
(1) |
Jun
(5) |
Jul
(1) |
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(43) |
2012 |
Jan
(5) |
Feb
(19) |
Mar
(6) |
Apr
(24) |
May
(39) |
Jun
(83) |
Jul
(29) |
Aug
(36) |
Sep
(64) |
Oct
(55) |
Nov
(12) |
Dec
(7) |
2013 |
Jan
(17) |
Feb
(10) |
Mar
(37) |
Apr
(27) |
May
(13) |
Jun
(9) |
Jul
(7) |
Aug
(61) |
Sep
(23) |
Oct
(23) |
Nov
(30) |
Dec
(16) |
2014 |
Jan
(23) |
Feb
(13) |
Mar
(9) |
Apr
(17) |
May
(2) |
Jun
(11) |
Jul
(2) |
Aug
|
Sep
(9) |
Oct
(24) |
Nov
(2) |
Dec
(14) |
2015 |
Jan
(6) |
Feb
(4) |
Mar
(17) |
Apr
|
May
(7) |
Jun
(3) |
Jul
|
Aug
|
Sep
(2) |
Oct
(21) |
Nov
(6) |
Dec
(2) |
2016 |
Jan
(4) |
Feb
(2) |
Mar
(7) |
Apr
(3) |
May
(11) |
Jun
(6) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(4) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
|
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
1
(3) |
2
(3) |
3
|
4
|
5
|
6
|
7
(1) |
8
(3) |
9
(5) |
10
(5) |
11
(1) |
12
(2) |
13
|
14
(1) |
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
(2) |
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
(1) |
|
|
|
|
From: Les N. <les...@fa...> - 2013-04-30 13:28:01
|
The trunk version of wxLua won't run on pre-XP systems because it depends on AttachConsole in kernel32 (introduced in XP). The attached patch only calls AttachConsole if it is available. |
From: Paul K <pau...@ya...> - 2013-04-22 22:02:37
|
Hi John, I'm trying to provide my own custom error handler that will replace the default dialog shown after run-time errors in wxlua (wxLuaModuleApp::OnLuaError), but I'm having trouble with it as wxEVT_LUA_ERROR doesn't seem to be available to Lua scripts. Was that intentional and is it possible to make it available as it would be very convenient for my app to capture and report errors and to provide a customized error message? I also tried providing my own debug.traceback call to hadle this (and to return nil from it), but wxlua still shows an empty dialog in this case (and I'd prefer the dialog to be completely removed). Having ability to assign EVT_LUA_ERROR handler would be the easiest/proper way to handle this. Thank you. Paul. |
From: Paul K <pau...@ya...> - 2013-04-22 18:54:16
|
Hi John, Can you add wxTreeCtrl:SetItemState (2.9.x call) as well as related constants (wxTREE_ITEMSTATE_*)? The click event for the item state is there (EVT_(COMMAND_)TREE_STATE_IMAGE_CLICK), but not the state setting method. Thank you. Paul. |
From: Javier Mr <jav...@ym...> - 2013-04-14 10:16:30
|
Hi, thanks a lot for the detailed information. I finally resolve the issue and it turns out that was due to running my App compiled in Debug and loading wxLua, in release. Once done that the app works perfectly. The problem was that it didn't crash at start or always at the same point, mostly crashed when extresed. But i have said, problem running with Debug and Release libraries mixed. Best regards. Javi ----- Mensaje original ----- > De: John Labenski <jla...@gm...> > Para: Javier Mr <jav...@ym...>; wxl...@li... > CC: > Enviado: Viernes 12 de abril de 2013 23:56 > Asunto: Re: [wxlua-users] wxLua dispatching Asynchronous events? > > On Fri, Apr 12, 2013 at 4:13 PM, Javier Mr <jav...@ym...> > wrote: >> Hi, >> >> i'm using wxLua to make an interface, but i'm facing several > crashed and after looking for the source of them i could find it. I have an idea > of a posible reason so i will ask in case this is a known behaviour. First > several questions? >> >> 1. First in wxWidgets, are events (click, cell changes, tree item > activation, etc...) dispatched synchronously or asynchronously? > > Asynchronously (in a way), but single threaded. wxWidgets apps > basically "hang" in the native OS event loop until the mouse is moved, > key pressed, etc. You can "pump" the event loop by requesting a > wxIdleEvent or using a wxTimer. > >> 2. If asynchronously, could it be posible that to events are dispatcher > against the same lua state simultaneaously?. > > You will never have two functions called at once by the wxWidgets event loop. > >> What i have is a tree control with several items and a grid, so when a item > in the tree is activated the grid is filled up. I'm currently connected to > events for tree item activation, tree item right click, grid cell changed. >> >> Let's suppose the wxWidget thread running on the main loop is A ( 3. > which i belive is the thread that load the lua script, isn't it? ), > > Yes, same thread. > >> when i activate a tree node a event (evt1) will be queued in the event > queue (4. isn't it?), and the main loop will check for pending events it > will find the event (evt1) and will dispatch it (5. but will the lua function > from the event handler be called by the thread running the main loop (A) or will > a second thread be created (B) ?). >> > > Never a second thread. > >> >> In case question 5 is that a new thread will be created for executing the > handler, could another event in the tree (evt2) be queued in the events queue > and then the main loop thread (A) dispatch it creating a new thread (C) > **accesing** and modifiying the lua state while the previous event thread (B) > hasn't return yet? >> > > Nobody, including your code, should *ever* try to access any wxWidgets > control from any other thread than the one it was created in. > >> My hole test so far have been repainting the grid while clicking several > timer over a tree item so the event handler doesn't return inmediatly. >> >> I think all previous questions could be summariazed but, does wxLua protect > the access to the lua state from within wxLua? > > No, there would be way too many places to put mutexes, it would be really ugly. > > A wxLua app works this way. > > 1) Start Lua... load the libs require("wx") etc. > 2) Execute the Lua code, but it quickly gets to the end of the code. > The code defines functions, creates the wxFrame add child windows, > connect events... but doesn't really do any "work" > 3) Then if any wxFrames (or any wxTopLevelWindow derived class) exist, > wxLua starts the wxWidgets event loop and the app "hangs" in it > waiting for user input. > > Hope this makes sense, > John > |
From: John L. <jla...@gm...> - 2013-04-12 21:57:00
|
On Fri, Apr 12, 2013 at 4:13 PM, Javier Mr <jav...@ym...> wrote: > Hi, > > i'm using wxLua to make an interface, but i'm facing several crashed and after looking for the source of them i could find it. I have an idea of a posible reason so i will ask in case this is a known behaviour. First several questions? > > 1. First in wxWidgets, are events (click, cell changes, tree item activation, etc...) dispatched synchronously or asynchronously? Asynchronously (in a way), but single threaded. wxWidgets apps basically "hang" in the native OS event loop until the mouse is moved, key pressed, etc. You can "pump" the event loop by requesting a wxIdleEvent or using a wxTimer. > 2. If asynchronously, could it be posible that to events are dispatcher against the same lua state simultaneaously?. You will never have two functions called at once by the wxWidgets event loop. > What i have is a tree control with several items and a grid, so when a item in the tree is activated the grid is filled up. I'm currently connected to events for tree item activation, tree item right click, grid cell changed. > > Let's suppose the wxWidget thread running on the main loop is A ( 3. which i belive is the thread that load the lua script, isn't it? ), Yes, same thread. > when i activate a tree node a event (evt1) will be queued in the event queue (4. isn't it?), and the main loop will check for pending events it will find the event (evt1) and will dispatch it (5. but will the lua function from the event handler be called by the thread running the main loop (A) or will a second thread be created (B) ?). > Never a second thread. > > In case question 5 is that a new thread will be created for executing the handler, could another event in the tree (evt2) be queued in the events queue and then the main loop thread (A) dispatch it creating a new thread (C) **accesing** and modifiying the lua state while the previous event thread (B) hasn't return yet? > Nobody, including your code, should *ever* try to access any wxWidgets control from any other thread than the one it was created in. > My hole test so far have been repainting the grid while clicking several timer over a tree item so the event handler doesn't return inmediatly. > > I think all previous questions could be summariazed but, does wxLua protect the access to the lua state from within wxLua? No, there would be way too many places to put mutexes, it would be really ugly. A wxLua app works this way. 1) Start Lua... load the libs require("wx") etc. 2) Execute the Lua code, but it quickly gets to the end of the code. The code defines functions, creates the wxFrame add child windows, connect events... but doesn't really do any "work" 3) Then if any wxFrames (or any wxTopLevelWindow derived class) exist, wxLua starts the wxWidgets event loop and the app "hangs" in it waiting for user input. Hope this makes sense, John |
From: Javier Mr <jav...@ym...> - 2013-04-12 20:13:17
|
Hi, i'm using wxLua to make an interface, but i'm facing several crashed and after looking for the source of them i could find it. I have an idea of a posible reason so i will ask in case this is a known behaviour. First several questions? 1. First in wxWidgets, are events (click, cell changes, tree item activation, etc...) dispatched synchronously or asynchronously? 2. If asynchronously, could it be posible that to events are dispatcher against the same lua state simultaneaously?. What i have is a tree control with several items and a grid, so when a item in the tree is activated the grid is filled up. I'm currently connected to events for tree item activation, tree item right click, grid cell changed. Let's suppose the wxWidget thread running on the main loop is A ( 3. which i belive is the thread that load the lua script, isn't it? ), when i activate a tree node a event (evt1) will be queued in the event queue (4. isn't it?), and the main loop will check for pending events it will find the event (evt1) and will dispatch it (5. but will the lua function from the event handler be called by the thread running the main loop (A) or will a second thread be created (B) ?). In case question 5 is that a new thread will be created for executing the handler, could another event in the tree (evt2) be queued in the events queue and then the main loop thread (A) dispatch it creating a new thread (C) **accesing** and modifiying the lua state while the previous event thread (B) hasn't return yet? My hole test so far have been repainting the grid while clicking several timer over a tree item so the event handler doesn't return inmediatly. I think all previous questions could be summariazed but, does wxLua protect the access to the lua state from within wxLua? Thanks in advance. Best regards. Javi. Note: I will post the same question on StackOverflow, just letting you know. I will copy the solution from one to another. |
From: John L. <jla...@gm...> - 2013-04-11 03:12:51
|
On Wed, Apr 10, 2013 at 5:39 PM, andreas graeper <agr...@go...> wrote: > hi, > lubuntu12 > lua5.1.5 > wx2.8.12 gtk2du > wxlua2.8.10.0 this downloaded as source archive > > now i tried svn version: > > > CMake Error at build/CMakewxAppLib.cmake:112 (get_filename_component): > get_filename_component called with incorrect number of arguments > Call Stack (most recent call first): > CMakeLists.txt:25 (include) What version of CMake and did you compile it yourself? wxLua is tested mostly with 2.8.4 -> 2.8.9 in Windows and Fedora, RHEL, and Mandriva. I'm guessing that the variable CMAKE_EDIT_COMMAND is somehow not set by CMake? It should point to cmake-gui falling back to ccmake which should be a part of any normal CMake install. Please add this line shown below and let me know what the output is : Index: wxLua/build/CMakewxAppLib.cmake =================================================================== --- wxLua/build/CMakewxAppLib.cmake (revision 178) +++ wxLua/build/CMakewxAppLib.cmake (working copy) @@ -109,6 +109,7 @@ if (UNIX) # We want to open it in the gui, not in the curses ccmake which is broken in the gnome terminal (RHEL6) + MESSAGE("AAAA '${CMAKE_EDIT_COMMAND}'") get_filename_component(CMAKE_EDIT_COMMAND_PATH ${CMAKE_EDIT_COMMAND} PATH) if (EXISTS ${CMAKE_EDIT_COMMAND_PATH}/cmake-gui) > and other output tells, that installed lua is not used. Don't worry about that yet, as long as you're getting the error anything else is meaningless. Regards, John |
From: andreas g. <agr...@go...> - 2013-04-10 21:39:18
|
hi, lubuntu12 lua5.1.5 wx2.8.12 gtk2du wxlua2.8.10.0 this downloaded as source archive now i tried svn version: CMake Error at build/CMakewxAppLib.cmake:112 (get_filename_component): get_filename_component called with incorrect number of arguments Call Stack (most recent call first): CMakeLists.txt:25 (include) and other output tells, that installed lua is not used. 2013/4/10 John Labenski <jla...@gm...> > Hi Andreas, > > You got a lot going on here. First things first, what OS are you on, > what wxLua version are you compiling? I recommend using the SVN > version and the CMake build since it is far easier to work with. Use > the install.html file in the SVN docs/ dir. > > Regards, > John > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > wxlua-users mailing list > wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: John L. <jla...@gm...> - 2013-04-10 04:30:10
|
On Apr 9, 2013 11:41 PM, "Paul K" <pau...@ya...> wrote: > > Hi John, > > Would it be possible to add missing calls and constants? Thank you. > > BTW, ControlDown() has changed its behavior between 2.8 and 2.9 wxwidgets as it used to mean Ctrl on all platforms (with CmdDown() meaning Ctrl/Cmd), but it now means Ctrl/Cmd (and CmdDown() is deprecated). RawControlDown() replaced the "old" ControlDown(). wxMOD_* modifiers have been updated in a similar way. > What class? wxKeyEvent? Regards, John |
From: Paul K <pau...@ya...> - 2013-04-10 03:41:18
|
Hi John, Would it be possible to add missing calls and constants? Thank you. BTW, ControlDown() has changed its behavior between 2.8 and 2.9 wxwidgets as it used to mean Ctrl on all platforms (with CmdDown() meaning Ctrl/Cmd), but it now means Ctrl/Cmd (and CmdDown() is deprecated). RawControlDown() replaced the "old" ControlDown(). wxMOD_* modifiers have been updated in a similar way. Just wanted to let you and others know as I got burned by this a bit... Paul. |
From: John L. <jla...@gm...> - 2013-04-10 03:35:07
|
Hi Andreas, You got a lot going on here. First things first, what OS are you on, what wxLua version are you compiling? I recommend using the SVN version and the CMake build since it is far easier to work with. Use the install.html file in the SVN docs/ dir. Regards, John |
From: John L. <jla...@gm...> - 2013-04-10 03:28:29
|
On Tue, Apr 9, 2013 at 9:06 AM, Javier Mr <jav...@ym...> wrote: > Hi, > > Thanks for your response. But, as i have understand, with that aproach i need to subclass wx (affordable) and connect my native app directly with wxWidgets; this is not desirable in my case since my app will mostly run in a terminal just with a text interface and in certain cases bring up the GUI. Doing that would imply that i have to compile against wxWidgets and also the i would have one dependency more in the proyect. You might want to consider using a plugin type architecture for the data/status handler. In your Lua work module you provide a function that allows people to register functions to use as callbacks when new data is available. On new data/status the work module loops through the list of handler functions and calls them. This separates the wxLua part from your worker code and in the function you push from wxLua you call wxPostEvent with whatever upvalues you need to make it work... Regards, John |
From: andreas g. <agr...@go...> - 2013-04-09 21:37:26
|
i tried to load wx.so (simply require"wx") but got a segfault. so i removed everything (lua and wxlua) and started with installation of lua 5.1.5 wxlua configure script does not find lua installation no fun anymore. 2013/4/9 andreas graeper <agr...@go...> > i tried to make with wxLuaEdit=no (cause missing wxstedit) : > > > ../../modules/wxbind/src/wxcore_image.cpp:2296:54: error: taking address > of temporary [-fpermissive] > > this looks rather ill to me : > > wxImageHistogram::iterator* returns = &((*self)++); > > intended (?) : > ++*self ; > returns = self ; > > after correcting this, make completes. > > > > > 2013/4/9 andreas graeper <agr...@go...> > >> hi, >> i did not use cmake. just configure and make. why cmake ? no clue. >> >> i read install.html again and tried once again with >> configure-shell-script in extra build directory. but now it still tells me >> that >> wxcode_gtk2ud_stedit-2.8 could not be found. i have installed it twice, >> once with prefix /usr/local (default) and again with prefix /usr >> libwxcode_gtk2ud_stedit-2.8.so exists in /usr/lib and /usr/local/lib >> >> i used wxlua-configure option --with-wxstedit-prefix=/usr/local >> i tried to set env variable WXSTEDIT to wxstedit-include-path for both >> prefix=/usr and /usr/local ( /usr/local/include/wx/stedit/ ) >> but could not succeed. >> >> >> 2013/4/8 John Labenski <jla...@gm...> >> >>> On Sun, Apr 7, 2013 at 2:41 PM, andreas graeper <agr...@go...> >>> wrote: >>> > >>> > g++ >>> > -o ../bin/wxlua >>> > app_wxlua_lconsole.o >>> > app_wxlua_wxlua.o >>> > >>> ... >>> > lconsole.cpp:(.text+0x53e): undefined reference to `wxLuaState::Ok() >>> const' >>> ... >>> > libwxlua_gtk2u_wxlua-2.8.so:000000000001fc90 T _ZNK10wxLuaState2OkEv >>> ... >>> > symbol should be defined in libwxlua_gtk2u_wxlua-2.8.so ?! >>> >>> It should be and looks like it is. How did you build wxLua? Did you >>> build wxLua libs and apps using the CMake build files? >>> >>> Regards, >>> John >>> >>> >>> ------------------------------------------------------------------------------ >>> Minimize network downtime and maximize team effectiveness. >>> Reduce network management and security costs.Learn how to hire >>> the most talented Cisco Certified professionals. Visit the >>> Employer Resources Portal >>> http://www.cisco.com/web/learning/employer_resources/index.html >>> _______________________________________________ >>> wxlua-users mailing list >>> wxl...@li... >>> https://lists.sourceforge.net/lists/listinfo/wxlua-users >>> >> >> > |
From: andreas g. <agr...@go...> - 2013-04-09 20:58:18
|
i tried to make with wxLuaEdit=no (cause missing wxstedit) : ../../modules/wxbind/src/wxcore_image.cpp:2296:54: error: taking address of temporary [-fpermissive] this looks rather ill to me : wxImageHistogram::iterator* returns = &((*self)++); intended (?) : ++*self ; returns = self ; after correcting this, make completes. 2013/4/9 andreas graeper <agr...@go...> > hi, > i did not use cmake. just configure and make. why cmake ? no clue. > > i read install.html again and tried once again with configure-shell-script > in extra build directory. but now it still tells me that > wxcode_gtk2ud_stedit-2.8 could not be found. i have installed it twice, > once with prefix /usr/local (default) and again with prefix /usr > libwxcode_gtk2ud_stedit-2.8.so exists in /usr/lib and /usr/local/lib > > i used wxlua-configure option --with-wxstedit-prefix=/usr/local > i tried to set env variable WXSTEDIT to wxstedit-include-path for both > prefix=/usr and /usr/local ( /usr/local/include/wx/stedit/ ) > but could not succeed. > > > 2013/4/8 John Labenski <jla...@gm...> > >> On Sun, Apr 7, 2013 at 2:41 PM, andreas graeper <agr...@go...> >> wrote: >> > >> > g++ >> > -o ../bin/wxlua >> > app_wxlua_lconsole.o >> > app_wxlua_wxlua.o >> > >> ... >> > lconsole.cpp:(.text+0x53e): undefined reference to `wxLuaState::Ok() >> const' >> ... >> > libwxlua_gtk2u_wxlua-2.8.so:000000000001fc90 T _ZNK10wxLuaState2OkEv >> ... >> > symbol should be defined in libwxlua_gtk2u_wxlua-2.8.so ?! >> >> It should be and looks like it is. How did you build wxLua? Did you >> build wxLua libs and apps using the CMake build files? >> >> Regards, >> John >> >> >> ------------------------------------------------------------------------------ >> Minimize network downtime and maximize team effectiveness. >> Reduce network management and security costs.Learn how to hire >> the most talented Cisco Certified professionals. Visit the >> Employer Resources Portal >> http://www.cisco.com/web/learning/employer_resources/index.html >> _______________________________________________ >> wxlua-users mailing list >> wxl...@li... >> https://lists.sourceforge.net/lists/listinfo/wxlua-users >> > > |
From: andreas g. <agr...@go...> - 2013-04-09 19:57:24
|
hi, i did not use cmake. just configure and make. why cmake ? no clue. i read install.html again and tried once again with configure-shell-script in extra build directory. but now it still tells me that wxcode_gtk2ud_stedit-2.8 could not be found. i have installed it twice, once with prefix /usr/local (default) and again with prefix /usr libwxcode_gtk2ud_stedit-2.8.so exists in /usr/lib and /usr/local/lib i used wxlua-configure option --with-wxstedit-prefix=/usr/local i tried to set env variable WXSTEDIT to wxstedit-include-path for both prefix=/usr and /usr/local ( /usr/local/include/wx/stedit/ ) but could not succeed. 2013/4/8 John Labenski <jla...@gm...> > On Sun, Apr 7, 2013 at 2:41 PM, andreas graeper <agr...@go...> > wrote: > > > > g++ > > -o ../bin/wxlua > > app_wxlua_lconsole.o > > app_wxlua_wxlua.o > > > ... > > lconsole.cpp:(.text+0x53e): undefined reference to `wxLuaState::Ok() > const' > ... > > libwxlua_gtk2u_wxlua-2.8.so:000000000001fc90 T _ZNK10wxLuaState2OkEv > ... > > symbol should be defined in libwxlua_gtk2u_wxlua-2.8.so ?! > > It should be and looks like it is. How did you build wxLua? Did you > build wxLua libs and apps using the CMake build files? > > Regards, > John > > > ------------------------------------------------------------------------------ > Minimize network downtime and maximize team effectiveness. > Reduce network management and security costs.Learn how to hire > the most talented Cisco Certified professionals. Visit the > Employer Resources Portal > http://www.cisco.com/web/learning/employer_resources/index.html > _______________________________________________ > wxlua-users mailing list > wxl...@li... > https://lists.sourceforge.net/lists/listinfo/wxlua-users > |
From: Javier Mr <jav...@ym...> - 2013-04-09 13:06:16
|
Hi, Thanks for your response. But, as i have understand, with that aproach i need to subclass wx (affordable) and connect my native app directly with wxWidgets; this is not desirable in my case since my app will mostly run in a terminal just with a text interface and in certain cases bring up the GUI. Doing that would imply that i have to compile against wxWidgets and also the i would have one dependency more in the proyect. I finally solve the problem by doing pooling, my first approach was to use the wxEVT_IDLE event handler, but in that case that event only is triggered after a diferent one has been triggered (two idle events wont be triggered continuosly), i have read a workaround to that, but instead i have opted to make a wxTimer and refresh the GUI once or twice a second. Just for reference a general idea of the architecture (imagine each column represents the life of a module): ----------- | A | B | | 1-> | C | | 2->-------| D | 5-> | 3 ->------| | | 6-> <-4 | | | |------|-------| -------------- Where A and B are two threads from the C++ app, A generates data and B is the thread where the Lua interpreter runs (C). C is the Lua interpreter executed in the B thread. The Lua script loads wxLua (D). 1, 2 and 3 are the order of creation of each component. Once all is up and running new data is generated (5), and procesed in the lua script (6), at the same time events from the interface (D) can also call the Luainterpreter (C). By doing pooling with the timer the step 6 is done in the opposite direction, so no issues in accesing simultaneously from two threads to the lua state; while avoiding dependencies in the native code (if other interface is desired just changing the lua script will work). A snipet if the code to solve the issue: --------------------------------------- local frame = wx.wxFrame(wx.NULL, wx.wxID_ANY, "Example", wx.wxDefaultPosition, wx.wxSize(800, 600)); local timer = wx.wxTimer(frame); frame:Connect(wx.wxEVT_CLOSE_WINDOW, function ( event ) print("Closing app"); wx.wxGetApp():ExitMainLoop(); end); frame:Connect(wx.wxEVT_TIMER, function ( event ) print("Timer event"); end); timer:Start(1000); frame:Show(true); wx.wxGetApp():MainLoop(); ---------------------------------------------- Anyway, thanks for the response. Best regards. Javi >________________________________ > De: John Labenski <jla...@gm...> >Para: Javier Mr <jav...@ym...>; wxl...@li... >Enviado: Martes 9 de abril de 2013 6:11 >Asunto: Re: [wxlua-users] Asyncronous updates > >On Mon, Apr 8, 2013 at 7:23 AM, Javier Mr <jav...@ym...> wrote: >> Hi, >> >> i'm getting a crash when running my app and i wonder if i'm doing it wrong. >> >> The situation is like this: >> I have a native C++ application wich has a Lua interpreter embedded. This >> embedded interpreter load a lua script that contains wxLua. The idea is, the >> native code is multithraeded a modifies interal structures (protected with >> mutex) and i want to observe that values so i load the lua script with >> wxLua. > >This sounds reasonable. > >> I think my problem is that my native app do call the lua state to notify >> that changes to the internal data have occur, and the same?¿ lua state is >> called by wx as callbacks to the GUI events, could be this the reason for >> crash? Is there a way to avoid this? Not ideal but would be OK to do pooling > >Neither Lua or wxWidgets/wxLua are threadsafe (way too much overhead). >I believe it is possible, but I wouldn't recommend running the GUI in >a single secondary thread, I would reserve the main thread for that. > >> in the MainLoop, so i could (every second for example) retrieve the new data >> from the native side and update the GUI with the current data. > >You can use wxPostEvent() to asynchronously send a message from other >threads to the GUI thread (though a wxWindow derived class perhaps) >notifying them that there is new data to show. You can send any >derived wxEvent class and wxEventType (wxEVT_COMMAND_ENTER) you like >and use the ID to discriminate your event from anything else. >Depending on the size of the data you could even put it into the >wxString member of a wxCommandEvent. > >Regards, > John > > > |
From: John L. <jla...@gm...> - 2013-04-09 04:11:36
|
On Mon, Apr 8, 2013 at 7:23 AM, Javier Mr <jav...@ym...> wrote: > Hi, > > i'm getting a crash when running my app and i wonder if i'm doing it wrong. > > The situation is like this: > I have a native C++ application wich has a Lua interpreter embedded. This > embedded interpreter load a lua script that contains wxLua. The idea is, the > native code is multithraeded a modifies interal structures (protected with > mutex) and i want to observe that values so i load the lua script with > wxLua. This sounds reasonable. > I think my problem is that my native app do call the lua state to notify > that changes to the internal data have occur, and the same?¿ lua state is > called by wx as callbacks to the GUI events, could be this the reason for > crash? Is there a way to avoid this? Not ideal but would be OK to do pooling Neither Lua or wxWidgets/wxLua are threadsafe (way too much overhead). I believe it is possible, but I wouldn't recommend running the GUI in a single secondary thread, I would reserve the main thread for that. > in the MainLoop, so i could (every second for example) retrieve the new data > from the native side and update the GUI with the current data. You can use wxPostEvent() to asynchronously send a message from other threads to the GUI thread (though a wxWindow derived class perhaps) notifying them that there is new data to show. You can send any derived wxEvent class and wxEventType (wxEVT_COMMAND_ENTER) you like and use the ID to discriminate your event from anything else. Depending on the size of the data you could even put it into the wxString member of a wxCommandEvent. Regards, John |
From: Victor B. <so...@te...> - 2013-04-08 19:00:46
|
Hello, I told Benoit Germain and he changed Lanes in order to work with LUA_COMPAT_ALL Everything is fine now Best Victor Bombi |
From: Javier Mr <jav...@ym...> - 2013-04-08 11:23:41
|
Hi, i'm getting a crash when running my app and i wonder if i'm doing it wrong. The situation is like this: I have a native C++ application wich has a Lua interpreter embedded. This embedded interpreter load a lua script that contains wxLua. The idea is, the native code is multithraeded a modifies interal structures (protected with mutex) and i want to observe that values so i load the lua script with wxLua. I think my problem is that my native app do call the lua state to notify that changes to the internal data have occur, and the same?¿ lua state is called by wx as callbacks to the GUI events, could be this the reason for crash? Is there a way to avoid this? Not ideal but would be OK to do pooling in the MainLoop, so i could (every second for example) retrieve the new data from the native side and update the GUI with the current data. I hope i have been clear. Thanks in advance. Javier Monge. |
From: John L. <jla...@gm...> - 2013-04-08 04:52:53
|
On Sun, Apr 7, 2013 at 2:41 PM, andreas graeper <agr...@go...> wrote: > > g++ > -o ../bin/wxlua > app_wxlua_lconsole.o > app_wxlua_wxlua.o > ... > lconsole.cpp:(.text+0x53e): undefined reference to `wxLuaState::Ok() const' ... > libwxlua_gtk2u_wxlua-2.8.so:000000000001fc90 T _ZNK10wxLuaState2OkEv ... > symbol should be defined in libwxlua_gtk2u_wxlua-2.8.so ?! It should be and looks like it is. How did you build wxLua? Did you build wxLua libs and apps using the CMake build files? Regards, John |
From: andreas g. <agr...@go...> - 2013-04-07 18:41:29
|
g++ -o ../bin/wxlua app_wxlua_lconsole.o app_wxlua_wxlua.o -L/usr/lib -L../lib -L/home/arno/lua/ide/wxlua/wxLua/lib -lwxlua_gtk2u_wxbindxrc-2.8 -lwxlua_gtk2u_wxbindstc-2.8 -lwxlua_gtk2u_wxbindrichtext-2.8 -lwxlua_gtk2u_wxbindmedia-2.8 -lwxlua_gtk2u_wxbindhtml-2.8 -lwxlua_gtk2u_wxbindgl-2.8 -lwxlua_gtk2u_wxbindaui-2.8 -lwxlua_gtk2u_wxbindadv-2.8 -lwxlua_gtk2u_wxbindxml-2.8 -lwxlua_gtk2u_wxbindnet-2.8 -lwxlua_gtk2u_wxbindcore-2.8 -lwxlua_gtk2u_wxbindbase-2.8 -lwxlua_gtk2u_wxluasocket-2.8 -lwxlua_gtk2u_wxluadebug-2.8 -lwxlua_gtk2u_wxlua-2.8 -llua5.1 -L/usr/lib/x86_64-linux-gnu -pthread -L/usr/lib/x86_64-linux-gnu -lwx_gtk2u_stc-2.8 -lwx_gtk2u_richtext-2.8 -lwx_gtk2u_xrc-2.8 -lwx_baseu_xml-2.8 -lwx_baseu_net-2.8 -lwx_gtk2u_media-2.8 -lwx_gtk2u_html-2.8 -lwx_gtk2u_gl-2.8 -lwx_gtk2u_aui-2.8 -lwx_gtk2u_adv-2.8 -lwx_gtk2u_core-2.8 -lwx_baseu-2.8 app_wxlua_lconsole.o: In function `wxLuaConsole::DisplayStack(wxLuaState const&)': lconsole.cpp:(.text+0x53e): undefined reference to `wxLuaState::Ok() const' app_wxlua_wxlua.o: In function `wxLuaStandaloneApp::DisplayMessage(wxString const&, bool, wxLuaState const&)': wxlua.cpp:(.text+0x397): undefined reference to `wxLuaState::Ok() const' app_wxlua_wxlua.o: In function `wxLuaStandaloneApp::OnInit()': wxlua.cpp:(.text+0x86c): undefined reference to `wxLuaState::Ok() const' nm lib/*.so shows : libwxlua_gtk2u_wxbindadv-2.8.so: U _ZNK10wxLuaState2OkEv libwxlua_gtk2u_wxbindbase-2.8.so: U _ZNK10wxLuaState2OkEv libwxlua_gtk2u_wxbindcore-2.8.so: U _ZNK10wxLuaState2OkEv libwxlua_gtk2u_wxbindhtml-2.8.so: U _ZNK10wxLuaState2OkEv libwxlua_gtk2u_wxlua-2.8.so:000000000001fc90 T _ZNK10wxLuaState2OkEv libwxlua_gtk2u_wxluadebug-2.8.so: U _ZNK10wxLuaState2OkEv wx.so: U _ZNK10wxLuaState2OkEv symbol should be defined in libwxlua_gtk2u_wxlua-2.8.so ?! |
From: John L. <jla...@gm...> - 2013-04-02 21:13:26
|
On Tue, Apr 2, 2013 at 11:31 AM, Victor Bombi <so...@te...> wrote: >> Can you explain why these other modules cannot work with >> LUA_COMPAT_ALL enabled? Are they providing their own duplicate >> versions of Lua's functions and you get linker errors? >> >> Also, can you explain line 25 here? >> https://github.com/diegonehab/luasocket/blob/unstable/src/luasocket.h >> > That true luasocket seems to need LUA_COMPAT_ALL Actually, only LUA_COMPAT_MODULE which LUA_COMPAT_ALL enables, but the bottom line is that you can probably expect that system installed Lua libraries (on Linux) will have LUA_COMPAT_ALL enabled so Lua Lanes will probably want to figure out some workaround in the long run (unless they wait all the way until 5.3 which could be years away). > This is the explanation for Lua Lanes: > > Lua 5.2 introduced a hash randomizer seed which causes table iteration to > yield a different key order on different VMs even when the tables are > populated the exact same way. When Lua is built with compatibility options > (such as LUA_COMPAT_ALL), this causes several base libraries to register > functions under multiple names. This, with the randomizer, can cause the > first encountered name of a function to be different on different VMs, which > breaks function transfer. This means that Lua 5.2 must be built WITHOUT > compatibility options to be able to use Lanes. Even under Lua 5.1, this may > cause trouble (even if this would be much less frequent). Unfortunately, we > get bitten by string.gfind/string.gmatch when Lua 5.1 is built with > LUA_COMPAT_GFIND (which is the case of LuaBinaries), so for the time being, > Lanes fails only for Lua 5.2 as the randomizer is the real show breaker > here. I do remember something about the hash randomizer for security on the Lua list, but I didn't read that thread... It looks like all Lua Lanes cares about is that function names don't change. See the comment above and the code below : if( (LUA_VERSION_NUM > 501) && (prevName != NULL)) Here : https://github.com/LuaLanes/lanes/blob/master/src/tools.c Finally see the code for LUA_COMPAT_ALL here : http://www.lua.org/source/5.2/luaconf.h.html Maybe the offending define is LUA_COMPAT_MODULE, which of course, is exactly the one that every Lua library that wants to stay compatible with 5.1 and 5.2 will use. However, the check in Lua lanes is not for any COMPAT define, but rather that you aren't calling the same function with a different name. The solution may be quite simple, always use the same name when calling any particular function and you won't trigger the Lua Lanes error. Off the top of my head I don't see why, technically, they care what the name of the function is, but that might be something to look into too. I would ask on the Lua Lanes mailing list, or wherever would be appropriate, for a clarification of this statement; "causes several base libraries to register functions under multiple names." Ideally, people would need to know what the names of these multiply named functions are so they can avoid the problem altogether. Do you actually get an error now? And if so, for what function? Maybe log() and log10() ? ---------------------------- Something to try... Do you get an error in Lua Lanes if you do something like this? string_format = string.format local local_string_format = string.format print("a", string.format("%d", 1)) print("b", string_format("%d", 1)) print("c", local_string_format("%d", 1)) Regards, John |
From: Victor B. <so...@te...> - 2013-04-02 15:31:15
|
> Can you explain why these other modules cannot work with > LUA_COMPAT_ALL enabled? Are they providing their own duplicate > versions of Lua's functions and you get linker errors? > > Also, can you explain line 25 here? > https://github.com/diegonehab/luasocket/blob/unstable/src/luasocket.h > That true luasocket seems to need LUA_COMPAT_ALL This is the explanation for Lua Lanes: Lua 5.2 introduced a hash randomizer seed which causes table iteration to yield a different key order on different VMs even when the tables are populated the exact same way. When Lua is built with compatibility options (such as LUA_COMPAT_ALL), this causes several base libraries to register functions under multiple names. This, with the randomizer, can cause the first encountered name of a function to be different on different VMs, which breaks function transfer. This means that Lua 5.2 must be built WITHOUT compatibility options to be able to use Lanes. Even under Lua 5.1, this may cause trouble (even if this would be much less frequent). Unfortunately, we get bitten by string.gfind/string.gmatch when Lua 5.1 is built with LUA_COMPAT_GFIND (which is the case of LuaBinaries), so for the time being, Lanes fails only for Lua 5.2 as the randomizer is the real show breaker here. For me Lanes is the most essential module in Lua. Victor Bombi |
From: John L. <jla...@gm...> - 2013-04-02 02:22:24
|
On Mon, Apr 1, 2013 at 4:46 AM, Victor Bombi <so...@te...> wrote: > > perhaps luaL_requiref is the answer? Eventually, but I'd prefer to not reimplement perfectly good existing code that is enabled by default. >>I recompiled lua52 with LUA_COMPAT_ALL and managed to compile wx.lua >> The problem I have is that I use other lua modules also: Lanes, Luasocket >> ... >> Lanes cant be used with LUA_COMPAT_ALL (only pure 5.1 or 5.2) so I wont be >> able >> to use 5.2 in my project. >> Looking into the future I thing that wxlua should get rid of >> LUA_COMPAT_ALL >> to be compatible >> with other modules. Actually, it's the other modules that need to be compatible with Lua and wxLua since the Lua Makefile default is LUA_COMPAT_ALL and I would assume that OS packagers would respect the Lua Makefile and keep it enabled. If you're correct, this means that these libraries won't work using a default system Lua library? Can you explain why these other modules cannot work with LUA_COMPAT_ALL enabled? Are they providing their own duplicate versions of Lua's functions and you get linker errors? Also, can you explain line 25 here? https://github.com/diegonehab/luasocket/blob/unstable/src/luasocket.h Regards, John |
From: Victor B. <so...@te...> - 2013-04-01 08:47:07
|
perhaps luaL_requiref is the answer? >I recompiled lua52 with LUA_COMPAT_ALL and managed to compile wx.lua > The problem I have is that I use other lua modules also: Lanes, Luasocket > ... > Lanes cant be used with LUA_COMPAT_ALL (only pure 5.1 or 5.2) so I wont be > able > to use 5.2 in my project. > Looking into the future I thing that wxlua should get rid of > LUA_COMPAT_ALL > to be compatible > with other modules. > > Best > victor |