With a perl custom treemodel and a perl connected rows-reordered signal, there seems to be a gremlin in the way $model->rows_reordered reaches the signal handler. The slightly nasty reordered.pl below for instance prints $VAR1 = [ 0, undef, where I hoped for the instance object and a treepath in the first two args. The diff below to examples examples/customlist.pl gives also $VAR1 = [ 1, 'rows', I wonder if it might be something like * xs/GtkTreeModel.xs (gtk2perl_tree_model_rows_reordered_marshal): Call gtk_tree_model_iter_n_children before building the stack, in case it's a Perl class and calls out to ITER_N_CHILDREN. This fixes clobbering of instance and treepath args to a Perl rows-reordered handler connected on a Perl model. * t/GtkTreeModelIface.t: Exercise rows-reordered marshalling.
Attachment:
reordered.pl
Description: Text Data
Attachment:
customlist.pl.reorder.diff
Description: Text Data
Attachment:
GtkTreeModel.xs.reorder.diff
Description: Text Data
Attachment:
GtkTreeModelIface.t.reorder.diff
Description: Text Data