summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2002-04-26 19:55:14 +0000
committerKristian Rietveld <kristian@src.gnome.org>2002-04-26 19:55:14 +0000
commit873e9ce4b8a4749827ee40bbcad75db21dec8618 (patch)
treed55ffd7a06cd16e8b51cb094c702e108ead739ce
parentdeb549090a6f85725835494ee47d691295302ec1 (diff)
downloadgtk+-873e9ce4b8a4749827ee40bbcad75db21dec8618.tar.gz
if the deleted node was "below" this path, then do not unref all nodes
Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org> * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the deleted node was "below" this path, then do not unref all nodes between the deleted parent and the node this rowref is pointing too (see added comment in gtk_tree_row_ref_deleted_callback), (fixes #77977)
-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/gtktreemodel.c9
7 files changed, 56 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 0e22e265ce..5c01883f99 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,11 @@
+Fri Apr 26 21:58:16 2002 Kristian Rietveld <kris@gtk.org>
+
+ * gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): if the
+ deleted node was "below" this path, then do not unref all nodes
+ between the deleted parent and the node this rowref is pointing too
+ (see added comment in gtk_tree_row_ref_deleted_callback),
+ (fixes #77977)
+
2002-04-26 Sven Neumann <sven@gimp.org>
* tests/testtreecolumns.c
diff --git a/gtk/gtktreemodel.c b/gtk/gtktreemodel.c
index 8d66e9d23b..925c4eb77a 100644
--- a/gtk/gtktreemodel.c
+++ b/gtk/gtktreemodel.c
@@ -1368,7 +1368,14 @@ gtk_tree_row_ref_deleted_callback (GObject *object,
/* We know it affects us. */
if (path->indices[i] == reference->path->indices[i])
{
- gtk_tree_row_reference_unref_path (reference->path, reference->model, reference->path->depth - 1);
+ if (reference->path->depth > path->depth)
+ /* some parent was deleted, trying to unref any node
+ * between the deleted parent and the node the reference
+ * is pointing to is bad, as those nodes are already gone.
+ */
+ gtk_tree_row_reference_unref_path (reference->path, reference->model, path->depth - 1);
+ else
+ gtk_tree_row_reference_unref_path (reference->path, reference->model, reference->path->depth - 1);
gtk_tree_path_free (reference->path);
reference->path = NULL;
}