X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Fcanvasinterface.cpp;h=45c307f23b32a59c76e16eaf91477b421a799ce1;hb=d3d2286ee33a0b920691b71a781c4be63d0c273b;hp=1757952669647fc0b1c9c7f718320eb4610d0ad7;hpb=6fc1a2c4d3eb4de9e3c9c88b7a770e4feb7f5243;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/canvasinterface.cpp b/synfig-studio/trunk/src/synfigapp/canvasinterface.cpp index 1757952..45c307f 100644 --- a/synfig-studio/trunk/src/synfigapp/canvasinterface.cpp +++ b/synfig-studio/trunk/src/synfigapp/canvasinterface.cpp @@ -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 @@ -103,7 +104,13 @@ CanvasInterface::set_time(synfig::Time x) } if(cur_time_.is_equal(x)) return; - cur_time_=x; + get_canvas()->set_time(cur_time_=x); + + // update the time in all the child canvases + Canvas::Children children = get_canvas()->get_root()->children(); + for (Canvas::Children::iterator iter = children.begin(); iter != children.end(); iter++) + if (handle interface = get_instance()->find_canvas_interface(*iter)) + interface->set_time(interface->get_canvas()->get_time()); signal_time_changed()(); signal_dirty_preview()();