diff options
Diffstat (limited to 'filter/rule-editor.c')
-rw-r--r-- | filter/rule-editor.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/filter/rule-editor.c b/filter/rule-editor.c index 3ea15d9d8b..13b77b72ec 100644 --- a/filter/rule-editor.c +++ b/filter/rule-editor.c @@ -506,19 +506,18 @@ set_sensitive (RuleEditor *re) static void cursor_changed (GtkTreeView *treeview, RuleEditor *re) { - GtkTreeViewColumn *column; - GtkTreePath *path; + GtkTreeSelection *selection; + GtkTreeModel *model; GtkTreeIter iter; - gtk_tree_view_get_cursor (re->list, &path, &column); - gtk_tree_model_get_iter (GTK_TREE_MODEL (re->model), &iter, path); - gtk_tree_path_free (path); - - gtk_tree_model_get (GTK_TREE_MODEL (re->model), &iter, 1, &re->current, -1); - - g_assert (re->current); - - rule_editor_set_sensitive (re); + selection = gtk_tree_view_get_selection (re->list); + if (gtk_tree_selection_get_selected (selection, &model, &iter)) { + gtk_tree_model_get (GTK_TREE_MODEL (re->model), &iter, 1, &re->current, -1); + + g_assert (re->current); + + rule_editor_set_sensitive (re); + } } static void |