STEPS TO REPRODUCE: 1. Create a file, draw something, copy a part. 2. Create brush tip named "Test" or a blank. Can be from clipboard or stamp, issue exists with both. 3. Copy some other part (the hash must be different, it doesn't crash if it's the same exact brush tip). 2. Create another brush tip named the same. The crash log is here: https://bugsfiles.kde.org/attachment.cgi?id=140354 I had already submitted it, thinking the issue was a part of https://bugs.kde.org/show_bug.cgi?id=440311 OBSERVED RESULT Crash I also notice that the button is meant to change from Save to Overwrite when an existing brush exists, but this also does not always happen (if nothing is typed, it doesn't change), but it crashes whether it does or not. Also when I first encountered this, I thought it didn't happen after restart, but it does, I must have accidentally avoided it. EXPECTED RESULT Button changes to "Overwrite" and no crash when overwriting tips.. SOFTWARE/OS VERSIONS Windows 10 Krita: 8ebe5e92507e7d519692b5d92785dda517c4be69
Linux crash log: Thread 1 (Thread 0x7ff13ed56f80 (LWP 137917)): [KCrash Handler] #4 0x00007ff10c70aebb in KisBrushBasedPaintOpSettings::paintOpSize (this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:307 #5 0x00007ff1464d5b18 in KisSizeResourceConverter::fromSource (this=<optimized out>, value=...) at /home/halla/dev/krita/libs/global/kis_shared_ptr.h:167 #6 0x00007ff14359a5a1 in KoDerivedResourceConverter::notifySourceChanged (this=0x55564dad2540, sourceValue=...) at /home/halla/dev/krita/libs/flake/KoDerivedResourceConverter.cpp:46 #7 0x00007ff14359632d in KoResourceManager::notifyDerivedResourcesChanged (this=0x55564dacbf90, key=6008, value=...) at /home/halla/dev/krita/libs/flake/KoResourceManager_p.cpp:82 #8 0x00007ff143597cfe in KoResourceManager::slotResourceInternalsChanged (this=0x55564dacbf90, key=6008) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qhash.h:156 #9 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #10 0x00007ff14358e4a2 in KoResourceUpdateMediator::sigResourceChanged (this=<optimized out>, _t1=<optimized out>) at /home/halla/dev/b-krita/libs/flake/kritaflake_autogen/EWIEGA46WW/moc_KoResourceUpdateMediator.cpp:133 #11 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #12 0x00007ff145aff2f3 in KisPaintOpPreset::UpdatedPostponer::~UpdatedPostponer (this=0x7ffcd9a29da0, __in_chrg=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:413 #13 0x00007ff1465923c8 in KisPaintopBox::slotGuiChangedCurrentPreset (this=0x55564e9e68d0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:111 #14 0x00007ff1463770b9 in KisPaintopBox::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/libs/ui/kritaui_autogen/EWIEGA46WW/moc_kis_paintop_box.cpp:266 #15 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x00007ff145a8f880 in KisConfigWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_config_widget.cpp:93 #17 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #18 0x00007ff145722b5d in KisSignalCompressor::tryEmitSignalSafely (this=this@entry=0x55564fe7f6f0) at /home/halla/dev/krita/libs/global/kis_signal_compressor.cpp:195 #19 0x00007ff145722d88 in KisSignalCompressor::start (this=0x55564fe7f6f0) at /home/halla/dev/krita/libs/global/kis_signal_compressor.cpp:115 #20 0x00007ff145bf97a9 in KisConfigWidget::slotConfigChanged (this=<optimized out>) at /home/halla/dev/krita/libs/image/kis_config_widget.cpp:26 #21 0x00007ff145a8f81e in KisConfigWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_config_widget.cpp:97 #22 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007ff145a8f828 in KisConfigWidget::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/libs/image/kritaimage_autogen/EWIEGA46WW/moc_kis_config_widget.cpp:94 #24 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007ff10c6b2e92 in KisBrushOptionWidget::brushChanged (this=0x55564fe8af80) at /home/halla/dev/krita/plugins/paintops/libpaintop/kis_brush_option_widget.cpp:71 #26 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #27 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00007ff10c6ab9fc in KisPredefinedBrushChooser::updateBrushTip (this=0x55564fe8b780, resource=..., isChangingBrushPresets=<optimized out>) at /home/halla/dev/krita/plugins/paintops/libpaintop/kis_predefined_brush_chooser.cpp:395 #29 0x00007ff10c6ad570 in KisPredefinedBrushChooser::slotNewPredefinedBrush (this=0x55564fe8b780, resource=...) at /usr/include/c++/9/bits/atomic_base.h:318 #30 0x00007ff10c6af9eb in KisPredefinedBrushChooser::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:318 #31 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007ff10c6e5ab1 in KisClipboardBrushWidget::sigNewPredefinedBrush (_t1=..., this=0x5556504c1770) at /home/halla/dev/b-krita/plugins/paintops/libpaintop/kritalibpaintop_autogen/include/moc_kis_clipboard_brush_widget.cpp:237 #33 KisClipboardBrushWidget::slotAddPredefined (this=0x5556504c1770) at /home/halla/dev/krita/plugins/paintops/libpaintop/kis_clipboard_brush_widget.cpp:149 #34 0x00007ff10c6e67e7 in KisClipboardBrushWidget::qt_static_metacall (_o=0x5556504c1770, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/plugins/paintops/libpaintop/kritalibpaintop_autogen/include/moc_kis_clipboard_brush_widget.cpp:176 #35 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #36 0x00007ff1452e5c46 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #38 0x00007ff14523cc66 in QAbstractButton::clicked(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #39 0x00007ff14523ce8e in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ff14523e363 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007ff14523e525 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007ff145187cf6 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #43 0x00007ff1452e2d43 in QPushButton::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007ff145144dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #45 0x00007ff14514de77 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #46 0x00007ff1468b765d in KisApplication::notify (this=<optimized out>, receiver=0x555652542870, event=0x7ffcd9a2b130) at /home/halla/dev/krita/libs/ui/KisApplication.cpp:703 #47 0x00007ff14466a75a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #48 0x00007ff14514d0a7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #49 0x00007ff1451a2f44 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #50 0x00007ff1451a6264 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #51 0x00007ff145144dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #52 0x00007ff14514dbb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #53 0x00007ff1468b765d in KisApplication::notify (this=<optimized out>, receiver=0x5556524a17d0, event=0x7ffcd9a2b630) at /home/halla/dev/krita/libs/ui/KisApplication.cpp:703 #54 0x00007ff14466a75a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #55 0x00007ff144a4e4e8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #56 0x00007ff144a4fb55 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #57 0x00007ff144a277ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #58 0x00007ff13e664e7e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #59 0x00007ff14174c17d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #60 0x00007ff14174c400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #61 0x00007ff14174c4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #62 0x00007ff1446c4fb2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #63 0x00007ff14466925b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #64 0x00007ff14535080d in QDialog::exec() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #65 0x00007ff10c6ad1fd in KisPredefinedBrushChooser::slotOpenClipboardBrush (this=0x55564fe8b780) at /home/halla/dev/krita/plugins/paintops/libpaintop/kis_predefined_brush_chooser.cpp:331 #66 0x00007ff10c6afa81 in KisPredefinedBrushChooser::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/halla/dev/b-krita/plugins/paintops/libpaintop/kritalibpaintop_autogen/include/moc_kis_predefined_brush_chooser.cpp:147 #67 0x00007ff1446a17b0 in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #68 0x00007ff14523cc66 in QAbstractButton::clicked(bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #69 0x00007ff14523ce8e in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #70 0x00007ff14523e363 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #71 0x00007ff14523e525 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #72 0x00007ff145187cf6 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #73 0x00007ff1452e2d43 in QPushButton::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #74 0x00007ff145144dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #75 0x00007ff14514de77 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #76 0x00007ff1468b765d in KisApplication::notify (this=<optimized out>, receiver=0x55564ff19680, event=0x7ffcd9a2c250) at /home/halla/dev/krita/libs/ui/KisApplication.cpp:703 #77 0x00007ff14466a75a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #78 0x00007ff14514d0a7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #79 0x00007ff1451a2f44 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #80 0x00007ff1451a6264 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #81 0x00007ff145144dc3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #82 0x00007ff14514dbb8 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #83 0x00007ff1468b765d in KisApplication::notify (this=<optimized out>, receiver=0x55564e9ae0a0, event=0x7ffcd9a2c750) at /home/halla/dev/krita/libs/ui/KisApplication.cpp:703 #84 0x00007ff14466a75a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #85 0x00007ff144a4e4e8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #86 0x00007ff144a4fb55 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #87 0x00007ff144a277ac in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #88 0x00007ff13e664e7e in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #89 0x00007ff14174c17d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #90 0x00007ff14174c400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #91 0x00007ff14174c4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #92 0x00007ff1446c4fb2 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #93 0x00007ff14466925b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #94 0x00007ff144671414 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #95 0x000055564b074320 in main (argc=<optimized out>, argv=<optimized out>) at /home/halla/dev/krita/krita/main.cc:677 [Inferior 1 (process 137917) detached]
Git commit ce4305c95472ce81ac8107d870346c7417cea840 by Halla Rempt. Committed on 03/08/2021 at 13:06. Pushed by rempt into branch 'master'. Use a quuid for unnamed clipboard brushes Instead of the date. M +1 -1 libs/ui/kis_derived_resources.cpp M +1 -1 plugins/paintops/libpaintop/forms/wdgpredefinedbrushchooser.ui M +2 -1 plugins/paintops/libpaintop/kis_clipboard_brush_widget.cpp M +0 -2 plugins/paintops/libpaintop/kis_predefined_brush_chooser.cpp https://invent.kde.org/graphics/krita/commit/ce4305c95472ce81ac8107d870346c7417cea840