Alright, we reached the deadline (actually it was yesterday but I was busy) and there's still no real agreement about this, however it seems most of you want the patch reverted, so I will remove it and document it properly.
Thanks for your input. On Mon, Jan 9, 2012 at 5:14 PM, Youness Alaoui < [email protected]> wrote: > Bruno, while your example is valid, it's not how it will usually be. Most > of the time people will use animations, which are bound to keyboard/mouse > events. > In my code for example, I can scroll a list using the arrow keys, but if > you press the arrow twice, then two signals are sent, thus canceling the > first animation.so the state of the swalowed object is undefined as it all > depends on the elapsed milliseconds between the first and second press of > the arrow key. I consider this a race condition. > I also doubt that anyone is using edje, then suddenly unswallows the > object and decides to keep it there and start to handle it manually in C.If > he wanted to handle it in C directly, it wouldn't have been a swallowed > part in the first place. > i don't disagree though that this might chance the behavior of some really > rare apps. > As for trusting the .edj, you'd trust it to have specific groups/parts and > handle/send specific signals, but you can't trust it to have an object as a > specific position. The whole purpose of the edj is to allow the UI dev to > decide where to position everything, what sizes to give them and what > states. > > On Mon, Jan 9, 2012 at 11:19 AM, Bruno Dilly <[email protected]>wrote: > >> On Mon, Jan 9, 2012 at 2:13 PM, Cedric BAIL <[email protected]> wrote: >> > On Mon, Jan 9, 2012 at 5:07 PM, Bruno Dilly <[email protected]> >> wrote: >> >> On Mon, Jan 9, 2012 at 12:56 PM, Cedric BAIL <[email protected]> >> wrote: >> >>> On Mon, Jan 9, 2012 at 3:46 PM, Bruno Dilly <[email protected]> >> wrote: >> >>>> On Mon, Jan 9, 2012 at 11:26 AM, Cedric BAIL <[email protected]> >> wrote: >> >>>>> On Mon, Jan 9, 2012 at 2:06 PM, Bruno Dilly <[email protected]> >> wrote: >> >>>>>> On Sun, Jan 8, 2012 at 2:32 PM, Cedric BAIL <[email protected]> >> wrote: >> >>>>>>> On Sun, Jan 8, 2012 at 3:47 PM, ChunEon Park <[email protected]> >> wrote: >> >>>>>>>> I think both are no problems if it has a documentation. >> >>>>>>>> But your patch may break applications already released. >> >>>>>>>> It will be better to apply your patch when major version is >> changed. >> >>>>>>> >> >>>>>>> As I say, current behaviour is undefined. If you go out of an >> >>>>>>> animation (defined in the edj itself) in any state (hidden, moved, >> >>>>>>> resized, whatever), it will stay in that state. But this is >> completly >> >>>>>>> random and not defined (as in, depend on an external file). Now I >> do >> >>>>>>> like the raster proposal with an orphaned flag as it is the only >> sane >> >>>>>>> way to detect any leak. Relying on an undefined visual artefact >> would >> >>>>>>> not help at all. >> >>>>>> >> >>>>>> It isn't documented. But it's defined, IMHO, since you can predict >> it. >> >>>>>> As you said, in an animation it will keep the state, if it was >> >>>>>> visible, it will stay visible. >> >>>>>> So applications can be considering a unswallowed object will be >> >>>>>> visible, since it was visible, and now it will be hidden. >> >>>>> >> >>>>> No, as it is defined in the theme, it doesn't depend on the >> >>>>> application. If you change the theme, the animation, anything in the >> >>>>> .edj, it will change the behaviour in the application itself. It's >> >>>>> full of race condition. There is no sane way to expect any kind of >> >>>>> behaviour in the app. It is definitivly an undefined behaviour, as >> >>>>> their is no way you could know the state of the object without >> >>>>> requesting it after the unswallow. >> >>>> >> >>>> OK, my concept of application is code and theme. >> >>>> Anyway, a simple case is to add an rectangle to a swallow in a >> layout. >> >>>> I've attached a quick example. As you can see, no luck required. >> After >> >>>> 3 seconds the rectangle is unswallowed and displayed at 0,0. >> >>> >> >>> Ok, I see the difference. From my point of view, the application >> >>> should never trust an edj file. So if I can break your "consistent" >> >>> behaviour by just touching the edc file, then their is a bug in the >> >>> application from my point of view. In your example. I just need to set >> >>> visible: 0, or rel1.relative: 0 0; and rel2.relative: 0 0; to break >> >>> your app. So you are just lucky that no one touched your edc file. >> >> >> >> Ok, but don't you trust the edj file will have a swallow with name "X" >> ? >> >> It's easy to break an application changing the edj if you want to do >> so. >> > >> > You know that edje_object_part_swallow return an EINA_BOOL, do you ? >> >> I do, you can print something in your terminal and quit the >> application. What doesn't mean it is not working as intended. >> >> Anyway, there are signals that should be emitted to code and you don't >> emit that on your theme. So it will break your application and you >> can't detect. >> Going further, you can make every part invisible, and you application >> will be completely useless. >> >> So, yeah, I believe you need to trust your edj someway, and they need >> to be considered part of the application. >> >> > -- >> > Cedric BAIL >> > >> > >> ------------------------------------------------------------------------------ >> > Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a >> complex >> > infrastructure or vast IT resources to deliver seamless, secure access >> to >> > virtual desktops. With this all-in-one solution, easily deploy virtual >> > desktops for less than the cost of PCs and save 60% on VDI >> infrastructure >> > costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >> > _______________________________________________ >> > enlightenment-devel mailing list >> > [email protected] >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> >> >> >> -- >> Bruno Dilly >> Senior Developer >> ProFUSION embedded systems >> http://profusion.mobi >> >> >> ------------------------------------------------------------------------------ >> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex >> infrastructure or vast IT resources to deliver seamless, secure access to >> virtual desktops. With this all-in-one solution, easily deploy virtual >> desktops for less than the cost of PCs and save 60% on VDI infrastructure >> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox >> _______________________________________________ >> enlightenment-devel mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > > ------------------------------------------------------------------------------ Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
