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)
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))