[PyKDE] sipTypeDef structure layout and invalid casts

Dave Cuthbert dacut at neolinear.com
Wed Apr 7 21:56:01 BST 2004


Phil Thompson wrote:
> You are (understandably) misunderstanding. You need to look at the hack in 
> siplib.c where createType() is called. The sipTypeDef pointer is passed to 
> createType() and the returned sipWrapperType pointer replaces the original 
> pointer in the table.

Oh, oh, yes, that's it.  Sorry for bugging you -- I've in fact seen this 
before, but it slipped my mind.

It's my bug -- I'm grabbing the sipWrapperType ptr out of that table 
before the module init function is called, when the ptr is invalid.  Doh!

Is there a good way of injecting code into the module init function? 
Right now, I'm using global singleton objects in C++ to force my 
out-of-band initializers to run (hence the race with the module init).
If not, I do have a workaround.

Thanks,
Dave




More information about the PyQt mailing list