X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_dynamiclist.cpp;h=ddcca6d46308a896893be6bb3d0d1cdfa3189379;hb=ce5ffc46ee746fc74cc716b4a4eebdebc471e2e0;hp=dfdf08409e52da01dd98ebab54f710e6dc99aec5;hpb=542d4300393ce45b3426a2a859fe16131d3d2cf0;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp b/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp index dfdf084..ddcca6d 100644 --- a/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_dynamiclist.cpp @@ -666,7 +666,7 @@ ValueNode_DynamicList::clone(const GUID& deriv_guid)const { { ValueNode* x(find_value_node(get_guid()^deriv_guid).get()); if(x)return x; } - ValueNode_DynamicList* ret=new ValueNode_DynamicList(container_type); + ValueNode_DynamicList* ret=dynamic_cast(create_new()); ret->set_guid(get_guid()^deriv_guid); std::vector::const_iterator iter; @@ -680,7 +680,7 @@ ValueNode_DynamicList::clone(const GUID& deriv_guid)const ListEntry list_entry(*iter); //list_entry.value_node=find_value_node(iter->value_node->get_guid()^deriv_guid).get(); //if(!list_entry.value_node) - list_entry.value_node=iter->value_node->clone(deriv_guid); + list_entry.value_node=iter->value_node->clone(deriv_guid); ret->add(list_entry); //ret->list.back().value_node=iter->value_node.clone(); } @@ -735,9 +735,7 @@ ValueNode_DynamicList::get_contained_type()const LinkableValueNode* ValueNode_DynamicList::create_new()const { - assert(0); - - return 0; + return new ValueNode_DynamicList(container_type); } int