2005-08-15 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkiconview.c (gtk_icon_view_select_path)
+ (gtk_icon_view_scroll_to_path): Handle paths of depth 0
+ gracefully. (#312796, Jonathan Blandford)
+
* tests/testtoolbar.c: Add some more tests for menu placement.
* gtk/gtkmenutoolbutton.c (menu_position_func):
2005-08-15 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkiconview.c (gtk_icon_view_select_path)
+ (gtk_icon_view_scroll_to_path): Handle paths of depth 0
+ gracefully. (#312796, Jonathan Blandford)
+
* tests/testtoolbar.c: Add some more tests for menu placement.
* gtk/gtkmenutoolbutton.c (menu_position_func):
2005-08-15 Matthias Clasen <mclasen@redhat.com>
+ * gtk/gtkiconview.c (gtk_icon_view_select_path)
+ (gtk_icon_view_scroll_to_path): Handle paths of depth 0
+ gracefully. (#312796, Jonathan Blandford)
+
* tests/testtoolbar.c: Add some more tests for menu placement.
* gtk/gtkmenutoolbutton.c (menu_position_func):
gfloat row_align,
gfloat col_align)
{
- GtkIconViewItem *item;
+ GtkIconViewItem *item = NULL;
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
g_return_if_fail (path != NULL);
g_return_if_fail (row_align >= 0.0 && row_align <= 1.0);
g_return_if_fail (col_align >= 0.0 && col_align <= 1.0);
- item = g_list_nth (icon_view->priv->items,
- gtk_tree_path_get_indices(path)[0])->data;
+ if (gtk_tree_path_get_depth (path) > 0)
+ item = g_list_nth_data (icon_view->priv->items,
+ gtk_tree_path_get_indices(path)[0]);
if (!item)
return;
gtk_icon_view_select_path (GtkIconView *icon_view,
GtkTreePath *path)
{
- GList *l;
+ GtkIconViewItem *item = NULL;
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
g_return_if_fail (icon_view->priv->model != NULL);
g_return_if_fail (path != NULL);
- l = g_list_nth (icon_view->priv->items,
- gtk_tree_path_get_indices(path)[0]);
+ if (gtk_tree_path_get_depth (path) > 0)
+ item = g_list_nth_data (icon_view->priv->items,
+ gtk_tree_path_get_indices(path)[0]);
- if (l != NULL)
- gtk_icon_view_select_item (icon_view, l->data);
+ if (item)
+ gtk_icon_view_select_item (icon_view, item);
}
/**