[PyKDE] A few snapshot-20051219 problems

Detlev Offenbach detlev at die-offenbachs.de
Tue Dec 20 18:33:40 GMT 2005


Am Dienstag, 20. Dezember 2005 09:40 schrieb Phil Thompson:
> On Tuesday 20 December 2005 7:27 am, Gerard Vermeulen wrote:
> > (1) A typo:
> >
> > --- sip-snapshot-20051219/sipconfig.py.gv       2005-12-20
> > 07:40:52.000000000 +0100 +++ sip-snapshot-20051219/sipconfig.py 
> > 2005-12-20 08:04:31.000000000 +0100 @@ -564,7 +564,7 @@
> >              if self.config.qt_version >= 0x040000:
> >                  # This is really just a help for PyQt's configure.py
> > when it is # detecting what Qt modules are available.
> > -                qtmods = self.config.pyqt_modules[:]
> > +                qtmods = self.config.pyqt_modules.split()
> >                  qtmods.extend(self._qt)
> >
> >                  for mod in qtmods:
> > sip.patch lines 1-11/11 (END)
>
> That's wrong. There is a problem but it's a bit more fundamental.
>
> > (2) I think that it is really weird that the script below segfaults
> >     (especially since it is so easy to workaround).
> >     Sorry for reposting, but am I the only guy who has this problem?
> >
> > #!/usr/bin/env python
> >
> > crash = True
> > # uncomment the next line and the script will not crash
> > # crash = False
> >
> > import sys
> > import sip
> > sip.settracemask(0x3f)
> > from PyQt4 import  QtGui
> >
> > def make():
> >     demo = QtGui.QLabel('I did not crash')
> >     if crash:
> >         demo.show()
> >     return demo
> >
> > # make()
> >
> > def main(args):
> >     app = QtGui.QApplication(args)
> >     demo = make()
> >     if not crash:
> >         demo.show()
> >     app.exec_()
> >
> > # main()
> >
> > if __name__ == '__main__':
> >     main(sys.argv)
> > Label.py lines 1-30/30 (END)
>
> Several people have reported a very similar problem - I'm collecting test
> cases at the moment. The problem has to do with the command line arguments.
> In Qt3 these are only used in the QApplication ctor, but in Qt4 they are
> saved and used in show(). I did have a bug where argc was on the stack and
> so was garbage by the time show() was called - this bug looks very similar.
>

Today I came across a similar problem. I have a QMainWindow subclass with an 
overridden show() method. Once this method hits the call to 
QMainWindow.show(self) it seg faults.

Detlev
-- 
Detlev Offenbach
detlev at die-offenbachs.de




More information about the PyQt mailing list