Runaway QSlider

Guillaume Laurent glaurent at telegraph-road.org
Wed Mar 3 21:49:49 GMT 2004


We have a strange bug in Rosegarden : a QSlider, when clicked on the ruler
part to move its cursor one notch, goes mad and suddenly slides all the way
to the last notch. It's just like instead of a single click you had a bunch of
quick repeated ones.

At first I suspected some sort of signal feedback, but that's apparently not
the case. For a start, it doesn't happen all the time. Then I managed to get
a stack trace of slot connected to the valueChanged() signal so as to see
where the "ghost clicks" come from. Here it is :

#6  0x0823a570 in NotationView::slotChangeFontSizeFromIndex(int) (this=0x8b40c80, n=6) at notationviewslots.cpp:302
#7  0x083b5988 in NotationView::qt_invoke(int, QUObject*) (this=0x8b40c80, _id=240, _o=0xbfffeb80) at notationview.moc.cpp:777
#8  0x40c19307 in QObject::activate_signal(QConnectionList*, QUObject*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#9  0x40c19448 in QObject::activate_signal(int, int) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#10 0x40f0d298 in QSlider::valueChanged(int) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#11 0x40d1ab89 in QSlider::valueChange() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#12 0x40d11be4 in QRangeControl::setValue(int) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#13 0x40d11c55 in QRangeControl::addPage() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#14 0x40d1b9ef in QSlider::addStep() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#15 0x40f0d3cb in QSlider::qt_invoke(int, QUObject*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#16 0x40c19307 in QObject::activate_signal(QConnectionList*, QUObject*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#17 0x40c1914c in QObject::activate_signal(int) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#18 0x40ef9f25 in QTimer::timeout() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#19 0x40c37979 in QTimer::event(QEvent*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#20 0x40bc29e4 in QApplication::internalNotify(QObject*, QEvent*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#21 0x40bc20c9 in QApplication::notify(QObject*, QEvent*) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#22 0x407eb64d in KApplication::notify(QObject*, QEvent*) () from /opt/kde3.2/lib/libkdecore.so.4
#23 0x40bb2c9e in QEventLoop::activateTimers() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#24 0x40b74597 in QEventLoop::processEvents(unsigned) () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#25 0x40bd461f in QEventLoop::enterLoop() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#26 0x40bd44d4 in QEventLoop::exec() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#27 0x40bc2c20 in QApplication::exec() () from /home/opt/qt-x11-free-3.2.2/lib/libqt-mt.so.3
#28 0x08182f68 in main (argc=3, argv=0xbffff484) at main.cpp:611
#29 0x41380c57 in __libc_start_main () from /lib/i686/libc.so.6

and I have no frickin' clue of what happens :-). Is the signal caused by 
some internal timers or something ? Apparently that would be a KApplication
or Qt bug but I find this unlikely.

-- 
						Guillaume.
						http://www.telegraph-road.org




More information about the kde-core-devel mailing list