X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fcanvas.cpp;h=6404b84df6c498f9baa848d61b00eb81803b7545;hb=480ae5c1431805f2ef2028f27a6aca6a2a2ea364;hp=aba673052777940908caa78724d46f1eece1b783;hpb=65cedc47b7f0cc422307427ee5a7c65a92832f06;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/canvas.cpp b/synfig-core/trunk/src/synfig/canvas.cpp index aba6730..6404b84 100644 --- a/synfig-core/trunk/src/synfig/canvas.cpp +++ b/synfig-core/trunk/src/synfig/canvas.cpp @@ -1036,10 +1036,12 @@ synfig::optimize_layers(Context context, Canvas::Handle op_canvas) continue; Layer_PasteCanvas* paste_canvas(static_cast(layer.get())); - if(layer->get_name()=="PasteCanvas" && paste_canvas->get_time_offset()==0) + if(layer->get_name()=="paste_canvas" && paste_canvas->get_time_offset()==0) { Canvas::Handle sub_canvas(Canvas::create_inline(op_canvas)); - optimize_layers(paste_canvas->get_sub_canvas()->get_context(),sub_canvas); + Canvas::Handle paste_sub_canvas = paste_canvas->get_sub_canvas(); + if(paste_sub_canvas) + optimize_layers(paste_sub_canvas->get_context(),sub_canvas); //#define SYNFIG_OPTIMIZE_PASTE_CANVAS 1 #ifdef SYNFIG_OPTIMIZE_PASTE_CANVAS @@ -1074,13 +1076,13 @@ synfig::optimize_layers(Context context, Canvas::Handle op_canvas) continue; }catch(int) { } #endif - Layer::Handle new_layer(Layer::create("PasteCanvas")); - dynamic_cast(new_layer.get())->set_do_not_muck_with_time(true); + Layer::Handle new_layer(Layer::create("paste_canvas")); + dynamic_cast(new_layer.get())->set_muck_with_time(false); Layer::ParamList param_list(paste_canvas->get_param_list()); //param_list.erase("canvas"); new_layer->set_param_list(param_list); dynamic_cast(new_layer.get())->set_sub_canvas(sub_canvas); - dynamic_cast(new_layer.get())->set_do_not_muck_with_time(false); + dynamic_cast(new_layer.get())->set_muck_with_time(true); layer=new_layer; }