X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fcanvas.cpp;h=9322d79c683ea75cf12f692dec8ba76fb10fa11b;hb=36b62b6ea64fe871356d77e7aac1f53b9b33cebb;hp=b8e33a00908ee8206fe9a04823c161b9fdac0fb4;hpb=556d3ae558f5072946218fe16c207d24592048c0;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/canvas.cpp b/synfig-core/trunk/src/synfig/canvas.cpp index b8e33a0..9322d79 100644 --- a/synfig-core/trunk/src/synfig/canvas.cpp +++ b/synfig-core/trunk/src/synfig/canvas.cpp @@ -1018,6 +1018,11 @@ Canvas::get_meta_data_keys()const return ret; } +/* note - the "Motion Blur" and "Duplicate" layers need the dynamic + parameters of any PasteCanvas layers they loop over to be + maintained. When the variables in the following function + refer to "motion blur", they mean either of these two + layers. */ void synfig::optimize_layers(Context context, Canvas::Handle op_canvas, bool seen_motion_blur_in_parent) { @@ -1046,7 +1051,7 @@ synfig::optimize_layers(Context context, Canvas::Handle op_canvas, bool seen_mot if(value.get_type()==ValueBase::TYPE_REAL && value.get(Real())==0) continue; - if(layer->get_name()=="MotionBlur") + if(layer->get_name()=="MotionBlur" || layer->get_name()=="duplicate") { float z_depth(layer->get_z_depth()*1.0001+i);