Code

do not return any non-normal blend mode if we do not show blend mode chooser
authorbuliabyak <buliabyak@users.sourceforge.net>
Tue, 10 Feb 2009 22:58:37 +0000 (22:58 +0000)
committerbuliabyak <buliabyak@users.sourceforge.net>
Tue, 10 Feb 2009 22:58:37 +0000 (22:58 +0000)
src/ui/widget/filter-effect-chooser.cpp
src/ui/widget/filter-effect-chooser.h

index 5b5b7011831842448db9adc22b240c0a0330615c..78ddbaa876bd3d27f790e089130a84325bbe9432 100644 (file)
@@ -24,9 +24,11 @@ namespace Widget {
 SimpleFilterModifier::SimpleFilterModifier(int flags)
     : _lb_blend(_("_Blend mode:")),
       _lb_blur(_("B_lur:"), Gtk::ALIGN_LEFT),
-      _blend(BlendModeConverter),
+      _blend(BlendModeConverter, SP_ATTR_INVALID, false),
       _blur(0, 0, 100, 1, 0.01, 1)
 {
+    _flags = flags;
+
     if (flags & BLEND) {
         add(_hb_blend);
         _hb_blend.pack_start(_lb_blend, false, false);
@@ -56,14 +58,17 @@ sigc::signal<void>& SimpleFilterModifier::signal_blend_blur_changed()
 
 const Glib::ustring SimpleFilterModifier::get_blend_mode()
 {
+    if (!(_flags & BLEND)) {
+        return "normal";
+    }
     if (_blend.get_active_row_number() == 5) {
-        return "filter";
+        return "normal";
     } else {
         const Util::EnumData<Inkscape::Filters::FilterBlendMode> *d = _blend.get_active_data();
-        if (d)
+        if (d) {
             return _blend.get_active_data()->key;
-        else
-            return "filter";
+        else
+            return "normal";
     }
 }
 
index e4e6796f4b3c96227d1fb526364bed147e14aa3c..7f2a980c3d490e04a93d0ba42fc24b9f9853c21d 100644 (file)
@@ -51,6 +51,7 @@ public:
     void set_blur_sensitive(const bool);
 
 private:
+    int _flags;
     Gtk::HBox _hb_blend;
     Gtk::VBox _vb_blur;
     Gtk::Label _lb_blend, _lb_blur;