Fix 2060732: Incorrect error message when selecting a filename or canvas parameter.
[synfig.git] / synfig-studio / trunk / src / gtkmm / widget_curves.cpp
index cc79cf8..4b43405 100644 (file)
@@ -225,7 +225,6 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable
 
        void clear_all_values()
        {
-               DEBUGPOINT();
                std::vector<Channel>::iterator iter;
                for(iter=channels.begin();iter!=channels.end();++iter)
                        iter->values.clear();
@@ -290,6 +289,12 @@ struct studio::Widget_Curves::CurveStruct : sigc::trackable
 
                return -channels[chan].values[time];
        }
+
+       static bool is_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 ======================================================= */
@@ -366,11 +371,13 @@ Widget_Curves::set_value_descs(std::list<synfigapp::ValueDesc> value_descs)
        std::list<synfigapp::ValueDesc>::iterator iter;
        for(iter=value_descs.begin();iter!=value_descs.end();++iter)
        {
+               if (! CurveStruct::is_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 +387,6 @@ Widget_Curves::set_value_descs(std::list<synfigapp::ValueDesc> value_descs)
                        }
                        if(iter->parent_is_value_node())
                        {
-                               DEBUGPOINT();
                                iter->get_parent_value_node()->signal_changed().connect(
                                        sigc::mem_fun(
                                                *this,
@@ -390,7 +396,6 @@ Widget_Curves::set_value_descs(std::list<synfigapp::ValueDesc> value_descs)
                        }
                        if(iter->parent_is_layer_param())
                        {
-                               DEBUGPOINT();
                                iter->get_layer()->signal_changed().connect(
                                        sigc::mem_fun(
                                                *this,