Created attachment 92808 [details] test kra, 3 layers, 3 layer style ( drop shadows) only one recover on open. Hi, I just setup 3 illustrations using various layer-style on group, subgroups , etc... I saved them as *.kra ; and tried to export as JPG later with a script ( using commandline ). My exported JPG were all missing layer-styles effect. I decided to re-open my project source *.kra with Krita GUI to see what's happen : all layer-style were lost exept a single one. I must redo the work now, and find a way to do temporary backing the effects ; or decide to totally change the project visual aspect. That's why I mark this bug as grave. To reproduce : ============ - Do a project with (example) three layers and shapes ( in attachment ) - assign layer-style to each layers ( eg, default drop shadows on each layers ) - Save as *.kra - Re-open the file. Result : ====== Only a single layer from the three will recover layer-style. ( and orientation of 'global light' of the drop shadows will be inverted ). As far as I experienced in my test, I can reproduce on complex layer stack, with groups, subgroups, or simple stack. The only layer who recover a layer-style is the one in the most bottom of the stack. Expected result : ============== Layer-style to be saved, and recovered on re-open of document.
Hi, David! As a temporary solution you can save your styles in separate ASL files and then load them for your layers if something failed. And I'll check your bug asap.
Thank you @Dmitry for looking at it, and also for the temporary workaround.
yes confirmed on windows, good thing I saw this before starting a layer style project.
Upgrading to critical, since it's data loss.
The funny thing is everything works with PSD. Only .kra is affected.
Git commit e056ebb0eb354e8fe7e18d596d4a623918256496 by Dmitry Kazakov. Committed on 27/05/2015 at 20:48. Pushed by dkazakov into branch 'calligra/2.9'. Fixed saving multiple layer styles into .kra M +0 -1 krita/image/tests/kis_layer_styles_test.cpp M +35 -40 krita/libpsd/asl/kis_asl_writer.cpp M +3 -2 krita/libpsd/psd.cpp M +1 -3 krita/libpsd/psd.h M +0 -1 krita/ui/kis_asl_layer_style_serializer.cpp M +57 -0 krita/ui/tests/kis_kra_saver_test.cpp M +2 -0 krita/ui/tests/kis_kra_saver_test.h http://commits.kde.org/calligra/e056ebb0eb354e8fe7e18d596d4a623918256496
Thank you Dmitry!
Git commit 3b16ff375e8752aa92d6ec9a2f4c7587d45d4543 by Dmitry Kazakov. Committed on 27/05/2015 at 21:41. Pushed by dkazakov into branch 'calligra/2.9'. Fix "Use Global Light" switch to perform correctly PSD doesn't store "global light" as any separate entity, so just sync all the global values in the UI. M +56 -4 krita/ui/dialogs/kis_dlg_layer_style.cpp M +7 -0 krita/ui/dialogs/kis_dlg_layer_style.h http://commits.kde.org/calligra/3b16ff375e8752aa92d6ec9a2f4c7587d45d4543
You are welcome, David! :)