[kde-edu]: Step: Crash when enabling opengl

Philippe Widmer phwidmer at gmail.com
Sat Apr 5 22:02:50 CEST 2008


Hi,

after sucessfully compiling step (see my previous mail), I played around with 
it a bit and found the following bug: When I enable or disable the OpenGL 
mode while e.g. one of the tutorials is open, step crashes (backtrace 
attached). 

As far as I unterstand it, the problem is that 
WidgetGraphicsItem::_centralWidget gets deleted, when the current viewport is 
changed in WorldGraphicsView::settingsChanged (as the viewport is the 
_centralWidgets parent). Therefore it is already destroyed when the 
destructor gets called (but it isn't set to 0 obviously). The attached patch 
fixes this for me.

Another problem I found is that in OpenGL mode the text (among other things) 
in the tutorials is not displayed. The boxes of the text are present, but 
there is no text in there (see attached screenshot). The problem seems to be 
between the KTextEdit Widget and the QGLWidget (and other widgets used on top 
of the QGLWidget like the slider of the "stiffness controller" in tutorial 2)

Thanks in advance

phil
-------------- next part --------------
Application: Step (step), signal SIGSEGV
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1258858784 (LWP 5524)]
[New Thread -1282016368 (LWP 5526)]
[KCrash handler]
#5  0x00740000 in ?? ()
#6  0x0808259e in QWidget::hide (this=0x8a2dd08)
    at /home/kde4dev/qt-copy/include/QtGui/../../src/gui/kernel/qwidget.h:474
#7  0x080b776f in ~WidgetGraphicsItem (this=0x8612588)
    at /home/kde4dev/kde/src/KDE/kdeedu/step/step/toolgraphics.cc:138
#8  0x080c3984 in ~NoteGraphicsItem (this=0x8612588)
    at /home/kde4dev/kde/src/KDE/kdeedu/step/step/toolgraphics.h:126
#9  0x080792c2 in WorldScene::worldModelReset (this=0x84b6038)
    at /home/kde4dev/kde/src/KDE/kdeedu/step/step/worldscene.cc:279
#10 0x080794db in WorldScene::settingsChanged (this=0x84b6038)
    at /home/kde4dev/kde/src/KDE/kdeedu/step/step/worldscene.cc:426
#11 0x080796e2 in WorldGraphicsView::settingsChanged (this=0x84b3870)
    at /home/kde4dev/kde/src/KDE/kdeedu/step/step/worldscene.cc:643
#12 0x08079f3c in WorldGraphicsView::qt_metacall (this=0x84b3870, 
    _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfbcfa4c)
    at /home/kde4dev/kde/build/KDE/kdeedu/step/step/worldscene.moc:196
#13 0xb7ed5823 in QMetaObject::activate (sender=0x8295830, 
    from_signal_index=73, to_signal_index=73, argv=0xbfbcfa4c)
    at kernel/qobject.cpp:3007
#14 0xb7ed5ca5 in QMetaObject::activate (sender=0x8295830, m=0xb7b3e68c, 
    local_signal_index=1, argv=0xbfbcfa4c) at kernel/qobject.cpp:3080
#15 0xb7936bd4 in KConfigDialog::settingsChanged (this=0x8295830, 
    _t1=@0xbfbcfa80)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kconfigdialog.moc:102
#16 0xb793725c in KConfigDialog::KConfigDialogPrivate::_k_settingsChangedSlot (
    this=0x853b318)
    at /home/kde4dev/kde/src/KDE/kdelibs/kdeui/dialogs/kconfigdialog.cpp:243
#17 0xb7937587 in KConfigDialog::qt_metacall (this=0x8295830, 
    _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfbcfb04)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kconfigdialog.moc:85
#18 0xb7ed5823 in QMetaObject::activate (sender=0x8272d30, 
    from_signal_index=4, to_signal_index=4, argv=0x0)
    at kernel/qobject.cpp:3007
#19 0xb7ed5ca5 in QMetaObject::activate (sender=0x8272d30, m=0xb7b3e7d8, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3080
#20 0xb7939573 in KConfigDialogManager::settingsChanged (this=0x8272d30)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kconfigdialogmanager.moc:89
#21 0xb7939fb9 in KConfigDialogManager::updateSettings (this=0x8272d30)
    at /home/kde4dev/kde/src/KDE/kdelibs/kdeui/dialogs/kconfigdialogmanager.cpp:385
#22 0xb793bdfd in KConfigDialogManager::qt_metacall (this=0x8272d30, 
    _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfbcfc74)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kconfigdialogmanager.moc:77
#23 0xb7ed5823 in QMetaObject::activate (sender=0x8295830, 
    from_signal_index=42, to_signal_index=42, argv=0x0)
    at kernel/qobject.cpp:3007
#24 0xb7ed5ca5 in QMetaObject::activate (sender=0x8295830, m=0xb7b3e984, 
    local_signal_index=7, argv=0x0) at kernel/qobject.cpp:3080
#25 0xb7945fa9 in KDialog::applyClicked (this=0x8295830)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kdialog.moc:232
#26 0xb7947689 in KDialog::slotButtonClicked (this=0x8295830, button=8)
    at /home/kde4dev/kde/src/KDE/kdelibs/kdeui/dialogs/kdialog.cpp:892
#27 0xb7949f4e in KDialog::qt_metacall (this=0x8295830, 
    _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0xbfbcfe8c)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kdialog.moc:179
#28 0xb7a07b26 in KPageDialog::qt_metacall (this=0x8295830, 
    _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfbcfe8c)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kpagedialog.moc:62
#29 0xb79374aa in KConfigDialog::qt_metacall (this=0x8295830, 
    _c=QMetaObject::InvokeMetaMethod, _id=68, _a=0xbfbcfe8c)
    at /home/kde4dev/kde/build/KDE/kdelibs/kdeui/kconfigdialog.moc:73
#30 0xb7ed5823 in QMetaObject::activate (sender=0x8535260, 
    from_signal_index=4, to_signal_index=4, argv=0xbfbcfe8c)
    at kernel/qobject.cpp:3007
#31 0xb7ed5ca5 in QMetaObject::activate (sender=0x8535260, m=0xb7f6d9d8, 
    local_signal_index=0, argv=0xbfbcfe8c) at kernel/qobject.cpp:3080
#32 0xb7edc7a8 in QSignalMapper::mapped (this=0x8535260, _t1=8)
    at .moc/debug-shared/moc_qsignalmapper.cpp:93
#33 0xb7edc88b in QSignalMapper::map (this=0x8535260, sender=0x84cc098)
    at kernel/qsignalmapper.cpp:277
#34 0xb7edc98c in QSignalMapper::map (this=0x8535260)
    at kernel/qsignalmapper.cpp:268
#35 0xb7edcaef in QSignalMapper::qt_metacall (this=0x8535260, 
    _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0xbfbcfffc)
    at .moc/debug-shared/moc_qsignalmapper.cpp:80
#36 0xb7ed5823 in QMetaObject::activate (sender=0x84cc098, 
    from_signal_index=29, to_signal_index=30, argv=0xbfbcfffc)
    at kernel/qobject.cpp:3007
#37 0xb7ed5a2c in QMetaObject::activate (sender=0x84cc098, m=0xb74595e4, 
    from_local_signal_index=2, to_local_signal_index=3, argv=0xbfbcfffc)
    at kernel/qobject.cpp:3100
#38 0xb737a798 in QAbstractButton::clicked (this=0x84cc098, _t1=false)
    at .moc/debug-shared/moc_qabstractbutton.cpp:185
#39 0xb70d393a in QAbstractButtonPrivate::emitClicked (this=0x854c178)
    at widgets/qabstractbutton.cpp:543
#40 0xb70d4b3b in QAbstractButtonPrivate::click (this=0x854c178)
    at widgets/qabstractbutton.cpp:536
#41 0xb70d4de0 in QAbstractButton::mouseReleaseEvent (this=0x84cc098, 
    e=0xbfbd06e8) at widgets/qabstractbutton.cpp:1112
#42 0xb6db4417 in QWidget::event (this=0x84cc098, event=0xbfbd06e8)
    at kernel/qwidget.cpp:6920
#43 0xb70d38d4 in QAbstractButton::event (this=0x84cc098, e=0xbfbd06e8)
    at widgets/qabstractbutton.cpp:1074
#44 0xb7185785 in QPushButton::event (this=0x84cc098, e=0xbfbd06e8)
    at widgets/qpushbutton.cpp:658
#45 0xb6d56427 in QApplicationPrivate::notify_helper (this=0x815b4e0, 
    receiver=0x84cc098, e=0xbfbd06e8) at kernel/qapplication.cpp:3766
#46 0xb6d56f2e in QApplication::notify (this=0xbfbd0f7c, receiver=0x84cc098, 
    e=0xbfbd06e8) at kernel/qapplication.cpp:3495
#47 0xb79d8729 in KApplication::notify (this=0xbfbd0f7c, receiver=0x84cc098, 
    event=0xbfbd06e8)
    at /home/kde4dev/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#48 0xb7ec1782 in QCoreApplication::notifyInternal (this=0xbfbd0f7c, 
    receiver=0x84cc098, event=0xbfbd06e8) at kernel/qcoreapplication.cpp:583
#49 0xb6d623a9 in QCoreApplication::sendSpontaneousEvent (receiver=0x84cc098, 
    event=0xbfbd06e8)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#50 0xb6d5d2a8 in QApplicationPrivate::sendMouseEvent (receiver=0x84cc098, 
    event=0xbfbd06e8, alienWidget=0x84cc098, nativeWidget=0x8295830, 
    buttonDown=0xb7466be0, lastMouseReceiver=@0xb7466be4)
    at kernel/qapplication.cpp:2760
#51 0xb6dd0d20 in QETWidget::translateMouseEvent (this=0x8295830, 
    event=0xbfbd0ccc) at kernel/qapplication_x11.cpp:4112
#52 0xb6dce39f in QApplication::x11ProcessEvent (this=0xbfbd0f7c, 
    event=0xbfbd0ccc) at kernel/qapplication_x11.cpp:3112
#53 0xb6dfdfd1 in x11EventSourceDispatch (s=0x815e340, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#54 0xb5c4811c in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#55 0xb5c4b55f in ?? () from /usr/lib/libglib-2.0.so.0
#56 0x0815d658 in ?? ()
#57 0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()
-------------- next part --------------
A non-text attachment was scrubbed...
Name: step_without_text.jpg
Type: image/jpeg
Size: 17887 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-edu/attachments/20080405/714c3fdf/attachment-0001.jpg 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Step_Avoid_crash_on_changing_to_opengl.diff
Type: text/x-diff
Size: 466 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-edu/attachments/20080405/714c3fdf/attachment-0001.bin 


More information about the kde-edu mailing list