[Kde-bindings] KDE/kdebindings/csharp/qyoto

Richard Dale rdale at foton.es
Fri May 18 16:43:47 UTC 2007


On Friday 18 May 2007, Arno Rehn wrote:
> > Note that if you put a 'm->next()' call in  the middle of a marshaller,
> > the code following it is called after the target method has been invoked.
> >
> >     case Marshall::ToObject:
> >     {
> >         // This code is before the method has been called
> >         m->var().s_voidp = &(m->item().s_int);
> >
> >         // This method is called while in the next() call
> >         m->next();
> >
> >         // This code is after the method has been called
> >         m->item().s_int = *((int *)(m->var().s_voidp));
> >     }
>
> Wouldn't that imply that the method is actually called in the marshaller? I
> don't think that is the desired way, is it?
Yes, it is called a few stack frames down from the marshaller, one stack frame 
per marshaller (I only discovered that was how it worked when I saw it 
running under gdb). But it is actually Ashley Winters (PerlQt/Smoke designer) 
being very ingenious, and a feature rather than a bug once you get used to 
the idea.

-- Richard




More information about the Kde-bindings mailing list