X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_duplicate.cpp;h=540c3a99d26b65a3e0b98bf444ba17f8ea4223f0;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=2b67c3ebdfed50c66971beeb33af0b11ef51eac6;hpb=474cd1e55546da94fc56b6af187fdbeefa3d80ca;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_duplicate.cpp b/synfig-core/trunk/src/synfig/valuenode_duplicate.cpp index 2b67c3e..540c3a9 100644 --- a/synfig-core/trunk/src/synfig/valuenode_duplicate.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_duplicate.cpp @@ -6,7 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 Chris Moore +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -82,26 +82,24 @@ ValueNode_Duplicate::~ValueNode_Duplicate() } bool -ValueNode_Duplicate::set_link_vfunc(int i,ValueNode::Handle x) +ValueNode_Duplicate::set_link_vfunc(int i,ValueNode::Handle value) { - assert(i >= 0 && i < link_count()); + assert(i>=0 && i= 0 && i < link_count()); + assert(i>=0 && i= 0 && i < link_count()); + assert(i>=0 && i= 0 && i < link_count()); + assert(i>=0 && i= to; - } + if ((index -= step) >= to) return true; + + // at the end of the loop, leave the index at the last value that was used + index = prev; + return false; } int @@ -188,8 +189,11 @@ ValueNode_Duplicate::count_steps(Time t)const } ValueBase -ValueNode_Duplicate::operator()(Time t)const +ValueNode_Duplicate::operator()(Time t __attribute__ ((unused)))const { + if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS")) + printf("%s:%d operator()\n", __FILE__, __LINE__); + return index; } @@ -206,7 +210,7 @@ ValueNode_Duplicate::get_local_name()const } bool -ValueNode_Duplicate::check_type(ValueBase::Type type) +ValueNode_Duplicate::check_type(ValueBase::Type type __attribute__ ((unused))) { // never offer this as a choice. it's used automatically by the 'Duplicate' layer. return false;