[PyQt] PyQt 3.18.1 qApp.translate() issues since sip 4.11.1 (at least)
Hans-Peter Jansen
hpj at urpla.net
Sun Oct 10 23:33:18 BST 2010
On Saturday 09 October 2010, 15:26:45 Phil Thompson wrote:
> On Thu, 7 Oct 2010 20:53:51 +0200, "Hans-Peter Jansen"
> >
> > Okay, here we go. It's bigger then I hoped, and does don't crash
> > reliable. It behaves fine most of the time, and the issue happens
> > at a random point, either immediately after start:
> >
> > Traceback (most recent call last):
> > File "./testapp.py", line 49, in <module>
> > win = TestWin()
> > File "testwin.py", line 15, in __init__
> > TestWinBase.__init__(self, parent, name, fl)
> > File "testwinbase.py", line 43, in __init__
> > self.languageChange()
> > File "testwinbase.py", line 50, in languageChange
> > self.setCaption(self.__tr("TestWin"))
> > File "testwinbase.py", line 61, in __tr
> > return qApp.translate("TestWinBase",s,c)
> > RuntimeError: underlying C/C++ object has been deleted
> >
> > or periodically during execution:
> >
> > $ LANG=de_DE ./testapp.py
> > Traceback (most recent call last):
> > File "testwin.py", line 34, in statusTimeout
> > qApp.mainWidget().statusBar().message(self.__tr(
> > RuntimeError: underlying C/C++ object has been deleted
> > Traceback (most recent call last):
> > File "testwin.py", line 31, in statusTimeout
> > qApp.mainWidget().staticMsg.setText(self.__tr("Running since:
> > %1") RuntimeError: underlying C/C++ object has been deleted
> > Traceback (most recent call last):
> > File "testwin.py", line 31, in statusTimeout
> > qApp.mainWidget().staticMsg.setText(self.__tr("Running since:
> > %1") RuntimeError: underlying C/C++ object has been deleted
> > Traceback (most recent call last):
> > File "testwin.py", line 31, in statusTimeout
> > qApp.mainWidget().staticMsg.setText(self.__tr("Running since:
> > %1") RuntimeError: underlying C/C++ object has been deleted
> >
> > Interacting with the "do nothing" menu item seems to contribute to
> > the problem, but again in elusive ways. This pretty much
> > constitutes a heisenbug, that it is. It happened also in both the
> > "de_DE" and the "C" locale, and it should appear within two dozen
> > tries..
> >
>
> Should be fixed in tonight's SIP snapshot.
Thanks to the snapshot builds, I've announced a short while ago, I'm
able to test your current versions much more comfortable, which are:
Python version: 2.6
sip version: 4.11.2-snapshot-43c2359df596
Qt4 version: 4.6.3
PyQt4 version: snapshot-4.8-d3b4450b28c5
Although much harder to trigger with my testapp, it's not cured
unfortunately. I'm still harvesting these beasts:
$ ./testapp.py
Traceback (most recent call last):
File "./testapp.py", line 54, in <module>
qApp.mainWidget().statusBar().message(
RuntimeError: underlying C/C++ object has been deleted
$ ./testapp.py
Traceback (most recent call last):
File "./testapp.py", line 49, in <module>
win = TestWin()
File "testwin.py", line 15, in __init__
TestWinBase.__init__(self, parent, name, fl)
File "testwinbase.py", line 43, in __init__
self.languageChange()
File "testwinbase.py", line 50, in languageChange
self.setCaption(self.__tr("TestWin"))
File "testwinbase.py", line 61, in __tr
return qApp.translate("TestWinBase",s,c)
RuntimeError: underlying C/C++ object has been deleted
BTW, complex UI code seems to trigger it much more reliable.
Pete
More information about the PyQt
mailing list