Remove link references by index when link name can be used
[synfig.git] / synfig-studio / src / gtkmm / duckmatic.cpp
index 0d88982..e8b5bfb 100644 (file)
@@ -567,7 +567,7 @@ DuckDrag_Translate::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vector
                        {
                                synfig::Point closest_point = duck->get_point();
                                synfig::Real radius = 0.0;
-                               ValueNode_BLine::Handle bline = ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link(bline_vertex->get_link_index_from_name("bline")));
+                               ValueNode_BLine::Handle bline = ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link("bline"));
                                synfig::find_closest_point(
                                        (*bline)(time),
                                        duck->get_point(),
@@ -600,11 +600,10 @@ DuckDrag_Translate::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vector
                                 (bline_vertex = ValueNode_BLineCalcVertex::Handle::cast_dynamic(composite->get_link("point")))))
                        {
                                synfig::Real radius = 0.0;
-                               ValueNode_BLine::Handle bline(ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link(bline_vertex->get_link_index_from_name("bline"))));
+                               ValueNode_BLine::Handle bline(ValueNode_BLine::Handle::cast_dynamic(bline_vertex->get_link("bline")));
                                Real amount = synfig::find_closest_point((*bline)(time), duck->get_point(), radius, bline->get_loop());
 
-                               int vertex_amount_index(bline_vertex->get_link_index_from_name("amount"));
-                               ValueNode::Handle vertex_amount_value_node(bline_vertex->get_link(vertex_amount_index));
+                               ValueNode::Handle vertex_amount_value_node(bline_vertex->get_link("amount"));
 
                                DuckList::iterator iter;
                                for (iter=duck_list.begin(); iter!=duck_list.end(); iter++)
@@ -612,7 +611,7 @@ DuckDrag_Translate::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vector
                                        ValueNode::Handle duck_value_node((*iter)->get_value_desc().get_value_node());
                                        if (ValueNode_BLineCalcTangent::Handle bline_tangent = ValueNode_BLineCalcTangent::Handle::cast_dynamic(duck_value_node))
                                        {
-                                               if (bline_tangent->get_link(bline_tangent->get_link_index_from_name("amount")) == vertex_amount_value_node)
+                                               if (bline_tangent->get_link("amount") == vertex_amount_value_node)
                                                {
                                                        switch (bline_tangent->get_type())
                                                        {
@@ -635,7 +634,7 @@ DuckDrag_Translate::duck_drag(Duckmatic* duckmatic, const synfig::Vector& vector
                                        }
                                        else if (ValueNode_BLineCalcWidth::Handle bline_width = ValueNode_BLineCalcWidth::Handle::cast_dynamic(duck_value_node))
                                        {
-                                               if (bline_width->get_link(bline_width->get_link_index_from_name("amount")) == vertex_amount_value_node)
+                                               if (bline_width->get_link("amount") == vertex_amount_value_node)
                                                        (*iter)->set_point(Point((*bline_width)(time, amount).get(Real()), 0));
                                        }
                                }