X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_dynamiclist.cpp;h=7cdbd1febe0322d1de05f7e02e964842dd149c0e;hb=756c0d29ac1742f231e6615f9a577e574e35a4af;hp=a86403f417edb66e1f69df36f8b392ecc226ebcf;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp b/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp index a86403f..7cdbd1f 100644 --- a/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp @@ -1,11 +1,12 @@ /* === S Y N F I G ========================================================= */ /*! \file valuenode_dynamiclist.cpp -** \brief Template File +** \brief Implementation of the "Dynamic List" valuenode conversion. ** ** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 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 @@ -405,7 +406,7 @@ ValueNode_DynamicList::ListEntry::status_at_time(const Time &t)const ActivepointList::const_iterator prev_iter; bool state(true); - // New "symetric" state mechanism + // New "symmetric" state mechanism if(!timing_info.empty()) { if(timing_info.size()==1) @@ -621,6 +622,7 @@ bool ValueNode_DynamicList::set_link_vfunc(int i,ValueNode::Handle x) { assert(i>=0); + if((unsigned)i>=list.size()) return false; if(x->get_type()!=container_type) @@ -633,6 +635,7 @@ ValueNode::LooseHandle ValueNode_DynamicList::get_link_vfunc(int i)const { assert(i>=0); + if((unsigned)i>=list.size()) return 0; return list[i].value_node; @@ -647,7 +650,8 @@ ValueNode_DynamicList::link_count()const String ValueNode_DynamicList::link_local_name(int i)const { - assert(i>=0 && (unsigned)i=0 && i