devilhorns pushed a commit to branch master.

commit eff087a4b33cfa88b14fca6cb59e63768317d295
Author: Chris Michael <[email protected]>
Date:   Fri Aug 23 08:34:22 2013 +0100

    Fix redraw rectangle when framespace changes to not be Outside viewport.
    
    Signed-off-by: Chris Michael <[email protected]>
---
 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 2cf1d5c..72e08bf 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)

-- 

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

Reply via email to