raster pushed a commit to branch master.
commit bfec26893d2ed3950aa1367de3abb2cb4716593d
Author: Carsten Haitzler (Rasterman) <[email protected]>
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