Partially fix 1677632: draw tool can extend looped blines. Don't allow the draw...
[synfig.git] / synfig-studio / trunk / src / gtkmm / state_draw.cpp
index 2c772b6..6f8d806 100644 (file)
@@ -5,16 +5,17 @@
 **     $Id: state_draw.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **
-**     This software and associated documentation
-**     are CONFIDENTIAL and PROPRIETARY property of
-**     the above-mentioned copyright holder.
+**     This package is free software; you can redistribute it and/or
+**     modify it under the terms of the GNU General Public License as
+**     published by the Free Software Foundation; either version 2 of
+**     the License, or (at your option) any later version.
 **
-**     You may not copy, print, publish, or in any
-**     other way distribute this software without
-**     a prior written agreement with
-**     the copyright holder.
+**     This package is distributed in the hope that it will be useful,
+**     but WITHOUT ANY WARRANTY; without even the implied warranty of
+**     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**     General Public License for more details.
 **     \endlegal
 */
 /* ========================================================================= */
@@ -724,7 +725,9 @@ StateDraw_Context::new_bline(std::list<synfig::BLinePoint> bline,bool loop_bline
                        {
                                value_node_bline=ValueNode_BLine::Handle::cast_dynamic(value_desc.get_parent_value_node());
                        }
-                       if(value_node_bline)
+
+                       // don't extend looped blines
+                       if(value_node_bline && !value_node_bline->get_loop())
                        {
                                if(value_desc.get_index()==0)
                                {
@@ -771,7 +774,9 @@ StateDraw_Context::new_bline(std::list<synfig::BLinePoint> bline,bool loop_bline
 
                        if(value_desc.parent_is_value_node())
                                value_node_bline=ValueNode_BLine::Handle::cast_dynamic(value_desc.get_parent_value_node());
-                       if(value_node_bline)
+
+                       // don't extend looped blines
+                       if(value_node_bline && !value_node_bline->get_loop())
                        {
                                if(value_desc.get_index()==0)
                                {