diff --git a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c index d37375b648..08f585b7c6 100644 --- a/legacy/evas/src/modules/engines/gl_x11/evas_engine.c +++ b/legacy/evas/src/modules/engines/gl_x11/evas_engine.c @@ -256,6 +256,7 @@ eng_output_redraws_next_update_push(void *data, void *surface, int x, int y, int /* put back update surface.. in this case just unflag redraw */ // printf("GL: update done.\n"); re->win->draw.redraw = 0; + re->win->draw.drew = 1; } static void @@ -264,6 +265,8 @@ eng_output_flush(void *data) Render_Engine *re; re = (Render_Engine *)data; + if (!re->win->draw.drew) return; + re->win->draw.drew = 0; // printf("GL: flush your mush!\n"); eng_window_use(re->win); diff --git a/legacy/evas/src/modules/engines/gl_x11/evas_engine.h b/legacy/evas/src/modules/engines/gl_x11/evas_engine.h index 27cb0ee62b..57e0bd2222 100644 --- a/legacy/evas/src/modules/engines/gl_x11/evas_engine.h +++ b/legacy/evas/src/modules/engines/gl_x11/evas_engine.h @@ -19,6 +19,7 @@ struct _Evas_GL_X11_Window Evas_GL_Context *gl_context; struct { int redraw : 1; + int drew : 1; int x1, y1, x2, y2; } draw; };