diff options
author | Cedric BAIL <cedric@osg.samsung.com> | 2014-09-30 17:23:05 +0200 |
---|---|---|
committer | Cedric BAIL <cedric@osg.samsung.com> | 2014-09-30 17:24:58 +0200 |
commit | 2e2c36741623161de57a9235371bead1a5bccac4 (patch) | |
tree | 12e137783cd6ec0a581a50b5ca5032e7c5a7e763 | |
parent | c43ff3cf3143519651acf231588ea39fdee65cfc (diff) | |
download | efl-2e2c36741623161de57a9235371bead1a5bccac4.tar.gz |
evas: GL_X11 - fix use of deleted memory by pointing to the right data.
-rw-r--r-- | src/modules/evas/engines/gl_x11/evas_engine.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index a37c24b361..19baaffc23 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -1054,30 +1054,31 @@ eng_setup(Evas *eo_e, void *in) re = e->engine.data.output; if (eng_get_ob(re) && _re_wincheck(eng_get_ob(re))) { - if ((eng_get_ob(re)->info->info.display != eng_get_ob(re)->disp) || - (eng_get_ob(re)->info->info.drawable != eng_get_ob(re)->win) || - (eng_get_ob(re)->info->info.screen != eng_get_ob(re)->screen) || - (eng_get_ob(re)->info->info.visual != eng_get_ob(re)->visual) || - (eng_get_ob(re)->info->info.colormap != eng_get_ob(re)->colormap) || - (eng_get_ob(re)->info->info.depth != eng_get_ob(re)->depth) || - (eng_get_ob(re)->info->info.destination_alpha != eng_get_ob(re)->alpha)) + if ((info->info.display != eng_get_ob(re)->disp) || + (info->info.drawable != eng_get_ob(re)->win) || + (info->info.screen != eng_get_ob(re)->screen) || + (info->info.visual != eng_get_ob(re)->visual) || + (info->info.colormap != eng_get_ob(re)->colormap) || + (info->info.depth != eng_get_ob(re)->depth) || + (info->info.destination_alpha != eng_get_ob(re)->alpha)) { Outbuf *ob; eng_window_free(eng_get_ob(re)); + re->generic.software.ob = NULL; gl_wins--; ob = eng_window_new(info, eo_e, - eng_get_ob(re)->info->info.display, - eng_get_ob(re)->info->info.drawable, - eng_get_ob(re)->info->info.screen, - eng_get_ob(re)->info->info.visual, - eng_get_ob(re)->info->info.colormap, - eng_get_ob(re)->info->info.depth, + info->info.display, + info->info.drawable, + info->info.screen, + info->info.visual, + info->info.colormap, + info->info.depth, e->output.w, e->output.h, - eng_get_ob(re)->info->indirect, - eng_get_ob(re)->info->info.destination_alpha, - eng_get_ob(re)->info->info.rotation, + info->indirect, + info->info.destination_alpha, + info->info.rotation, swap_mode); re->generic.software.ob = NULL; |