Bug 478419

Summary: Krita crashes immediately when trying to make a brush with the Random Pick filter, am able to adjust settings on other filters
Product: [Applications] krita Reporter: gabrielle.loux
Component: Brush enginesAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ajfurman, lordvigore, penguinflyer2222
Priority: NOR Keywords: regression
Version: 5.2.2   
Target Milestone: ---   
Platform: macOS (DMG)   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description gabrielle.loux 2023-12-11 22:47:15 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Opened brush editor
2. Create new brush preset with filter engine
3. Select "Random Pick" Filter
4. Attempt to change settings by clicking on one of the sliders 


OBSERVED RESULT
App crashes

EXPECTED RESULT
able to change settings without app crashing

SOFTWARE/OS VERSIONS
Windows: 
macOS: monterey
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Freya Lupen 2023-12-12 01:21:35 UTC
Confirmed, and not specific to this filter.
After switching filters, trying to change the settings crashes, because the UI still shows the settings for the previously selected filter instead of the new one. Switching to a different brush and back again reloads the settings and it works fine.
This is a regression compared to 5.1.5.

Example crash backtrace:
> 0   QtCore                        	       0x106288b58 QObject::killTimer(int) + 36
> 1   QtCore                        	       0x1062986fc QTimer::stop() + 32
> 2   libkritawidgetutils.20.0.0.dylib	       0x1043b25e4 KisParseSpinBoxPrivate<KisDoubleParseSpinBox, QDoubleSpinBox>::hideWarning() const + 32 (kis_parse_spin_box_p.h:265)
> 3   libkritawidgetutils.20.0.0.dylib	       0x1043b092c KisParseSpinBoxPrivate<KisDoubleParseSpinBox, QDoubleSpinBox>::setValue(double, bool) + 192 (kis_parse_spin_box_p.h:95)
> 4   libkritawidgetutils.20.0.0.dylib	       0x1043b9400 KisSliderSpinBoxPrivate<KisDoubleSliderSpinBox, KisDoubleParseSpinBox>::setValue(double, bool, bool, bool) + 112 (kis_slider_spin_box_p.h:223)
> 5   libkritawidgetutils.20.0.0.dylib	       0x1043bed04 KisSliderSpinBoxPrivate<KisDoubleSliderSpinBox, KisDoubleParseSpinBox>::lineEditMouseMoveEvent(QMouseEvent*) + 516 (kis_slider_spin_box_p.h:808)
> 6   QtCore                        	       0x106260fec QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 264
Comment 2 Freya Lupen 2024-07-24 16:42:30 UTC
*** Bug 490737 has been marked as a duplicate of this bug. ***
Comment 3 Freya Lupen 2024-07-24 16:42:34 UTC
*** Bug 480872 has been marked as a duplicate of this bug. ***
Comment 4 Dmitry Kazakov 2024-08-27 08:41:12 UTC
Git commit 1368f13860f4487ce76fd3fd9b6f681d9744b24b by Dmitry Kazakov.
Committed on 27/08/2024 at 08:40.
Pushed by dkazakov into branch 'master'.

Fix a crash in Filter Brush when changing the filter type

We should fetch current filter id from the actual filter, not
from the combo box.

M  +1    -1    plugins/paintops/libpaintop/KisFilterOptionWidget.cpp

https://invent.kde.org/graphics/krita/-/commit/1368f13860f4487ce76fd3fd9b6f681d9744b24b
Comment 5 Dmitry Kazakov 2024-08-27 08:41:50 UTC
Git commit 73d3baae3f50193ed0451e6d43b207b07d2e16d4 by Dmitry Kazakov.
Committed on 27/08/2024 at 08:41.
Pushed by dkazakov into branch 'krita/5.2'.

Fix a crash in Filter Brush when changing the filter type

We should fetch current filter id from the actual filter, not
from the combo box.

M  +1    -1    plugins/paintops/libpaintop/KisFilterOptionWidget.cpp

https://invent.kde.org/graphics/krita/-/commit/73d3baae3f50193ed0451e6d43b207b07d2e16d4