summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNicholas Bishop <nicholasbishop@gmail.com>2007-08-13 09:49:29 +0000
committernicholasbishop <nicholasbishop@users.sourceforge.net>2007-08-13 09:49:29 +0000
commitafe70fa4974b925f7d57b8ee3e3f5d6213c7c7d4 (patch)
tree79f8750b3af367f6633c40aece91485fb59a6112 /src
parent* moved some parameter inits from nr-filter-displacement-map to sp-fedisplace... (diff)
downloadinkscape-afe70fa4974b925f7d57b8ee3e3f5d6213c7c7d4.tar.gz
inkscape-afe70fa4974b925f7d57b8ee3e3f5d6213c7c7d4.zip
Filter effects dialog:
* Fixed bad update of the matrix widget, which was causing gtk warnings/criticals. (bzr r3457)
Diffstat (limited to 'src')
-rw-r--r--src/ui/dialog/filter-effects-dialog.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp
index 24ba5cfc8..b220b37bd 100644
--- a/src/ui/dialog/filter-effects-dialog.cpp
+++ b/src/ui/dialog/filter-effects-dialog.cpp
@@ -315,7 +315,7 @@ class FilterEffectsDialog::MatrixAttr : public Gtk::Frame, public AttrWidget
{
public:
MatrixAttr(const SPAttributeEnum a)
- : AttrWidget(a)
+ : AttrWidget(a), _locked(false)
{
_model = Gtk::ListStore::create(_columns);
_tree.set_model(_model);
@@ -370,6 +370,9 @@ private:
void update(SPObject* o, const int rows, const int cols)
{
+ if(_locked)
+ return;
+
_model->clear();
_tree.remove_all_columns();
@@ -388,7 +391,7 @@ private:
for(int i = 0; i < cols; ++i) {
_tree.append_column_numeric_editable("", _columns.cols[i], "%.2f");
dynamic_cast<Gtk::CellRendererText*>(
- _tree.get_column(i)->get_first_cell_renderer())->signal_edited().connect(
+ _tree.get_column_cell_renderer(i))->signal_edited().connect(
sigc::mem_fun(*this, &MatrixAttr::rebind));
}
@@ -402,9 +405,12 @@ private:
void rebind(const Glib::ustring&, const Glib::ustring&)
{
+ _locked = true;
signal_attr_changed()();
+ _locked = false;
}
+ bool _locked;
Gtk::TreeView _tree;
Glib::RefPtr<Gtk::ListStore> _model;
MatrixColumns _columns;