On Thu, 23 May 2013 13:18:39 +0100 Michael Blumenkrantz
<michael.blumenkra...@gmail.com> said:

yeah - wrong leak... it was in e_Border.c... i was just hunting all he rshape
rect gets that didnt free their returns.

> e_container_shape_rects_set doesn't copy rects, so you guaranteed a crash
> with this commit; I reverted it.
> 
> On Thu, May 23, 2013 at 12:50 PM, Carsten Haitzler - Enlightenment Git <
> no-re...@enlightenment.org> wrote:
> 
> > raster pushed a commit to branch master.
> >
> > commit bfec26893d2ed3950aa1367de3abb2cb4716593d
> > Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
> > Date:   Thu May 23 20:56:08 2013 +0900
> >
> >     dont leak shape rects!
> > ---
> >  src/bin/e_comp.c | 10 +++++++---
> >  1 file changed, 7 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
> > index ee66622..9d8b903 100644
> > --- a/src/bin/e_comp.c
> > +++ b/src/bin/e_comp.c
> > @@ -545,14 +545,16 @@ _e_comp_win_update(E_Comp_Win *cw)
> >          if (cw->free_shape)
> >            {
> >               ecore_x_pixmap_geometry_get(cw->win, NULL, NULL, &(cw->w),
> > &(cw->h));
> > -             rects =
> > (Eina_Rectangle*)ecore_x_window_shape_rectangles_get(cw->win, &num);
> > +             rects = (Eina_Rectangle
> > *)ecore_x_window_shape_rectangles_get(cw->win, &num);
> >               e_container_shape_rects_set(cw->shape, rects, num);
> > +             if (rects) free(rects);
> >               if (cw->shape->shape_rects)
> >                 e_container_shape_input_rects_set(cw->shape, NULL, 0);
> >               else
> >                 {
> > -                  rects =
> > (Eina_Rectangle*)ecore_x_window_shape_input_rectangles_get(cw->win, &num);
> > +                  rects = (Eina_Rectangle
> > *)ecore_x_window_shape_input_rectangles_get(cw->win, &num);
> >                    e_container_shape_input_rects_set(cw->shape, rects,
> > num);
> > +                  if (rects) free(rects);
> >                 }
> >            }
> >          if (cw->shape->shape_rects)
> > @@ -2936,14 +2938,16 @@ _e_comp_win_shape_create(E_Comp_Win *cw, int x,
> > int y, int w, int h)
> >       }
> >     if (!cw->shape) cw->shape =
> > e_container_shape_add(eina_list_data_get(cw->c->man->containers));
> >     e_container_shape_resize(cw->shape, w, h);
> > -   rects = (Eina_Rectangle*)ecore_x_window_shape_rectangles_get(cw->win,
> > &num);
> > +   rects = (Eina_Rectangle *)ecore_x_window_shape_rectangles_get(cw->win,
> > &num);
> >     e_container_shape_rects_set(cw->shape, rects, num);
> > +   if (rects) free(rects);
> >     if (cw->shape->shape_rects)
> >       e_container_shape_input_rects_set(cw->shape, NULL, 0);
> >     else
> >       {
> >          rects =
> > (Eina_Rectangle*)ecore_x_window_shape_input_rectangles_get(cw->win, &num);
> >          e_container_shape_input_rects_set(cw->shape, rects, num);
> > +        if (rects) free(rects);
> >       }
> >     _e_comp_win_shape_init(cw, w, h);
> >     cw->shape->comp_win = cw;
> >
> > --
> >
> >
> > ------------------------------------------------------------------------------
> > Try New Relic Now & We'll Send You this Cool Shirt
> > New Relic is the only SaaS-based application performance monitoring service
> > that delivers powerful full stack analytics. Optimize and monitor your
> > browser, app, & servers with just a few lines of code. Try New Relic
> > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> >
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service 
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to