**
** \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
get_canvas()->set_time(cur_time_=x);
// update the time in all the child canvases
- Canvas::Children children = get_canvas()->children();
+ Canvas::Children children = get_canvas()->get_root()->children();
+ handle<CanvasInterface> interface;
for (Canvas::Children::iterator iter = children.begin(); iter != children.end(); iter++)
- if (handle<CanvasInterface> interface = get_instance()->find_canvas_interface(*iter))
+ if ((interface = get_instance()->find_canvas_interface(*iter)) != this)
interface->set_time(interface->get_canvas()->get_time());
signal_time_changed()();