X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Fvaluenode_range.cpp;h=4c62b028d3ab45ecb095f254d149bfff5a82bf6e;hb=20e89d9a399f110a44b9d641723c17e0fc164a17;hp=be2f6a2a3022bcfdfc27884dfb69092d65d7fd03;hpb=c8dfc1fcfebdcc765fac4de28731a783b6099c35;p=synfig.git diff --git a/synfig-core/src/synfig/valuenode_range.cpp b/synfig-core/src/synfig/valuenode_range.cpp index be2f6a2..4c62b02 100644 --- a/synfig-core/src/synfig/valuenode_range.cpp +++ b/synfig-core/src/synfig/valuenode_range.cpp @@ -90,8 +90,6 @@ synfig::ValueNode_Range::ValueNode_Range(const ValueBase &value): assert(max_->get_type()==id); assert(link_->get_type()==id); assert(get_type()==id); - - DCAST_HACK_ENABLE(); } LinkableValueNode* @@ -204,11 +202,9 @@ synfig::ValueNode_Range::get_inverse(Time t, const synfig::Angle &target_value) switch (get_type()) { default: - // Notice that target_value is the rotation between the current - // 'link' value and the target angle in the canvas, so we need - // to add it to 'link' - if(Angle::rad(maximum).get()>=Angle::rad(link+target_value).get() && Angle::rad(link+target_value).get()>=Angle::rad(minimum).get()) - return link + target_value; + + if(Angle::rad(maximum).get()>=Angle::rad(target_value).get() && Angle::rad(target_value).get()>=Angle::rad(minimum).get()) + return target_value; else if (Angle::rad(minimum).get()>Angle::rad(target_value).get()) return minimum; else