Bug 407601

Summary: Krita fails to load Colorize Mask's key stroke devices with KoLegacyZipStore
Product: [Applications] krita Reporter: Dmitry Kazakov <dimula73>
Component: File formatsAssignee: Halla Rempt <halla>
Status: RESOLVED FIXED    
Severity: critical CC: halla
Priority: NOR Keywords: regression, release_blocker
Version: git master (please specify the git hash!)   
Target Milestone: ---   
Platform: Compiled Sources   
OS: All   
Latest Commit: Version Fixed In:
Attachments: Test file

Description Dmitry Kazakov 2019-05-16 13:52:01 UTC
Created attachment 120107 [details]
Test file

After commit 2ce21f054b903a84e11f9300cea2e2eec24982a6, colorize mask's key strokes are not loaded anymore. 

m_store->extractFile("content.xml", data)) fails for some reason.
Comment 1 Halla Rempt 2019-05-16 14:05:46 UTC
Probably because quazip and kzip have a different opinion on paths
Comment 2 Halla Rempt 2019-05-17 09:24:02 UTC
I've reverted those changes and am looking for a different solution now. Maybe only save using the legacy zip store, and always load with quazip.
Comment 3 Halla Rempt 2019-05-17 09:43:59 UTC
Git commit 4cb990274f8664d4eb3311af7755c8ff6065150c by Boudewijn Rempt.
Committed on 17/05/2019 at 09:40.
Pushed by rempt into branch 'master'.

Add a legacy zip store for writing backwards-compatible kra files

Use the Quazip store for reading and writing 64 bits zip files,
the Legacy store for writing 32 bits zip files. It's still not
ideal, having two zip implementations (and a third one hidden
inside Qt), but this gives maximal compatibility. Vectors and
colorize masks load again as well.
Related: bug 407630, bug 407537

M  +1    -0    CMakeLists.txt
M  +2    -0    libs/store/CMakeLists.txt
A  +272  -0    libs/store/KoLegacyZipStore.cpp     [License: LGPL (v2+)]
A  +73   -0    libs/store/KoLegacyZipStore.h     [License: LGPL (v2+)]
M  +27   -2    libs/store/KoStore.cpp
M  +2    -0    libs/store/KoStore_p.h

https://invent.kde.org/kde/krita/commit/4cb990274f8664d4eb3311af7755c8ff6065150c
Comment 4 Halla Rempt 2019-05-18 06:44:00 UTC
Git commit 77d87639051c2115aa516897cbb094cc4d8bbb19 by Boudewijn Rempt.
Committed on 18/05/2019 at 06:43.
Pushed by rempt into branch 'krita/4.2'.

Add a legacy zip store for writing backwards-compatible kra files

Use the Quazip store for reading and writing 64 bits zip files,
the Legacy store for writing 32 bits zip files. It's still not
ideal, having two zip implementations (and a third one hidden
inside Qt), but this gives maximal compatibility. Vectors and
colorize masks load again as well.
Related: bug 407630, bug 407537

M  +1    -0    CMakeLists.txt
M  +2    -0    libs/store/CMakeLists.txt
A  +272  -0    libs/store/KoLegacyZipStore.cpp     [License: LGPL (v2+)]
A  +73   -0    libs/store/KoLegacyZipStore.h     [License: LGPL (v2+)]
M  +27   -2    libs/store/KoStore.cpp
M  +2    -0    libs/store/KoStore_p.h

https://invent.kde.org/kde/krita/commit/77d87639051c2115aa516897cbb094cc4d8bbb19