tags 545616 + patch thanks Hi,
Attached is a patch for t/GtkTreeView.t to fix the FTBFS (with many thanks to Kristian Rietveld). Quoting himself for the background: > > (<unknown>:20960): Gtk-CRITICAL **: gtk_tree_path_to_string: assertion > > `path != NULL' failed > > path=(null) > > > > Am I still doing something wrong? > > Setting the cursor still fails because path "1:0" is not visible in > the tree view (although the path does exist in the model). It is not > visible in the tree view because node "1" is collapsed. If you expand > node "1" first, then the call to gtk_tree_view_set_cursor() will > succeed as well as the call to gtk_tree_view_get_cursor(). > > > The problem I'm trying to reproduce is the testcase from > > http://git.gnome.org/cgit/perl-Gtk2/tree/t/GtkTreeView.t. This one fails > > in line 233 (->to_string()) on recent Debian system, because it seems > > the path returned is NULL. So I'm trying to program this in C to check, > > if the result is the same. And it seems to be the case. > > The reason why this is failing now is probably because there have been > some changes in this area in trunk recently, making the behavior more > strict. The solution is as simple as calling e.g. $view->expand_all() before setting the cursor. This can be more fine-grained in the official test-suite. IMO you should forward this issue. Regards, Daniel
Expand the GtkTreeView. Otherwise set_cursor() will fail, making get_cursor() return NULL, making to_string() error out with Can't call method "to_string" on an undefined value at t/GtkTreeView.t line 233. --- a/t/GtkTreeView.t +++ b/t/GtkTreeView.t @@ -229,6 +229,7 @@ isa_ok($view -> get_background_area(undef, $view_column_two), "Gtk2::Gdk::Rectangle"); isa_ok($view -> get_background_area($path, undef), "Gtk2::Gdk::Rectangle"); +$view -> expand_all(); $view -> set_cursor(Gtk2::TreePath -> new("1:0"), $view_column_one, 0); is(($view -> get_cursor()[0]->to_string()), "1:0"); is(($view -> get_cursor())[1], $view_column_one); @@ -614,6 +615,7 @@ skip("set_cursor_on_cell is new in 2.2.x", 2) unless Gtk2->CHECK_VERSION (2, 2, 0); + $view -> expand_all(); $view -> set_cursor_on_cell(Gtk2::TreePath -> new("1:1"), $view_column, $cell_renderer,
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil