X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_curves.cpp;h=b4a567876944c55ff73057a8cde5a8b72bc93fb1;hb=1e706e54c01cd6baae01b1199c8997c48345ed8c;hp=cc79cf8cdfb0bdc5f92a9ac0c58ab74a92d5f5fd;hpb=8ef042c40521681cea99944097c4f90a5ac6cf74;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp index cc79cf8..b4a5678 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_curves.cpp +++ b/synfig-studio/trunk/src/gtkmm/widget_curves.cpp @@ -6,6 +6,7 @@ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley +** Copyright (c) 2008 Gerco Ballintijn ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -225,7 +226,6 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable void clear_all_values() { - DEBUGPOINT(); std::vector::iterator iter; for(iter=channels.begin();iter!=channels.end();++iter) iter->values.clear(); @@ -290,6 +290,15 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable return -channels[chan].values[time]; } + + static bool is_not_supported(const synfigapp::ValueDesc& x) + { + return x.get_value_type() == ValueBase::TYPE_STRING + || x.get_value_type() == ValueBase::TYPE_CANVAS + || x.get_value_type() == ValueBase::TYPE_GRADIENT + || x.get_value_type() == ValueBase::TYPE_LIST + || x.get_value_type() == ValueBase::TYPE_SEGMENT; + } }; /* === M E T H O D S ======================================================= */ @@ -366,11 +375,13 @@ Widget_Curves::set_value_descs(std::list value_descs) std::list::iterator iter; for(iter=value_descs.begin();iter!=value_descs.end();++iter) { + if (CurveStruct::is_not_supported(*iter)) + continue; + try { curve_list_.push_back(*iter); if(iter->is_value_node()) { - DEBUGPOINT(); iter->get_value_node()->signal_changed().connect( sigc::mem_fun( *this, @@ -380,7 +391,6 @@ Widget_Curves::set_value_descs(std::list value_descs) } if(iter->parent_is_value_node()) { - DEBUGPOINT(); iter->get_parent_value_node()->signal_changed().connect( sigc::mem_fun( *this, @@ -390,7 +400,6 @@ Widget_Curves::set_value_descs(std::list value_descs) } if(iter->parent_is_layer_param()) { - DEBUGPOINT(); iter->get_layer()->signal_changed().connect( sigc::mem_fun( *this,