[PyQt] sip 4.8.2 error: sip: Unsupported type argument to type2string()

Diez B. Roggisch deets at web.de
Fri Aug 28 13:47:29 BST 2009


Hi,


as always, your support is plain awesome!

See below for a follow-up-question:

>> the subject pretty much says it all. I upgraded to the latest SIP 
>> because I experienced a strange endless-loop-kind of behavior in the 
>> 4.7.* I had before, and now my building bails out with the
>>
>>   sip: Unsupported type argument to type2string()
>>
>> error message.
>>
>> You can find the mercurial repository at
>>
>>   https://bitbucket.org/deets/irrsinn/
>>
>> Any ideas?
> 
> Two changes in tonight's snapshot...
> 
> ...to fix the type2string() problem
> 
> ...to detect recursive class hierarchies - it's now obvious what's causing
> your looping.


Great, I've been bitten by that before - but this time there was quite a 
bit of time between altering the source, and trying to compile it again, 
so I forgot.

> You also have a couple of syntax errors - forgetting the // around
> annotations.


Yep, saw these - it was the first time I was using them anyway, and thus 
  I hadn't the syntax down.

And the reason I started with them is that I have a 
memory-management-issue that is beyond my current understanding.

The library I'm wrapping employs it's own refcounting-scheme. The calls 
"grab" and "drop" are used to in- and decrease the refcounter.

Now this leaves me with the problem that

  - when I drop() an object, it get's garbage-collected by C++ - but 
Python keeps a reference, and will of course attempt to de-allocate the 
object again.

  - when I *don't* drop(), and the object is GC'ed by python, there 
should be an implicit drop() called. I don't see a special method 
"__del__" which I could use to do that.

So - any suggestions how to tie these two memory-management-systems 
together?

Diez


More information about the PyQt mailing list