@Gustavo: I understand your point about leaks but I'd expect a developer to
not need a visual aid for him to write proper code. Not leaking is standard
programing knowledge, so it's not about being "novice" in using the EFL.
My issue is that I don't want to destroy the objects, just hide them
(scrolling a list, I unswallow non visible objects and swallow the new
ones). I've had this bug for a while and I didn't understand that I had to
hide the objects, for me, the unswallow means it does not appear anymore. I
use an edje object, I swallow/unswallow objects to it, that's it, I don't
need to know that after I unswallow it will suddenly pop and look like an
artifact on screen or whatever.
Also, I never did a evas_object_show() on it, so there's no reason for me
to do the evas_object_hide(). One could argue that during the swallow, edje
should check what was the previous state (shown/hidden) and restore to that
state when you unswallow.
also, in my case, it would only be visible if I "cancel" the
animation/state change and that leaves the object in a weird state
(wherever it was left in the animation), but if I don't scroll too fast or
whatever, the part goes to a state of visible:0 (with 0x0 geometry) before
the unswallow happens, so it really wasn't an aid unless some weird race
condition happens then I get a weird artifact on screen. Talking as a
novice, this was clearly not an indication to hide the object but rather a
"wtf" moment getting me to hunt down the "bug" in edje.

@Ivan, @Michael. I discussed this with Cedric before doing the commit, I
wanted to make sure whether or not I should do the hide in my code or in
edje directly. We discussed it and the conclusion was that it was not
documented, so it's "unexpected behavior". It shouldn't affect anyone
because I doubt someone unswallows an object then expects it to stay shown
on evas. There is a change in behavior, but it goes from "unexpected" to
"expected" so it's not a "major change".
You are right though, I will document it and put it in the changelog/news.

@all: I don't mind reverting the change either way. I already hide it in my
code (since I'd like to stay compatible with the 1.1 release), so let's
discuss it, should the behavior be expected to hide the object, to leave it
in whatever state it was before the unswallow (which could be weird if it
happens during an animation), to restore the state to what it was before
the swallow was called ? any other suggestions?

Thanks,
KaKaRoTo

On Sat, Jan 7, 2012 at 4:35 PM, Cedric BAIL <cedric.b...@free.fr> wrote:

> On Sat, Jan 7, 2012 at 7:21 PM, Michael Blumenkrantz
> <michael.blumenkra...@gmail.com> wrote:
> > On Sat, 7 Jan 2012 18:16:04 +0000
> > Iván Briano (Sachiel) <sachi...@gmail.com> wrote:
> >
> >> 2012/1/7 Gustavo Sverzut Barbieri <barbi...@profusion.mobi>:
> >> > On Sat, Jan 7, 2012 at 9:39 AM, Enlightenment SVN
> >> > <no-re...@enlightenment.org> wrote:
> >> >> Log:
> >> >> Edje: hide an object after unswallow
> >> >>  Simply doing an unswallow would leave the object where it was in the
> >> >>  evas, visible, but edje would not be handling it anymore.
> >> >
> >> > nah, you're supposed to do this in the application or edje user. Very
> >> > likely you'll delete the object, sometimes hide it.
> >> >
> >> > If you hide by default, novice will not see the object and will
> >> > leak... it's like a warning.
> >> >
> >>
> >> And if for some reason the change stays in, it's one of those
> >> very special things that deserve big bold letters in Changelog
> >> and NEWS files.
> >>
> > I'm pretty sure it's wrong to implement things that completely change
> expected
> > behavior like this in a non-major version...
>
> It's not changing any expected behaviour. When edje unswallow an
> object, you are not supposed to expect it in any particular state. Now
> you can expect it to be hidden. That's just what it does. It defines
> the output state, something that wasn't before.
>
> The point that make sense is the one that Gustavo raise. With previous
> behaviour, in some case you will notice that an object was not handle
> by edje anymore, because it was visibly lying around. I may be wrong,
> but if the part was not visible, unswallow would have issued an hidden
> object, like this patch does. So I don't know now, if the best is to
> force its visibility or to hide.
> --
> 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
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
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
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to