Re: custom model rows-reordered marshal
- From: Torsten Schoenfeld <kaffeetisch gmx de>
- To: gtk-perl-list gnome org
- Subject: Re: custom model rows-reordered marshal
- Date: Sun, 03 Aug 2008 20:09:32 +0200
Kevin Ryde wrote:
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. [...
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.
Yeah, I think you're right. When we call out to
gtk_tree_model_iter_n_children and thus eventually ITER_N_CHILDREN, our local
stack *pointer* is not modified (since it's local), but the actual stack
contents are, and this is what you saw.
Committed to both branches. Thanks! (Unfortunately, I didn't see the
ChangeLog entry you wrote up early enough to use it for the commit. Sorry.)
--
Bye,
-Torsten
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]