From 4d505eed1c7aca070cf6e42ae27cc4d26c35dbf9 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Wed, 5 Jun 2013 13:13:34 +0100 Subject: [PATCH] When checking for engine info changes, use the New engine info passed in to us for the checks (not the old existing engine info). NB: Fixes T134 and T135 buggers Signed-off-by: Chris Michael --- .../evas/engines/wayland_egl/evas_engine.c | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c index 21a87b9a76..1e4aefd46e 100644 --- a/src/modules/evas/engines/wayland_egl/evas_engine.c +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c @@ -679,33 +679,33 @@ eng_setup(Evas *evas, void *info) re = epd->engine.data.output; if (_re_wincheck(re)) { - if ((re->info->info.display != re->win->disp) || - (re->info->info.surface != re->win->surface) || - (re->info->info.screen != re->win->screen) || - (re->info->info.depth != re->win->depth) || - (re->info->info.rotation != re->win->rot) || - (re->info->info.destination_alpha != re->win->alpha)) + if ((inf->info.display != re->win->disp) || + (inf->info.surface != re->win->surface) || + (inf->info.screen != re->win->screen) || + (inf->info.depth != re->win->depth) || + (inf->info.rotation != re->win->rot) || + (inf->info.destination_alpha != re->win->alpha)) { Eina_Bool inc = EINA_FALSE; Evas_GL_Wl_Window *new_win = NULL; - if ((re->win) && (re->win->surface) && - (re->info->info.surface = NULL)) + if ((re->win) && (re->win->surface) && (!inf->info.surface)) { eng_window_free(re->win); gl_wins--; re->win = NULL; + re->info = inf; return 1; } - new_win = eng_window_new(re->info->info.display, - re->info->info.surface, - re->info->info.screen, - re->info->info.depth, + new_win = eng_window_new(inf->info.display, + inf->info.surface, + inf->info.screen, + inf->info.depth, epd->output.w, epd->output.h, - re->info->indirect, - re->info->info.destination_alpha, - re->info->info.rotation); + inf->indirect, + inf->info.destination_alpha, + inf->info.rotation); if (new_win) { if (re->win) @@ -725,6 +725,8 @@ eng_setup(Evas *evas, void *info) if ((re->win) && (inc)) re->win->gl_context->references--; } + + re->info = inf; } else if ((re->win->w != epd->output.w) || (re->win->h != epd->output.h))