X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fsynfig%2Fvaluenode_range.cpp;h=c45f369aba1eff6a935ce37ed234237e3f58c5fd;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=1333f3d784830705f795d7c99f5387b956ba3c31;hpb=6c27d1b6cf4694a873542cb264c650893f2c6e0e;p=synfig.git diff --git a/synfig-core/trunk/src/synfig/valuenode_range.cpp b/synfig-core/trunk/src/synfig/valuenode_range.cpp index 1333f3d..c45f369 100644 --- a/synfig-core/trunk/src/synfig/valuenode_range.cpp +++ b/synfig-core/trunk/src/synfig/valuenode_range.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 @@ -83,7 +83,7 @@ synfig::ValueNode_Range::ValueNode_Range(const ValueBase &value): break; default: assert(0); - throw runtime_error(_("synfig::ValueNode_Range:Bad type ")+ValueBase::type_local_name(id)); + throw runtime_error(get_local_name()+_(":Bad type ")+ValueBase::type_local_name(id)); } assert(min_->get_type()==id); @@ -114,6 +114,9 @@ synfig::ValueNode_Range::~ValueNode_Range() synfig::ValueBase synfig::ValueNode_Range::operator()(Time t)const { + if (getenv("SYNFIG_DEBUG_VALUENODE_OPERATORS")) + printf("%s:%d operator()\n", __FILE__, __LINE__); + if(!min_ || !max_ || !link_) throw runtime_error(strprintf("ValueNode_Range: %s",_("Some of my parameters aren't set!"))); @@ -154,20 +157,10 @@ ValueNode_Range::set_link_vfunc(int i,ValueNode::Handle value) switch(i) { - case 0: - min_=value; - signal_child_changed()(i);signal_value_changed()(); - return true; - case 1: - max_=value; - signal_child_changed()(i);signal_value_changed()(); - return true; - case 2: - link_=value; - signal_child_changed()(i);signal_value_changed()(); - return true; + case 0: CHECK_TYPE_AND_SET_VALUE(min_, get_type()); + case 1: CHECK_TYPE_AND_SET_VALUE(max_, get_type()); + case 2: CHECK_TYPE_AND_SET_VALUE(link_, get_type()); } - return false; }