Bug 346736 - Renaming a tag doesn't update the list of tags krita sees
Summary: Renaming a tag doesn't update the list of tags krita sees
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Resource Management (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-26 20:47 UTC by Jonathan Ringstad
Modified: 2016-11-03 10:10 UTC (History)
2 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 Jonathan Ringstad 2015-04-26 20:47:28 UTC
Found in calligra/2.9, revision 1e29cf0. 
Renaming a tag results in the following:

- rename a tag, e.g. from "foo" to "inking & sketching"
- right-click on some brush, select "assign to tag"
- the "inking & sketching" tag is not there, but the old "foo" tag is there
- assigning to the old "foo" tag results in the "foo" tag being re-created
- after re-starting, the tag appears and brushes can be assigned to it, but it still doesn't show up in the tag selector of the popup-palette

I'm not entirely sure if the bug here is that other components do not get notified of the change of the list of tags, or whether the issue is with the ampersand-symbol in the tag-name, or perhaps a combination of the two.

Reproducible: Always
Comment 1 Halla Rempt 2015-05-01 14:27:59 UTC
Certain tags are read-only -- the default ones. In any case, renaming a tag now leads to a crash:

Thread 1 (Thread 0x7f29824ff7c0 (LWP 24896)):
[KCrash Handler]
#5  0x00007f297910a187 in raise () at /lib64/libc.so.6
#6  0x00007f297910b538 in abort () at /lib64/libc.so.6
#7  0x00007f297a4052b4 in qt_message_output(QtMsgType, char const*) () at /usr/lib64/libQtCore.so.4
#8  0x00007f297a405439 in  () at /usr/lib64/libQtCore.so.4
#9  0x00007f297a405c44 in qFatal(char const*, ...) () at /usr/lib64/libQtCore.so.4
#10 0x00007f297a405c8a in  () at /usr/lib64/libQtCore.so.4
#11 0x00007f297ecb5758 in KoResourceTagStore::delTag(QString const&) (this=0x191cc10, tag=...) at /home/boud/kde/src/2.9/libs/widgets/KoResourceTagStore.cpp:129
#12 0x00007f2981d12298 in KoResourceServerAdapter<KisPaintOpPreset, SharedPointerStroragePolicy<KisSharedPtr<KisPaintOpPreset> > >::tagCategoryRemoved(QString const&) (tag=..., this=0x33e98a0) at /home/boud/kde/src/2.9/libs/widgets/KoResourceServer.h:523
#13 0x00007f2981d12298 in KoResourceServerAdapter<KisPaintOpPreset, SharedPointerStroragePolicy<KisSharedPtr<KisPaintOpPreset> > >::tagCategoryRemoved(QString const&) (this=<optimized out>, tag=...) at /home/boud/kde/src/2.9/libs/widgets/KoResourceServerAdapter.h:294
#14 0x00007f297ec76388 in KoResourceTaggingManager::renameTag(QString const&, QString const&) (this=0x4109700, oldName=..., newName=...) at /home/boud/kde/src/2.9/libs/widgets/KoResourceTaggingManager.cpp:225
#15 0x00007f297a5251fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#16 0x00007f297ec6e9ca in KoTagChooserWidget::tagRenamingRequested(QString const&, QString const&) (this=this@entry=0x4109010, _t1=..., _t2=...) at /home/boud/kde/build/2.9/libs/widgets/moc_KoTagChooserWidget.cpp:142
#17 0x00007f297ec73a95 in KoTagChooserWidget::tagRenamingRequested(QString const&) (this=0x4109010, newName=...) at /home/boud/kde/src/2.9/libs/widgets/KoTagChooserWidget.cpp:108
#18 0x00007f297a5251fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#19 0x00007f297ec6e0f9 in KoTagToolButton::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_t1=..., this=0x410aa40) at /home/boud/kde/build/2.9/libs/widgets/moc_KoTagToolButton.cpp:124
#20 0x00007f297ec6e0f9 in KoTagToolButton::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x410aa40, _c=<optimized out>, _id=1, _a=0x7fff3dffa5e0) at /home/boud/kde/build/2.9/libs/widgets/moc_KoTagToolButton.cpp:63
#21 0x00007f297a5251fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#22 0x00007f297ec78009 in KoLineEditAction::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_t1=..., this=<optimized out>) at /home/boud/kde/build/2.9/libs/widgets/KoResourceItemChooserContextMenu.moc:188
#23 0x00007f297ec78009 in KoLineEditAction::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (text=..., this=<optimized out>) at /home/boud/kde/src/2.9/libs/widgets/KoResourceItemChooserContextMenu.cpp:74
#24 0x00007f297ec78009 in KoLineEditAction::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x410e160, _c=24896, _id=1, _a=0x7fff3dffa710) at /home/boud/kde/build/2.9/libs/widgets/KoResourceItemChooserContextMenu.moc:139
#25 0x00007f297a5251fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#26 0x00007f297bce1c75 in KLineEdit::returnPressed(QString const&) () at /usr/lib64/libkdeui.so.5
#27 0x00007f297bce5510 in KLineEdit::keyPressEvent(QKeyEvent*) () at /usr/lib64/libkdeui.so.5
#28 0x00007f297af6ead4 in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#29 0x00007f297b31ba01 in QLineEdit::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#30 0x00007f297bce65f0 in KLineEdit::event(QEvent*) () at /usr/lib64/libkdeui.so.5
#31 0x00007f297af1f76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#32 0x00007f297af26f61 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#33 0x00007f2981da0437 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x410ea00, event=0x7fff3dffac70) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:489
#34 0x00007f297a5112ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#35 0x00007f297afb9ab7 in  () at /usr/lib64/libQtGui.so.4
#36 0x00007f297afb9e59 in  () at /usr/lib64/libQtGui.so.4
#37 0x00007f297af95a5f in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#38 0x00007f297afbcf30 in  () at /usr/lib64/libQtGui.so.4
#39 0x00007f297a50fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#40 0x00007f297a510165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#41 0x00007f297b34ac97 in QMenu::exec(QPoint const&, QAction*) () at /usr/lib64/libQtGui.so.4
#42 0x00007f297b3835d5 in  () at /usr/lib64/libQtGui.so.4
#43 0x00007f297b383c89 in  () at /usr/lib64/libQtGui.so.4
#44 0x00007f297a5251fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#45 0x00007f297b2cc076 in  () at /usr/lib64/libQtGui.so.4
#46 0x00007f297b2cc61c in QAbstractButton::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#47 0x00007f297b383fe8 in QToolButton::mousePressEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#48 0x00007f297af6ea7b in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#49 0x00007f297af1f76c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#50 0x00007f297af25dea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#51 0x00007f2981da0437 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x410b040, event=0x7fff3dffbbf0) at /home/boud/kde/src/2.9/krita/ui/KisApplication.cpp:489
#52 0x00007f297a5112ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#53 0x00007f297af255e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#54 0x00007f297af96c9b in  () at /usr/lib64/libQtGui.so.4
#55 0x00007f297af9570c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#56 0x00007f297afbcf30 in  () at /usr/lib64/libQtGui.so.4
#57 0x00007f297a50fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#58 0x00007f297a510165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#59 0x00007f297a5155b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#60 0x0000000000402ae2 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/2.9/krita/main.cc:179
Comment 2 Halla Rempt 2016-11-03 10:10:00 UTC
I can no longer trigger the assert nor reproduce the original report. Closing now.