From eff087a4b33cfa88b14fca6cb59e63768317d295 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Fri, 23 Aug 2013 08:34:22 +0100 Subject: [PATCH] Fix redraw rectangle when framespace changes to not be Outside viewport. Signed-off-by: Chris Michael --- src/lib/evas/canvas/evas_render.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 2cf1d5c225..72e08bffa1 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1618,16 +1618,13 @@ evas_render_updates_internal(Evas *eo_e, if (e->framespace.changed) { - int fx, fy, fw, fh; - - fx = e->viewport.x - e->framespace.x; - fy = e->viewport.y - e->framespace.y; - fw = e->viewport.w + e->framespace.w; - fh = e->viewport.h + e->framespace.h; - if (fx < 0) fx = 0; - if (fy < 0) fy = 0; + /* NB: If the framespace changes, we need to add a redraw rectangle + * which covers the Whole viewport. This is because 'framespace' is + * defined as "the space IN the viewport which is Occupied by the + * window frame" */ e->engine.func->output_redraws_rect_add(e->engine.data.output, - fx, fy, fw, fh); + e->viewport.x, e->viewport.y, + e->viewport.w, e->viewport.h); } if (redraw_all)