On Fri, 18 Nov 2011 20:18:30 +0900 Carsten Haitzler (The Rasterman) <raster@...> wrote: > On Fri, 18 Nov 2011 11:38:57 +0100 (CET) Vincent Torri > <vtorri@...> said: > > > > > > > On Fri, 18 Nov 2011, Enlightenment SVN wrote: > > > > > Log: > > > fix inconsistency with propagating signals and messages. now > > > messages AND signals should propagate to children the SAME WAY - > > > that means children you added explicitly in the edje file and not > > > form c code get propagated to. > > > > does ChangeLog/NEWS need an entry ? > > waiting for onefang to try.:) i may have to revert and try again. Attached is my test code. The edc has three groups: lua_base, a lua script only group that is the default group loaded. It adds an edje using plain/edje/group. bubbles/lua, a lua script only group. plain/edje/group, an ordinary edje group with a program, embryo script, and a part that GROUPS bubbles/lua ("bubbles_lua"). The C code has several key commands, for switching between lua_base and plain/edje/group as the set group, and for sending signals or a message. When C sends signals, it sends two, one with "bubbles_lua:" prepended to the signal, the other without. The C also has signal and message handlers. So the stack of groups given moment is either: lua_base plain/edje/group bubbles_lua (a GROUP part holding bubbles/lua) or: plain/edje/group bubbles_lua (a GROUP part holding bubbles/lua) lua_base sends a bunch of messages and a signal on start up, AFTER it adds plain/edje/group. Both lua_base and bubbles/lua have the same code for receiving signals and messages. plain/edje/group has a program to catch all signals, and an embryo script to catch messages. Results: On start up: C catches the messages sent from lua_base. lua_base and C catch the signal sent from lua_base. Both catch an "edje,state,ltr" signal sent by edje. It's hard to tell with the current code if plain/edje/group catches other stuff during start up. Embryo needs an echo() debugging function. With lua_base set: Lua_base and plain/edje/group catch the message sent from C. lua_base, plain/edje/group and C catch the signals sent from C. With plain/edje/group set - plain/edje/group catches the message sent from C. plain/edje/group and C catch the signals sent from C. bubbles/lua only catches the "bubbles_lua" signal, but strips off the "bubbles_lua:" part from the signal text. C catches what I think is a completely erroneous signal, which has the signal text the same as what bubbles catches (with the bubbles part stripped), but with the bubbles part prepended to the source name. At no point did bubbles/lua catch any messages. The only signal it caught was the one addressed to it with "bubbles_lua:" prepended to the signal text. Boxes, entries, swallows, and tables are not tested by this code. -- A big old stinking pile of genius that no one wants coz there are too many silver coated monkeys in the world.
Sign up for the SourceForge newsletter:No, thanks