On Wed, 23 Sep 2015 15:39:11 +0000 Mike Blumenkrantz
<[email protected]> 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. :)

> On Wed, Sep 23, 2015 at 9:15 AM Carsten Haitzler <[email protected]>
> wrote:
> 
> > On Tue, 22 Sep 2015 10:08:46 -0700 Mike Blumenkrantz
> > <[email protected]> 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 <[email protected]>
> > > 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)    [email protected]
> >
> >


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to