X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Flayer_composite.cpp;h=d938e9600359297fd31ddbd192f8a57c5f82ac06;hb=392b62fa87099d8576a9da614be431a5046fe595;hp=2cd6a170fb54872bbeab35b831d4334034926d04;hpb=4b543cfd8a38b32f3700156b94c97ed1f0e3abfd;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/layer_composite.cpp b/synfig-core/trunk/src/synfig/layer_composite.cpp index 2cd6a17..d938e96 100644 --- a/synfig-core/trunk/src/synfig/layer_composite.cpp +++ b/synfig-core/trunk/src/synfig/layer_composite.cpp @@ -172,11 +172,22 @@ Layer_Composite::set_param(const String & param, const ValueBase &value) String version(canvas->get_version()); if (version == "0.1" || version == "0.2") + { if (get_name() == "PasteCanvas") warning("loaded a version %s canvas with a 'Straight' blended PasteCanvas (%s) - check it renders OK", version.c_str(), get_non_empty_description().c_str()); else + { blend_method_ = Color::BLEND_COMPOSITE; + converted_blend_ = true; + + // if this layer has a transparent color, go back and set the color again + // now that we know we are converting the blend method as well. that will + // make the color non-transparent, and change the blend method to alpha over + if (transparent_color_) + set_param("color", get_param("color")); + } + } } } }