X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Ftimepointcollect.cpp;h=abbfc76c17b38f98c63cbf76e23969ce1c7c89ac;hb=cfd329e6c6384164181342f3a064935f4d69f078;hp=b2a04248e54458dd66d0396a0410e628355eff1a;hpb=c3ad95144d148602f672e95ddda1f18fc35502f8;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/timepointcollect.cpp b/synfig-core/trunk/src/synfig/timepointcollect.cpp index b2a0424..abbfc76 100644 --- a/synfig-core/trunk/src/synfig/timepointcollect.cpp +++ b/synfig-core/trunk/src/synfig/timepointcollect.cpp @@ -31,6 +31,7 @@ #include "timepointcollect.h" #include "valuenode_animated.h" +#include "layer_pastecanvas.h" #include "layer.h" #include "canvas.h" #include "value.h" @@ -90,7 +91,13 @@ synfig::waypoint_collect(set >& waypoint_set,const ValueBase canvas_value(layer->get_param("canvas")); if(canvas_value.get_type()==ValueBase::TYPE_CANVAS) { - ret+=waypoint_collect(waypoint_set,time,Canvas::Handle(canvas_value.get(Canvas::Handle()))); + etl::handle p = etl::handle::cast_dynamic(layer); + if (p) + ret+=waypoint_collect(waypoint_set, time + p->get_time_offset(), + Canvas::Handle(canvas_value.get(Canvas::Handle()))); + else + ret+=waypoint_collect(waypoint_set, time, + Canvas::Handle(canvas_value.get(Canvas::Handle()))); } return ret; }