X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fwidget_curves.cpp;h=c5ff451707f20b7b1597797ba2c85198d22a1fb8;hb=47fce282611fbba1044921d22ca887f9b53ad91a;hp=08a8a14f5896dfd8388713c1df9cd4291f06df05;hpb=9b5810cef039c7f25e924ce2cf2fc80e76e59972;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/widget_curves.cpp b/synfig-studio/tags/stable/src/gtkmm/widget_curves.cpp index 08a8a14..c5ff451 100644 --- a/synfig-studio/tags/stable/src/gtkmm/widget_curves.cpp +++ b/synfig-studio/tags/stable/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 @@ -38,6 +39,8 @@ #include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -223,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(); @@ -288,6 +290,12 @@ 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; + } }; /* === M E T H O D S ======================================================= */ @@ -364,11 +372,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, @@ -378,7 +388,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, @@ -388,7 +397,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,