Bug 354665 - Inline editing+Cut+Undo+Undo leads to crash
Summary: Inline editing+Cut+Undo+Undo leads to crash
Status: RESOLVED UPSTREAM
Alias: None
Product: KEXI
Classification: Applications
Component: Forms (show other bugs)
Version: 2.9.8
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Jarosław Staniek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-01 00:44 UTC by Jarosław Staniek
Modified: 2021-01-01 10:49 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jarosław Staniek 2015-11-01 00:44:29 UTC
Similar to Bug #288589.
Inline editing of a form widget+Cut+Undo+Undo leads to crash.

This is because InlineTextEditingCommand keeps the pointer to widget instead of its name. First Undo recreated the widget instance, second Undo did not have access to the original widget's object. 

#4  0x00007f3668044f96 in KexiDBFactory::changeInlineText(KFormDesigner::Form*, QWidget*, QString const&, QString&) (this=0x23f2a40, form=0x2ae0500, widget=0x0, text=..., oldText=...) at calligra-2.9/kexi/plugins/forms/kexidbfactory.cpp:858
#5  0x00007f364e665403 in KFormDesigner::InlineTextEditingCommand::undo() (this=0x2b1b1b0) at calligra-2.9/kexi/formeditor/commands.cpp:1732
#6  0x00007f36807d9142 in KUndo2Command::undoMergedCommands() (this=0x2b1b1b0) at calligra-2.9/libs/kundo2/kundo2stack.cpp:375
#7  0x00007f36807da8b9 in KUndo2QStack::undo() (this=0x2ae0d98) at calligra-2.9/libs/kundo2/kundo2stack.cpp:900
#8  0x00007f364e62e75e in KFormDesigner::Form::undo() (this=0x2ae0500) at calligra-2.9/kexi/formeditor/form.cpp:1368
#9  0x00007f364e637057 in KFormDesigner::Form::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x2ae0500, _c=QMetaObject::InvokeMetaMethod, _id=22, _a=0x7ffe3f54a900) at build/calligra-2.9/kexi/formeditor/form.moc:180
#10 0x00007f367d0851fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#11 0x00007f367d808622 in QAction::triggered(bool) () at /usr/lib64/libQtGui.so.4
#12 0x00007f367d809fd3 in QAction::activate(QAction::ActionEvent) () at /usr/lib64/libQtGui.so.4
#13 0x00007f367d0851fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#14 0x00007f367de57bb2 in QAbstractButton::clicked(bool) () at /usr/lib64/libQtGui.so.4
#15 0x00007f367dbbafe3 in  () at /usr/lib64/libQtGui.so.4
#16 0x00007f367dbbc153 in  () at /usr/lib64/libQtGui.so.4
#17 0x00007f367dbbc23c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#18 0x00007f367dc7316a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#19 0x00007f367d85dc0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#20 0x00007f367d80e76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#21 0x00007f367d814dea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#22 0x00007f367ef79e0a in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#23 0x00007f367d0712ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#24 0x00007f367d8145e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#25 0x00007f367d885c9b in  () at /usr/lib64/libQtGui.so.4
#26 0x00007f367d88470c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#27 0x00007f367d8ab5c2 in  () at /usr/lib64/libQtGui.so.4
#28 0x00007f3677669a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#29 0x00007f3677669c48 in  () at /usr/lib64/libglib-2.0.so.0
#30 0x00007f3677669cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#31 0x00007f367d09e0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#32 0x00007f367d8ab676 in  () at /usr/lib64/libQtGui.so.4
#33 0x00007f367d06fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#34 0x00007f367d070165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#35 0x00007f367d0755b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#36 0x0000000000400c31 in main(int, char**) (argc=1, argv=0x7ffe3f54b7f8) at calligra-2.9/kexi/main.cpp:36
Comment 1 Justin Zobel 2020-12-17 05:23:07 UTC
Thank you for the crash report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 2 Bug Janitor Service 2021-01-01 04:35:20 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Jarosław Staniek 2021-01-01 10:49:00 UTC
Closing as too old KEXI version. Feel free to reopen for KEXI 3.2+
Collapse All Comments
Expand All Comments
Add Comment