X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?p=xscreensaver;a=blobdiff_plain;f=driver%2Fdemo-Gtk.c;h=3a3f2d6f1c2a0aec019ca8276744511d46a8b4d7;hp=486e4a48cb91d45c4b9a5b2436c95d48b7f3a38e;hb=723c9eeee862766a1534b2ce17b78adbfac1c3be;hpb=13dbc569cdc6e29019722c0ef9b932a925efbcad diff --git a/driver/demo-Gtk.c b/driver/demo-Gtk.c index 486e4a48..3a3f2d6f 100644 --- a/driver/demo-Gtk.c +++ b/driver/demo-Gtk.c @@ -266,7 +266,19 @@ static void ensure_selected_item_visible (GtkWidget *widget) { #ifdef HAVE_GTK2 + GtkTreePath *path; + GtkTreeSelection *selection; + GtkTreeIter iter; + GtkTreeModel *model; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) + return; + path = gtk_tree_model_get_path (model, &iter); + + gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (widget), + path, NULL, FALSE, 0.0, 0.0); #else /* !HAVE_GTK2 */ GtkScrolledWindow *scroller = 0; @@ -1700,7 +1712,7 @@ list_checkbox_cb ( GtkList *list = GTK_LIST (GTK_WIDGET (line)->parent); GtkViewport *vp = GTK_VIEWPORT (GTK_WIDGET (list)->parent); GtkScrolledWindow *scroller = GTK_SCROLLED_WINDOW (GTK_WIDGET (vp)->parent); -#endif /* ~HAVE_GTK2 */ +#endif /* !HAVE_GTK2 */ GtkAdjustment *adj; double scroll_top;