diff --git a/ChangeLog b/ChangeLog index dd1f9f84c4..2db93cb63a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,7 +2,9 @@ * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Don't leak dash_list. - + (gtk_tree_view_set_column_drag_info): Don't crash if the + column_drop_func says always no. (#344850, Christian Weiske) + Make transparent tray icons work. (#320034, based on a patch by Dan Winship) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index dd1f9f84c4..2db93cb63a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -2,7 +2,9 @@ * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Don't leak dash_list. - + (gtk_tree_view_set_column_drag_info): Don't crash if the + column_drop_func says always no. (#344850, Christian Weiske) + Make transparent tray icons work. (#320034, based on a patch by Dan Winship) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index aa670a8a9f..4307f9c7d0 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -9028,9 +9028,10 @@ gtk_tree_view_set_column_drag_info (GtkTreeView *tree_view, /* We know there are always 2 slots possbile, as you can always return column. */ /* If that's all there is, return */ - if (tree_view->priv->column_drag_info->next->next == NULL && - ((GtkTreeViewColumnReorder *)tree_view->priv->column_drag_info->data)->right_column == column && - ((GtkTreeViewColumnReorder *)tree_view->priv->column_drag_info->next->data)->left_column == column) + if (g_list_length (tree_view->priv->column_drag_info) < 2 || + (tree_view->priv->column_drag_info->next->next == NULL && + ((GtkTreeViewColumnReorder *)tree_view->priv->column_drag_info->data)->right_column == column && + ((GtkTreeViewColumnReorder *)tree_view->priv->column_drag_info->next->data)->left_column == column)) { for (tmp_list = tree_view->priv->column_drag_info; tmp_list; tmp_list = tmp_list->next) g_free (tmp_list->data);