summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2002-04-16 15:25:27 +0000
committerKristian Rietveld <kristian@src.gnome.org>2002-04-16 15:25:27 +0000
commit8fbac80bc4f00b15a49061fe388fbe2366c77101 (patch)
treefd63a38368e83122ad7171baf0dc0b9b94a463f6
parent163890cafc8a7216320ec439d2ff8086b53800ce (diff)
downloadgdk-pixbuf-8fbac80bc4f00b15a49061fe388fbe2366c77101.tar.gz
check ->priv->cursor and ->priv->anchor rowrefs before removing
Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check ->priv->cursor and ->priv->anchor rowrefs before removing node->children from the rbtree. Also check the ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs (I think I really need to rename those two someday).
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLog.pre-2-108
-rw-r--r--ChangeLog.pre-2-28
-rw-r--r--ChangeLog.pre-2-48
-rw-r--r--ChangeLog.pre-2-68
-rw-r--r--ChangeLog.pre-2-88
-rw-r--r--gtk/gtktreeview.c73
7 files changed, 95 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 6ff8656d5..dfa8bf3c7 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,11 @@
+Tue Apr 16 17:28:21 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
+ ->priv->cursor and ->priv->anchor rowrefs before removing
+ node->children from the rbtree. Also check the
+ ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
+ (I think I really need to rename those two someday).
+
Tue Apr 16 07:53:49 2002 Tim Janik <timj@gtk.org>
* gtk/gtkmenu.c (gtk_menu_key_press): don't install/change accelerators
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 6e915d8d5..730493a77 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -8846,6 +8846,53 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
gtk_tree_path_free (child_path);
}
+ if (gtk_tree_row_reference_valid (tree_view->priv->cursor))
+ {
+ GtkTreePath *cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
+
+ if (gtk_tree_path_is_ancestor (path, cursor_path))
+ {
+ gtk_tree_row_reference_free (tree_view->priv->cursor);
+ tree_view->priv->cursor = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view),
+ tree_view->priv->model,
+ path);
+ }
+ gtk_tree_path_free (cursor_path);
+ }
+
+ if (gtk_tree_row_reference_valid (tree_view->priv->anchor))
+ {
+ GtkTreePath *anchor_path = gtk_tree_row_reference_get_path (tree_view->priv->anchor);
+ if (gtk_tree_path_is_ancestor (path, anchor_path))
+ {
+ gtk_tree_row_reference_free (tree_view->priv->anchor);
+ tree_view->priv->anchor = NULL;
+ }
+ gtk_tree_path_free (anchor_path);
+ }
+
+ if (gtk_tree_row_reference_valid (tree_view->priv->last_single_clicked))
+ {
+ GtkTreePath *lsc = gtk_tree_row_reference_get_path (tree_view->priv->last_single_clicked);
+ if (gtk_tree_path_is_ancestor (path, lsc))
+ {
+ gtk_tree_row_reference_free (tree_view->priv->last_single_clicked);
+ tree_view->priv->last_single_clicked = NULL;
+ }
+ gtk_tree_path_free (lsc);
+ }
+
+ if (gtk_tree_row_reference_valid (tree_view->priv->last_single_clicked_2))
+ {
+ GtkTreePath *lsc = gtk_tree_row_reference_get_path (tree_view->priv->last_single_clicked_2);
+ if (gtk_tree_path_is_ancestor (path, lsc))
+ {
+ gtk_tree_row_reference_free (tree_view->priv->last_single_clicked_2);
+ tree_view->priv->last_single_clicked_2 = NULL;
+ }
+ gtk_tree_path_free (lsc);
+ }
+
if (gtk_tree_view_unref_and_check_selection_tree (tree_view, node->children))
{
_gtk_rbtree_remove (node->children);
@@ -8882,32 +8929,6 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
gtk_widget_queue_resize (GTK_WIDGET (tree_view));
}
- if (gtk_tree_row_reference_valid (tree_view->priv->cursor))
- {
- GtkTreePath *cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor);
-
- if (gtk_tree_path_is_ancestor (path, cursor_path))
- {
- gtk_tree_row_reference_free (tree_view->priv->cursor);
- tree_view->priv->cursor = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view),
- tree_view->priv->model,
- path);
- }
- gtk_tree_path_free (cursor_path);
- }
-
- if (gtk_tree_row_reference_valid (tree_view->priv->anchor))
- {
- GtkTreePath *anchor_path = gtk_tree_row_reference_get_path (tree_view->priv->anchor);
- if (gtk_tree_path_is_ancestor (path, anchor_path))
- {
- gtk_tree_row_reference_free (tree_view->priv->anchor);
- tree_view->priv->anchor = NULL;
- }
- gtk_tree_path_free (anchor_path);
-
- }
-
g_signal_emit (G_OBJECT (tree_view), tree_view_signals[ROW_COLLAPSED], 0, &iter, path);
/* now that we've collapsed all rows, we want to try to set the prelight