[PyKDE] Segmentation fault with latest snapshot of sip & PyQt

Gordon Tyler gordon at doxxx.net
Mon Jun 2 21:21:01 BST 2003


Gordon Tyler wrote:
> I'm going to poke around the KDE source for the HighCOlor plugin to see 
> if I can figure out what it's doing when it calls into libstdc++.

Looking at kdelibs/kstyles/highcolor/highcolor.cpp in the 
HighColorStyle::eventFilter() method, the following statement occurs 
near the beginning of the method:

bool HighColorStyle::eventFilter( QObject *object, QEvent *event )
{
	...

	QPushButton* button = dynamic_cast<QPushButton*>(object);


Here's the backtrace again:

#0  0x400f9a93 in __dynamic_cast () from /usr/lib/libstdc++.so.5
#1  0x414b561f in HighColorStyle::eventFilter ()
    from /usr/lib/kde3/plugins/styles/highcolor.so
#2  0x4048cb10 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#3  0x4048c9f1 in QObject::event () from /usr/lib/libqt-mt.so.3
#4  0x404b9375 in QWidget::event () from /usr/lib/libqt-mt.so.3
#5  0x411b3341 in sipQPushButton::event (this=0x82c8a90, a0=0x82c9758)
     at sipqtQRadioButton.cpp:3382
#6  0x4043c4da in QApplication::internalNotify () from 
/usr/lib/libqt-mt.so.3
#7  0x4043c2e4 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#8  0x413fabb4 in sipQApplication::notify (this=0x824a5f8, a0=0x82c8a90,
     a1=0x82c9758) at sipqtQApplication.cpp:221
#9  0x4043d1bd in QApplication::sendPostedEvents () from
/usr/lib/libqt-mt.so.3
#10 0x404b8e1f in QWidget::polish () from /usr/lib/libqt-mt.so.3
#11 0x411b46ee in sipQPushButton::polish (this=0x82c8a90)
     at sipqtQRadioButton.cpp:3709
#12 0x4055b52b in QPushButton::sizeHint () from /usr/lib/libqt-mt.so.3
#13 0x411b9f7e in sipDo_QPushButton_sizeHint (sipThisObj=0x82cfbb0,
     sipArgs=0x810c0cc) at sipqtQPushButton.cpp:2818

Since the backtrace involves QPushButton, it would seem that this line 
in highcolor.cpp is probably causing the segfault. Any ideas why?

Ciao,
Gordon




More information about the PyQt mailing list