diff --git a/ChangeLog b/ChangeLog index b470400dd0..0f3030a42f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index b470400dd0..0f3030a42f 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Mon Jan 28 16:23:20 2002 Jonathan Blandford + + * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer + g_assert. + 2002-01-28 Jon Trowbridge * gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 9848677c37..f01f910221 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3474,6 +3474,9 @@ install_presize_handler (GtkTreeView *tree_view) } } +/* Always call this iff dy is in the visible range. If the tree is empty, then + * it's set to be NULL, and top_row_dy is 0; + */ static void gtk_tree_view_dy_to_top_row (GtkTreeView *tree_view) { @@ -3485,7 +3488,12 @@ gtk_tree_view_dy_to_top_row (GtkTreeView *tree_view) tree_view->priv->top_row_dy = _gtk_rbtree_find_offset (tree_view->priv->tree, tree_view->priv->dy, &tree, &node); - g_assert (tree != NULL); + if (tree == NULL) + { + tree_view->priv->top_row = NULL; + tree_view->priv->top_row_dy = 0; + return; + } path = _gtk_tree_view_find_path (tree_view, tree, node); tree_view->priv->top_row = gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), tree_view->priv->model, path);