Don't print pointers as integers, print them as pointers. Thanks to Aurore.
[synfig.git] / synfig-studio / trunk / src / gtkmm / preview.cpp
index ce8424f..ee6ecf8 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -40,6 +41,9 @@
 
 #include <algorithm>
 #include "asyncrenderer.h"
+
+#include "general.h"
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -255,7 +259,7 @@ void studio::Preview::frame_finish(const Preview_Target *targ)
        if(!buffer)
                return;
 
-       //convert all the pixles to the pixbuf... buffer... thing...
+       //convert all the pixels to the pixbuf... buffer... thing...
        //synfig::warning("Converting...");
        convert_color_format(buffer, surf[0], surf.get_w()*surf.get_h(), pf, App::gamma);
 
@@ -857,10 +861,15 @@ void studio::Widget_Preview::repreview()
 
 void studio::Widget_Preview::stoprender()
 {
+       // don't crash if the render has already been stopped
+       if (!preview->renderer)
+               return;
+
        if(preview)
-       {
-               preview->renderer.detach();
-       }
+               if (preview->renderer->updating)
+                       preview->renderer->stop();
+               else
+                       preview->renderer.detach();
 }
 
 void studio::Widget_Preview::eraseall()