custom model rows-reordered marshal



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]