[PyKDE] PyKDE 3.11-alpha6 with sip4

Phil Thompson phil at riverbankcomputing.co.uk
Sun Apr 25 00:49:00 BST 2004


On Saturday 24 April 2004 10:43 pm, Torsten Marek wrote:
> >>- 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.
>
> Sorry, I was not clear enough. The problem are the following to
> functions of KShortcutList:
>
>      virtual const KShortcut& shortcut (uint) const = 0;
>      virtual const KShortcut& shortcutDefault (uint) const = 0;
>
> They are abstract, thus sipKShortcutList::shortcut(...) and
> KShortcutList::shortcutDefault(...) try to create a new instance of
> KShortcut if no Python method is defined, since they cannot call a class
> method in KShortcutList. The problem is that they create it with
> if(!meth)
> 	return *new const KShortcut&();
> which fails to compile, it complains that it is not possible to create a
> simple type with new.

Can you try tonight's SIP v4 snapshot - I just suppressed the "const" and the 
"&" (untested).

Phil




More information about the PyQt mailing list