On Thu, 24 Sep 2015 09:13:10 +0900
Carsten Haitzler (The Rasterman) <ras...@rasterman.com> wrote:

> On Wed, 23 Sep 2015 15:39:11 +0000 Mike Blumenkrantz
> <michael.blumenkra...@gmail.com> said:
> 
> > As I said in my initial mail, this was pushed accidentally during testing.
> > I've been working with you on the open audit in phabricator and had no
> > intention of making related changes until this had been confirmed as
> > completely resolved in all cases.
> 
> you mentioned a different commit in the "accidental" mail. i didn't know this
> was part of the accident. :)

hhhhhhhhhhhhhhh this is what happens when you mail while on drugs. This is going
to be a rough allergy season.

> 
> > On Wed, Sep 23, 2015 at 9:15 AM Carsten Haitzler <ras...@rasterman.com>
> > wrote:
> > 
> > > On Tue, 22 Sep 2015 10:08:46 -0700 Mike Blumenkrantz
> > > <michael.blumenkra...@gmail.com> said:
> > >
> > >
> > > the crash is back again now. same backtraces, same issue. not fixed.
> > > please put
> > > back my refcounting as it fixes things to not crash. until you actually
> > > find
> > > the REAL root cause... as i said before - i identified that mb->m is
> > > pointing
> > > to junk. it obviously is being freed too soon. refcounting is a standard
> > > way to
> > > fix things - keep them around as long as they are referenced. i hit this
> > > all
> > > the time now (the crash).
> > >
> > > > discomfitor pushed a commit to branch master.
> > > >
> > > >
> > > http://git.enlightenment.org/core/enlightenment.git/commit/?id=2373b69c61d7d6ab74675a4facff54601831ce9a
> > > >
> > > > commit 2373b69c61d7d6ab74675a4facff54601831ce9a
> > > > Author: Mike Blumenkrantz <zm...@osg.samsung.com>
> > > > Date:   Tue Sep 22 12:54:10 2015 -0400
> > > >
> > > >     Revert "Revert "Revert "deskmirror - fix dangling reference to
> > > mirror by
> > > > refcounting it"""
> > > >     This reverts commit 6bef668a8fb37104f1e9e4bb1bb0dd379cb68ef5.
> > > > ---
> > > >  src/bin/e_deskmirror.c | 23 +----------------------
> > > >  1 file changed, 1 insertion(+), 22 deletions(-)
> > > >
> > > > diff --git a/src/bin/e_deskmirror.c b/src/bin/e_deskmirror.c
> > > > index 4abc0b3..3efe066 100644
> > > > --- a/src/bin/e_deskmirror.c
> > > > +++ b/src/bin/e_deskmirror.c
> > > > @@ -41,7 +41,6 @@ typedef struct Mirror
> > > >     Evas_Object *comp_object;
> > > >     Evas_Object *mirror;
> > > >     int x, y, w, h;
> > > > -   int ref;
> > > >     Eina_Bool added : 1;
> > > >  } Mirror;
> > > >
> > > > @@ -111,20 +110,6 @@ _mirror_scale_set(Mirror *m, float sc)
> > > >  }
> > > >
> > > >  static void
> > > > -_mirror_ref(Mirror *m)
> > > > -{
> > > > -   m->ref++;
> > > > -}
> > > > -
> > > > -static void
> > > > -_mirror_unref(Mirror *m)
> > > > -{
> > > > -   m->ref--;
> > > > -   if (m->ref > 0) return;
> > > > -   free(m);
> > > > -}
> > > > -
> > > > -static void
> > > >  _e_deskmirror_smart_reconfigure(E_Smart_Data *sd)
> > > >  {
> > > >     e_layout_freeze(sd->layout);
> > > > @@ -352,10 +337,7 @@ _mirror_client_smart_del(Evas_Object *obj)
> > > >          evas_object_smart_callback_del_full(mb->m->ec->frame,
> > > > "shadow_change", _mirror_client_shadow_change, mb->frame); }
> > > >     evas_object_del(mb->frame);
> > > > -   mb->frame = NULL;
> > > >     evas_object_del(mb->mirror);
> > > > -   mb->mirror = NULL;
> > > > -   _mirror_unref(mb->m);
> > > >     free(mb);
> > > >  }
> > > >
> > > > @@ -492,13 +474,12 @@ _e_deskmirror_mirror_del_hash(Mirror *m)
> > > >     evas_object_smart_callback_del_full(m->comp_object,
> > > "frame_recalc_done",
> > > > _e_deskmirror_mirror_frame_recalc_cb, m);
> > > evas_object_event_callback_del_full
> > > > (m->comp_object, EVAS_CALLBACK_DEL, _e_deskmirror_mirror_del_cb, m);
> > > > evas_object_del(m->mirror);
> > > > -   m->mirror = NULL;
> > > >     evas_object_event_callback_del_full(m->comp_object,
> > > EVAS_CALLBACK_SHOW,
> > > > (Evas_Object_Event_Cb)_comp_object_show, m);
> > > > evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_HIDE,
> > > > (Evas_Object_Event_Cb)_comp_object_hide, m);
> > > > evas_object_event_callback_del_full(m->comp_object,
> > > EVAS_CALLBACK_RESTACK,
> > > > (Evas_Object_Event_Cb)_comp_object_stack, m);
> > > > evas_object_event_callback_del_full(m->comp_object, 
> > > > EVAS_CALLBACK_RESIZE,
> > > > (Evas_Object_Event_Cb)_comp_object_configure, m);
> > > > evas_object_event_callback_del_full(m->comp_object, EVAS_CALLBACK_MOVE,
> > > > (Evas_Object_Event_Cb)_comp_object_configure, m);
> > > > -   _mirror_unref(m);
> > > > +   free(m);
> > > >  }
> > > >
> > > >  static Evas_Object *
> > > > @@ -511,7 +492,6 @@ _mirror_client_new(Mirror *m)
> > > >     o = evas_object_smart_add(m->sd->e, _mirror_client_smart);
> > > >     mb = evas_object_smart_data_get(o);
> > > >     mb->m = m;
> > > > -   _mirror_ref(m);
> > > >     mb->frame = edje_object_add(m->sd->e);
> > > >     evas_object_name_set(mb->frame, "mirror_border");
> > > >     _mirror_client_theme_setup(mb, mb->frame);
> > > > @@ -676,7 +656,6 @@ _e_deskmirror_mirror_add(E_Smart_Data *sd,
> > > Evas_Object
> > > > *obj) m->ec = ec;
> > > >     m->sd = sd;
> > > >     m->mirror = o;
> > > > -   m->ref = 1;
> > > >     evas_object_event_callback_add(obj, EVAS_CALLBACK_SHOW,
> > > > (Evas_Object_Event_Cb)_comp_object_show, m);
> > > evas_object_event_callback_add
> > > > (obj, EVAS_CALLBACK_HIDE, (Evas_Object_Event_Cb)_comp_object_hide, m);
> > > > evas_object_event_callback_add(obj, EVAS_CALLBACK_RESTACK,
> > > > (Evas_Object_Event_Cb)_comp_object_stack, m);
> > > >
> > > > --
> > > >
> > > >
> > >
> > >
> > > --
> > > ------------- Codito, ergo sum - "I code, therefore I am" --------------
> > > The Rasterman (Carsten Haitzler)    ras...@rasterman.com
> > >
> > >
> 
> 

------------------------------------------------------------------------------
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to