evas - avoid memleak on rotation of tilebuf in engine for gl and sw possibly.

This commit is contained in:
Carsten Haitzler 2013-08-29 14:58:09 +09:00
parent bcb9ccb129
commit 70f443d8a8
2 changed files with 4 additions and 0 deletions

View File

@ -1003,6 +1003,7 @@ eng_setup(Evas *eo_e, void *in)
free(re);
return 0;
}
if (re->tb) evas_common_tilebuf_free(re->tb);
re->tb = evas_common_tilebuf_new(re->win->w, re->win->h);
if (!re->tb)
{

View File

@ -188,6 +188,7 @@ _output_xlib_setup(int w, int h, int rot, Display *disp, Drawable draw,
// re->ob->onebuf = 1;
evas_software_xlib_outbuf_debug_set(re->ob, debug);
if (re->tb) evas_common_tilebuf_free(re->tb);
re->tb = evas_common_tilebuf_new(w, h);
if (!re->tb)
{
@ -227,6 +228,7 @@ _output_swapbuf_setup(int w, int h, int rot, Display *disp, Drawable draw,
return NULL;
}
if (re->tb) evas_common_tilebuf_free(re->tb);
re->tb = evas_common_tilebuf_new(w, h);
if (!re->tb)
{
@ -278,6 +280,7 @@ _output_xcb_setup(int w, int h, int rot, xcb_connection_t *conn,
evas_software_xcb_outbuf_debug_set(re->ob, debug);
if (re->tb) evas_common_tilebuf_free(re->tb);
re->tb = evas_common_tilebuf_new(w, h);
if (!re->tb)
{