Bug 441347

Summary: Brushtips deleted from the Krita5 Resource Manager, but needed for default brushes
Product: [Applications] krita Reporter: anno2300
Component: Resource ManagementAssignee: Halla Rempt <halla>
Status: RESOLVED FIXED    
Severity: normal CC: halla, uenvironments
Priority: NOR    
Version: 5.0.0-beta1   
Target Milestone: ---   
Platform: Other   
OS: macOS   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description anno2300 2021-08-22 08:28:08 UTC
After a new installation (cleaned all settings and resource folders before), in the "Manage Resources" some brush tips and brush presets are deleted:
Krita_4_Default_Resources.bundle: Visible only 67, and 12 deleted, you see it if you select "Show deleted resources".

This after first Start. It is only fixed if i delete the sqlite database and Krita_3_Default_Resources.bundle. Deaktivate it is not enough, then same brush tips are deleted again after a new start and recreate the sqlite database. (it was deactivated every time...). And the 12 brush tips that are also in Krita 3 aren't visible, they are deleted too there ^^

The Problem is that the deleted brushtips aren't showed in the library, cause the resources from Krita 3 are deactivated by default and most people also don't need it to be activated. Also two brush presets are deleted in the "Manage Resource". But for some reason the brush presets are still available in the Brush Presets list. However the deleted brush tips aren't visible in the brush tip library and not selectable for new or old brushes that uses this brushtips.

One Problem is that with this behavior, people are confused cause very much brushes uses this brush tips but they aren't selectable now in the library. Also not if you like to use it to create other brushes.

Deleted brush tips:
rake_flat, 3_eroded, A -2 Sparkle 3, square_rough, U Circle shape 5, A_craqules, P_Graphite Black Grass, A-4 random vegetal2, A-4 Forest, plain_rake, S_Splats 2, triangle

And about the triangle, why the triangle "triangle.svg" is the only brush tip in the local folder? That makes no sense to me. Maybe anyone missed it in the Library and don't recognized it that it was just deleted from the database? Could also be that it is needet there. idk.


SOFTWARE/OS VERSIONS 
macOS: Big Sur 10.15.1
Comment 1 Halla Rempt 2021-08-24 11:50:37 UTC
*** Bug 441473 has been marked as a duplicate of this bug. ***
Comment 2 Halla Rempt 2021-09-02 13:59:38 UTC
Git commit 91bbbd5ffd64c918cb882815f71c097c8c220bf9 by Halla Rempt.
Committed on 02/09/2021 at 13:59.
Pushed by rempt into branch 'master'.

Fix loading legacy brush masks

If there are two resources in two storages that have the same
md5sum (square_rough.png and texture_3.png), we need to make
sure that the one with the filename stored in the preset can
be found, so now resources(md5, filename, name) returns all
matching resources.
Related: bug 441350

M  +17   -6    libs/brush/kis_predefined_brush_factory.cpp
M  +25   -22   libs/image/brushengine/kis_paintop_preset.cpp
M  +3    -0    libs/image/brushengine/kis_paintop_settings.cpp
M  +1    -1    libs/image/kis_properties_configuration.cc
M  +3    -3    libs/psdutils/psd.h
M  +7    -6    libs/resources/KisGlobalResourcesInterface.cpp
M  +3    -4    libs/resources/KisLinkedResourceWrapper.h
M  +36   -32   libs/resources/KisLocalStrokeResources.cpp
M  +1    -0    libs/resources/KisRequiredResourcesOperators.h
M  +33   -13   libs/resources/KisResourceModel.cpp
M  +3    -3    libs/resources/KisResourceModel.h
M  +63   -23   libs/resources/KisResourcesInterface.h
M  +19   -5    libs/resources/KoResourceServer.h
M  +0    -1    libs/resourcewidgets/dbexplorer/DlgDbExplorer.cpp
M  +4    -1    libs/ui/utils/KisDitherUtil.cpp
M  +12   -4    libs/ui/widgets/KisDitherWidget.cpp
M  +0    -1    libs/ui/widgets/kis_preset_chooser.cpp
M  +12   -3    libs/ui/widgets/kis_workspace_chooser.cpp
M  +11   -2    plugins/filters/gradientmap/KisGradientMapFilterConfiguration.cpp
M  +9    -1    plugins/filters/palettize/palettize.cpp
M  +7    -2    plugins/generators/pattern/kis_wdg_pattern.cpp
M  +5    -1    plugins/generators/pattern/patterngenerator.cpp
M  +1    -0    plugins/paintops/libpaintop/KisMaskingBrushOption.cpp
M  +2    -3    plugins/paintops/libpaintop/KisTextureMaskInfo.cpp
M  +0    -2    plugins/paintops/libpaintop/kis_brush_option.cpp
M  +15   -4    plugins/paintops/libpaintop/kis_linked_pattern_manager.cpp
M  +9    -6    plugins/paintops/libpaintop/kis_texture_option.cpp

https://invent.kde.org/graphics/krita/commit/91bbbd5ffd64c918cb882815f71c097c8c220bf9
Comment 3 Halla Rempt 2021-09-07 09:16:53 UTC
Git commit 8628fd22c755584ef3606732bf3dbe6af8e2b904 by Halla Rempt.
Committed on 07/09/2021 at 09:02.
Pushed by rempt into branch 'krita/5.0'.

Fix loading legacy brush masks

If there are two resources in two storages that have the same
md5sum (square_rough.png and texture_3.png), we need to make
sure that the one with the filename stored in the preset can
be found, so now resources(md5, filename, name) returns all
matching resources.
Related: bug 441350
(cherry picked from commit 91bbbd5ffd64c918cb882815f71c097c8c220bf9)

M  +17   -6    libs/brush/kis_predefined_brush_factory.cpp
M  +25   -22   libs/image/brushengine/kis_paintop_preset.cpp
M  +3    -0    libs/image/brushengine/kis_paintop_settings.cpp
M  +1    -1    libs/image/kis_properties_configuration.cc
M  +3    -3    libs/psd/psd.h
M  +7    -6    libs/resources/KisGlobalResourcesInterface.cpp
M  +3    -4    libs/resources/KisLinkedResourceWrapper.h
M  +36   -33   libs/resources/KisLocalStrokeResources.cpp
M  +1    -0    libs/resources/KisRequiredResourcesOperators.h
M  +33   -13   libs/resources/KisResourceModel.cpp
M  +3    -3    libs/resources/KisResourceModel.h
M  +63   -23   libs/resources/KisResourcesInterface.h
M  +19   -5    libs/resources/KoResourceServer.h
M  +0    -1    libs/resourcewidgets/dbexplorer/DlgDbExplorer.cpp
M  +4    -1    libs/ui/utils/KisDitherUtil.cpp
M  +12   -4    libs/ui/widgets/KisDitherWidget.cpp
M  +0    -1    libs/ui/widgets/kis_preset_chooser.cpp
M  +12   -3    libs/ui/widgets/kis_workspace_chooser.cpp
M  +11   -2    plugins/filters/gradientmap/KisGradientMapFilterConfiguration.cpp
M  +9    -1    plugins/filters/palettize/palettize.cpp
M  +7    -2    plugins/generators/pattern/kis_wdg_pattern.cpp
M  +5    -1    plugins/generators/pattern/patterngenerator.cpp
M  +1    -0    plugins/paintops/libpaintop/KisMaskingBrushOption.cpp
M  +2    -3    plugins/paintops/libpaintop/KisTextureMaskInfo.cpp
M  +0    -2    plugins/paintops/libpaintop/kis_brush_option.cpp
M  +15   -4    plugins/paintops/libpaintop/kis_linked_pattern_manager.cpp
M  +9    -6    plugins/paintops/libpaintop/kis_texture_option.cpp

https://invent.kde.org/graphics/krita/commit/8628fd22c755584ef3606732bf3dbe6af8e2b904