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