[PyQt] getting reference to a QPainter crashes application
chambers at imageworks.com
Sat Sep 22 01:55:45 BST 2007
Currently I'm running the latest PyQT 4.3 snapshot with the offical 4.3
release of Sip and Qt 4.3.1, although the problem is still there with
PyQt 4.3 official release.
What I have is a QWidget which is basically my own type of progress bar
embedded in a QTreeWidgetItem.
progressBar = jobProgressBar.JobProgressBar(cjob,self)
self.setItemWidget(item, self.columnCount() -1, progressBar)
in jobProgressBar.JobProgressBar I override paintEvent to draw my custom
I'm getting two types of crashes, one where the qpainter pointer is
freed but its already null, and one where the qpainter pointer address
changes during destruction. Its basically the same stack trace except
isActive shows a different memory address than the previous line.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217782864 (LWP 20039)]
0x024bfbd8 in QPainter::isActive (this=0x0) at painting/qpainter.cpp:1092
1092 painting/qpainter.cpp: No such file or directory.
Current language: auto; currently c++
#0 0x024bfbd8 in QPainter::isActive (this=0x0) at
#1 0x024c359f in ~QPainter (this=0xa6a8fd0) at painting/qpainter.cpp:1064
#2 0x013b8ab7 in release_QPainter (ptr=0xa6a8fd0) at
#3 0x013b8b00 in dealloc_QPainter (sipSelf=0xb314aa6c) at
#4 0x001a90e6 in initsip () from /usr/local/lib/python2.4/pyqt-4.3/sip.so
#5 0x00255e2f in subtype_dealloc (self=0xb314aa6c) at
The funny thing is, this happens just by getting a reference to a
QPainter, I don't actually have to paint anything. For example, this is
enough to do it:
p = QtGui.QPainter(self)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the PyQt