diff --git a/legacy/evas/src/evas_image_routines.c b/legacy/evas/src/evas_image_routines.c index 82b978ec84..434feccc5e 100644 --- a/legacy/evas/src/evas_image_routines.c +++ b/legacy/evas/src/evas_image_routines.c @@ -817,10 +817,6 @@ __evas_image_flush_draw(Display *disp, Imlib_Image dstim, Window win) { Evas_List l; - imlib_context_set_display(disp); - imlib_context_set_visual(__evas_visual); - imlib_context_set_colormap(__evas_cmap); - imlib_context_set_drawable(win); imlib_context_set_dither(1); imlib_context_set_blend(1); @@ -863,8 +859,8 @@ __evas_image_flush_draw(Display *disp, Imlib_Image dstim, Window win) drawable_list = NULL; } - - int + +int __evas_image_capable(Display *disp) { return 1; diff --git a/legacy/evas/src/evas_render.c b/legacy/evas/src/evas_render.c index 6755410560..67c60c06c3 100644 --- a/legacy/evas/src/evas_render.c +++ b/legacy/evas/src/evas_render.c @@ -170,9 +170,16 @@ evas_render(Evas e) void (*func_poly_draw) (Display *disp, Imlib_Image dstim, Window win, int win_w, int win_h, Evas_List points, int r, int g, int b, int a); if (!e) return; + if ((e->current.render_method == RENDER_METHOD_IMAGE) && + (!e->current.image)) + return; + if ((e->current.render_method != RENDER_METHOD_IMAGE) && + ((!e->current.display) || + (!e->current.visual) || + (!e->current.colormap) || + (!e->current.drawable))) + return; if ((!e->changed) || - (!e->current.display) || - (!e->current.drawable) || (e->current.drawable_width <= 0) || (e->current.drawable_height <= 0) || (e->current.viewport.w <= 0) ||