Bug 345336 - Crash on deletion of Tab widget in Form Design
Summary: Crash on deletion of Tab widget in Form Design
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: Forms (show other bugs)
Version: 2.9.1
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 2.9.2
Assignee: Kamil Łysik
URL:
Keywords: drkonqi, junior-jobs
Depends on:
Blocks:
 
Reported: 2015-03-19 12:52 UTC by Ian Balchin
Modified: 2015-03-28 22:50 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.9.2


Attachments
image showing tab widget (122.26 KB, image/gif)
2015-03-19 12:55 UTC, Ian Balchin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Balchin 2015-03-19 12:52:37 UTC
Application: kexi (2.9.1 (git 60518b7 calligra/2.9))
KDE Platform Version: 4.14.2 (Compiled from sources)
Qt Version: 4.8.6
Operating System: Linux 3.13.0-37-generic x86_64
Distribution: Linux Mint 17.1 Rebecca

-- Information about the crash:
I am in form design mode, I highlight the Tab Widget (little black squares around the widget) and then right-click same and select Delete (or Cut). Immediate crash occurs.

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#5  0x00007f35d9cbca4a in QTreeWidgetItem::parent (this=0x0) at /usr/include/qt4/QtGui/qtreewidget.h:183
#6  0x00007f35d9cbbe09 in KFormDesigner::WidgetTreeWidget::removeItem (this=0x176fc70, item=0x17dad80) at /home/inksi/kde4/src/calligra/kexi/formeditor/WidgetTreeWidget.cpp:434
#7  0x00007f35d9cbc77f in KFormDesigner::WidgetTreeWidget::qt_static_metacall (_o=0x176fc70, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fff3015ab80) at /home/inksi/kde4/build/calligra/kexi/formeditor/WidgetTreeWidget.moc:66
#8  0x00007f3606f3d87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f35d9c9d201 in KFormDesigner::Form::childRemoved (this=0x1788fb0, _t1=0x17dad80) at /home/inksi/kde4/build/calligra/kexi/formeditor/form.moc:285
#10 0x00007f35d9c922d1 in KFormDesigner::Form::emitChildRemoved (this=0x1788fb0, item=0x17dad80) at /home/inksi/kde4/src/calligra/kexi/formeditor/form.cpp:781
#11 0x00007f35d9caa02b in KFormDesigner::ObjectTree::removeItem (this=0x16dcef0, c=0x17dad80) at /home/inksi/kde4/src/calligra/kexi/formeditor/objecttree.cpp:363
#12 0x00007f35d9ca9fbc in KFormDesigner::ObjectTree::removeItem (this=0x16dcef0, name=...) at /home/inksi/kde4/src/calligra/kexi/formeditor/objecttree.cpp:356
#13 0x00007f35d9caa088 in KFormDesigner::ObjectTree::removeItem (this=0x16dcef0, c=0x17d5e20) at /home/inksi/kde4/src/calligra/kexi/formeditor/objecttree.cpp:366
#14 0x00007f35d9c79b22 in KFormDesigner::Container::deleteWidget (this=0x1789270, w=0x17d4580) at /home/inksi/kde4/src/calligra/kexi/formeditor/container.cpp:802
#15 0x00007f35d9cc7014 in KFormDesigner::DeleteWidgetCommand::execute (this=0x193d7e0) at /home/inksi/kde4/src/calligra/kexi/formeditor/commands.cpp:1426
#16 0x00007f35d9cbd699 in KFormDesigner::Command::redo (this=0x193d7e0) at /home/inksi/kde4/src/calligra/kexi/formeditor/commands.cpp:83
#17 0x00007f35fbb0f1f8 in KUndo2Command::redoMergedCommands (this=0x193d7e0) at /home/inksi/kde4/src/calligra/libs/kundo2/kundo2stack.cpp:397
#18 0x00007f35fbb0f94d in KUndo2QStack::push (this=0x1789948, cmd=0x193d7e0) at /home/inksi/kde4/src/calligra/libs/kundo2/kundo2stack.cpp:673
#19 0x00007f35d9c92370 in KFormDesigner::Form::addCommand (this=0x1788fb0, command=0x193d7e0, option=KFormDesigner::Form::ExecuteCommand) at /home/inksi/kde4/src/calligra/kexi/formeditor/form.cpp:799
#20 0x00007f35d9c979e7 in KFormDesigner::Form::deleteWidget (this=0x1788fb0) at /home/inksi/kde4/src/calligra/kexi/formeditor/form.cpp:1884
#21 0x00007f35d9c9cd5e in KFormDesigner::Form::qt_static_metacall (_o=0x1788fb0, _c=QMetaObject::InvokeMetaMethod, _id=27, _a=0x7fff3015b010) at /home/inksi/kde4/build/calligra/kexi/formeditor/form.moc:187
#22 0x00007f3606f3d87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#23 0x00007f3608437e13 in KexiActionProxySignal::invoke (this=0x17c91d0) at /home/inksi/kde4/build/calligra/kexi/core/kexiactionproxy_p.moc:97
#24 0x00007f3608437eb8 in KexiActionProxySignal::activate (this=0x17c91d0) at /home/inksi/kde4/src/calligra/kexi/core/kexiactionproxy_p.h:33
#25 0x00007f3608437776 in KexiActionProxy::activateSharedAction (this=0x177e5a8, action_name=..., alsoCheckInChildren=true) at /home/inksi/kde4/src/calligra/kexi/core/kexiactionproxy.cpp:171
#26 0x00007f36084397b4 in KexiSharedActionHostPrivate::slotAction (this=0xf32b50, act_id=...) at /home/inksi/kde4/src/calligra/kexi/core/kexisharedactionhost.cpp:57
#27 0x00007f360843a952 in KexiSharedActionHostPrivate::qt_static_metacall (_o=0xf32b50, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff3015b320) at /home/inksi/kde4/build/calligra/kexi/core/kexisharedactionhost_p.moc:49
#28 0x00007f3606f3d87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#29 0x00007f3606f44ff5 in QSignalMapper::mapped(QString const&) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#30 0x00007f3606f45110 in QSignalMapper::map(QObject*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#31 0x00007f3606f3d87a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#32 0x00007f3607454b01 in QAction::activated(int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f3607456449 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f3607884489 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007f36078889b9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#36 0x00007f360501b615 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#37 0x00007f36074aa50a in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007f360788c7bb in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007f360745ae2c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007f36074615dd in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#41 0x00007f3604f64cca in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#42 0x00007f3606f294dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x00007f3607460d93 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#44 0x00007f36074d5cfc in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007f36074d5269 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#46 0x00007f36074fcb02 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#47 0x00007f36029b1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f36029b2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f36029b20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f3606f567a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#51 0x00007f36074fcbb6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#52 0x00007f3606f280af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#53 0x00007f3606f283a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#54 0x00007f360788b587 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#55 0x00007f35d9c9777a in KFormDesigner::Form::createContextMenu (this=0x1788fb0, w=0x17d4580, container=0x1789270, menuPos=..., target=KFormDesigner::Form::FormContextMenuTarget) at /home/inksi/kde4/src/calligra/kexi/formeditor/form.cpp:1851
#56 0x00007f35d9c79325 in KFormDesigner::Container::eventFilter (this=0x1789270, s=0x17d4580, e=0x7fff3015cab0) at /home/inksi/kde4/src/calligra/kexi/formeditor/container.cpp:678
#57 0x00007f35d9c769cc in KFormDesigner::EventEater::eventFilter (this=0x17d5d50, o=0x17d4e90, ev=0x7fff3015cab0) at /home/inksi/kde4/src/calligra/kexi/formeditor/container.cpp:72
#58 0x00007f3606f29646 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#59 0x00007f360745ae0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#60 0x00007f36074621f8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#61 0x00007f3604f64cca in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#62 0x00007f3606f294dd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#63 0x00007f36074d5a20 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#64 0x00007f36074d5269 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#65 0x00007f36074fcb02 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#66 0x00007f36029b1e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#67 0x00007f36029b2048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007f36029b20ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007f3606f567a1 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#70 0x00007f36074fcbb6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#71 0x00007f3606f280af in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#72 0x00007f3606f283a5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#73 0x00007f3606f2db79 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#74 0x0000000000400a2f in main (argc=2, argv=0x7fff3015d338) at /home/inksi/kde4/src/calligra/kexi/main.cpp:36

Reported using DrKonqi
Comment 1 Ian Balchin 2015-03-19 12:55:53 UTC
Created attachment 91637 [details]
image showing tab widget
Comment 2 Kamil Łysik 2015-03-27 23:04:14 UTC
Patch: https://git.reviewboard.kde.org/r/123157/
Comment 3 Jarosław Staniek 2015-03-28 00:29:03 UTC
Git commit 4d2aa60ed11e0f062dbbee3e4d0c0a831ae494cb by Jaroslaw Staniek, on behalf of Kamil Lysik.
Committed on 27/03/2015 at 22:42.
Pushed by staniek into branch 'calligra/2.9'.

Prevent crash when removing elements in WidgetTreeWidget
REVIEW:123157
FIXED-IN:2.9.2

M  +5    -0    kexi/formeditor/WidgetTreeWidget.cpp

http://commits.kde.org/calligra/4d2aa60ed11e0f062dbbee3e4d0c0a831ae494cb