Author: Carlos Lopez <[email protected]>
Date:   Tue Mar 12 20:07:09 2013 +0100

When calculating the next unrendered tile consider if uses Cairo render

---

 synfig-studio/src/gui/workarea.cpp |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/synfig-studio/src/gui/workarea.cpp 
b/synfig-studio/src/gui/workarea.cpp
index c07f836..6e4e4f6 100644
--- a/synfig-studio/src/gui/workarea.cpp
+++ b/synfig-studio/src/gui/workarea.cpp
@@ -2496,8 +2496,10 @@ WorkArea::comp_to_screen_coords(synfig::Point 
/*pos*/)const
 int
 WorkArea::next_unrendered_tile(int refreshes)const
 {
-       //assert(!tile_book.empty());
-       if(tile_book.empty())
+       bool uses_cairo=studio::App::workarea_uses_cairo;
+       if(tile_book.empty() && !uses_cairo)
+               return -1;
+       else if (cairo_book.empty() && uses_cairo)
                return -1;
 
        //const synfig::RendDesc &rend_desc(get_canvas()->rend_desc());
@@ -2532,12 +2534,26 @@ WorkArea::next_unrendered_tile(int refreshes)const
                for(u=u1;u<u2;u++)
                {
                        int index(v*width_in_tiles+u);
-                       if(tile_book[index].second<refreshes)
+                       if(!uses_cairo)
                        {
-                               last_good_tile=index;
-                               if(rand()%8==0)
-                                       return index;
+                               if(tile_book[index].second<refreshes)
+                               {
+                                       last_good_tile=index;
+                                       if(rand()%8==0)
+                                               return index;
+                               }
+                       }
+                       else
+                       {
+                               
+                               if(cairo_book[index].refreshes<refreshes)
+                               {
+                                       last_good_tile=index;
+                                       if(rand()%8==0)
+                                               return index;
+                               }
                        }
+                       
                }
        return last_good_tile;
 }


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to