ecore: fix leak of evas_render_update list.

SVN revision: 75807
This commit is contained in:
Cedric BAIL 2012-08-29 05:18:27 +00:00
parent 6d3116303f
commit e629c76ecd
3 changed files with 7 additions and 3 deletions

View File

@ -875,3 +875,7 @@
* Fix segmentation fault in ecore_thread on Windows as PHS * Fix segmentation fault in ecore_thread on Windows as PHS
was returning a wrong value. was returning a wrong value.
2012-08-29 Cedric Bail
* Always call evas_render_update_free to prevent leak in Ecore_Evas X backend.

View File

@ -31,6 +31,7 @@ Fixes:
- Correctly shutdown Ecore_Thread. - Correctly shutdown Ecore_Thread.
- Fix usage of FD_SET and al. when fd_set pointers are NULL (Windows) - Fix usage of FD_SET and al. when fd_set pointers are NULL (Windows)
- Fix ecore_thread seg fault on Windows where PHS() was returning a wrong value - Fix ecore_thread seg fault on Windows where PHS() was returning a wrong value
- Always call evas_render_update_free to prevent leak in Ecore_Evas X bakcend.
* ecore_x * ecore_x
- Fix unitialized Ecore_X_Atom use. - Fix unitialized Ecore_X_Atom use.

View File

@ -307,7 +307,6 @@ _ecore_evas_x_render(Ecore_Evas *ee)
{ {
// ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask); // ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask);
} }
evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
rend = 1; rend = 1;
} }
@ -380,7 +379,6 @@ _ecore_evas_x_render(Ecore_Evas *ee)
ecore_x_xregion_free(ee->engine.x.damages); ecore_x_xregion_free(ee->engine.x.damages);
ee->engine.x.damages = NULL; ee->engine.x.damages = NULL;
} }
evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
rend = 1; rend = 1;
} }
@ -401,13 +399,14 @@ _ecore_evas_x_render(Ecore_Evas *ee)
{ {
// ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask); // ecore_x_window_shape_input_mask_set(ee->prop.window, ee->engine.x.mask);
} }
evas_render_updates_free(updates);
_ecore_evas_idle_timeout_update(ee); _ecore_evas_idle_timeout_update(ee);
rend = 1; rend = 1;
} }
} }
else else
evas_norender(ee->evas); evas_norender(ee->evas);
evas_render_updates_free(updates);
if (ee->func.fn_post_render) ee->func.fn_post_render(ee); if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
/* /*
if (rend) if (rend)