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

Reply via email to