[PyKDE] PyKDE 3.11-alpha6 with sip4

Jim Bublitz jbublitz at nwinternet.com
Sat Apr 24 23:11:01 BST 2004


On Saturday April 24 2004 11:27, Torsten Marek wrote:
> Hello Jim,

> I spend my afternoon and I finally got dcop and kdecore to
> compile for now. The issues are:

> - missing casts (can be solved by little script, as you
> proposed, actually, I used sed)

> - missing include of fixx11h.h
> 	It just does not get included. If I add it in TypeHeaderCode
> of fixx11h.sip, it will be included before the X includes,
> which makes it useless. Temporary workaround for kdecore: add
> #undef Unsorted
> to sipqtQDir.h

fixx11.sip is empty right now, probably because of some #defines 
or #undefs I didn't do. You can add the #undef in the 
TypeHeaderCode block too if that helps, or add a modified 
fixx11.h to the extra/kde32* directories - fixx11 is on my list 
of things to look at anyway. 

However, as far as I can tell, nothing else in kdelibs depends on 
fixx11.h - I didn't worry about the empty sip file, because it 
wasn't supposed to be in PyKDE in the first place. It's ignored 
when I select files now, but because there was a sip file 
created that I didn't delete, it gets copied into a new release 
automatically - treated as an obsolete or legacy file. It 
shouldn't be generating any code.

Do you know of a reason it's needed in PyKDE?

> - sip4 can't handle return types which are references to
> complex types with abstract functions
> 	This is the case for KShortcutList::shortcut(int) and
> ::defaultShortcut(int). Both return "const KShortcut&". If
> :: circumvented
> this issue by removing
> if(!meth)
> 	return *new const KShortcut&();
> from both virtual handlers in sipKShortcutList. But to
> actually solve this issue, we need Phil's assistance.

KShortcut isn't abstract, I don't think. Not sure what's going on 
here.

> - there was %MemberCode somewhere in the .sips - just changed
> it to %MethodCode.

The only one I found is in kio/kurifilter.sip. Shouldn't have 
missed it, but it's an easy fix (next alpha release). I might 
have copied over an old file from a previous version.

> configure.py runs fine.

> So what we need is a solution for the fixx11h.h and the
> abstract method return types.
> I checked and I was able to import kdecore, but I did not run
> any intensive tests, and the example scripts all another
> module.

Thanks - this is really helpful.

Jim




More information about the PyQt mailing list