[PySide] building PySide 1.1.1 against Qt 4.8.1 on windows

Bjørn Helge Kjøsnes bjelge at nefines.com
Tue May 1 19:13:54 CEST 2012


I have spent some time to figure out why this error is happening, but 
progress is slow due to total lack of experience with shiboken code and 
the type system and how to best debug this on Windows, so any help would 
be appreciated.

So far I have found that it is the new open methods in QFile and in 
QFSFileEngine that not are added to the generated wrappers. It is only 
one open method added from the class and one for the parent class. The 
reason for these open methods not being added is that they have been 
marked by the apiextractor to have the Final flag set and therefor 
skipped in the CppGenerator::generateClass method. The code expecting to 
use these method to support overloaded methods in Python are generating 
code expecting these methods.

The code where generating of code is skipped are in cppgenerator.cpp 
around line 250:
             else if ((!avoidProtectedHack() || 
&& (func->isVirtual() || func->isAbstract()))
                 writeVirtualMethodNative(s, func);

The func->isVirtual() returns true because the final flag is set and not 
because it is a virtual method.

I am now trying to figure out why the Final flag is set in these 
methods, so if anybody can point me to where this is done, please do so.

Bjorn Helge Kjosnes

On 01.05.2012 18:20, Joel B. Mohler wrote:
> Hello,
> The old bugtracker has http://bugs.pyside.org/show_bug.cgi?id=1079
> closed due to the move to qt-project.  I'm now trying the build as
> according to http://qt-project.org/wiki/Building_PySide_on_Windows and
> running into this same bug.
> I'm going to report it on on the new tracker and make an effort to fix
> it myself, but I would appreciate if anybody else has some sort of
> progress on a fix to relay any pointers.
> Thanks,
> Joel
> _______________________________________________
> PySide mailing list
> PySide at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/pyside

More information about the PySide mailing list