Use American spelling of 'initialise'.
[synfig.git] / synfig-studio / trunk / src / gtkmm / dock_navigator.cpp
index b96f0e8..c558960 100644 (file)
@@ -167,8 +167,8 @@ void studio::Widget_NavView::on_start_render()
 
                renderer = new AsyncRenderer(targ);
                renderer->signal_success().connect(sigc::mem_fun(*this,&Widget_NavView::on_finish_render));
-               renderer->start();
                dirty = false;
+               renderer->start();
        }
 }
 
@@ -258,6 +258,11 @@ static double zoom_to_unit(double f)
 
 bool studio::Widget_NavView::on_expose_draw(GdkEventExpose */*exp*/)
 {
+       // don't redraw if the previous redraw is still running single-threaded
+       // or we end up destroying the renderer that's rendering it
+       if (App::single_threaded && renderer && renderer->updating)
+               return false;
+
        //print out the zoom
        //HACK kind of...
        //zoom_print.set_text(strprintf("%.1f%%",100*unit_to_zoom(adj_zoom.get_value())));