Created attachment 131722 [details] Scrrenshot of the problem Tested on the current krita/4.3 branch 7013fef0227028316c8788e828e28a66f026c08d STEPS TO REPRODUCE 1. Create an RGB image 2. Configure CMYK soft-proofing 3. Activate soft-proofing with Ctrl+Y 4. Image->Convert Image Color Space and select any CMYK color space The canvas becomes garbaged, see attached screenshot. Pressing Ctrl+Y twice makes the canvas look great again.
I can reproduce this for the 4.2.8 appimage and the 4.3.0 appimage. If you start with a CMYK or an RGB image and apply CMYK or RGB softproofing then converting the image colour space from one to the other gives a 'garbaged' result that can be recovered by pressing Ctrl+Y but I find that it only needs to be pressed once to remove the garbage effect.
Git commit d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d by Dmitry Kazakov, on behalf of Mathias Wein. Committed on 01/12/2021 at 10:06. Pushed by dkazakov into branch 'master'. Fix issues when soft proofing is active during colorspace conversion The color transform needs to be reset before updating the canvas. Also, there was an odd workaround to set new channel flags for the root layer, but this was an async signal that caused an update in the middle of invalidating the image data during conversion. Instead, simply fetch the (after the previous fix valid) new channel flags when the canvas gets notified about the color space change. Related: bug 441165, bug 329336 M +6 -0 libs/ui/canvas/kis_canvas2.cpp M +2 -0 libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp M +0 -1 plugins/dockers/channeldocker/channeldocker_dock.cpp https://invent.kde.org/graphics/krita/commit/d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d
Git commit 413376726265eda75864eca9899c110ee7d5354e by Dmitry Kazakov, on behalf of Mathias Wein. Committed on 01/12/2021 at 10:16. Pushed by dkazakov into branch 'krita/5.0'. Fix issues when soft proofing is active during colorspace conversion The color transform needs to be reset before updating the canvas. Also, there was an odd workaround to set new channel flags for the root layer, but this was an async signal that caused an update in the middle of invalidating the image data during conversion. Instead, simply fetch the (after the previous fix valid) new channel flags when the canvas gets notified about the color space change. Related: bug 441165, bug 329336 (cherry picked from commit d05ba9448eda7464ba5a6b0a06c8a8a7e87c9c0d) M +6 -0 libs/ui/canvas/kis_canvas2.cpp M +2 -0 libs/ui/opengl/KisOpenGLUpdateInfoBuilder.cpp M +0 -1 plugins/dockers/channeldocker/channeldocker_dock.cpp https://invent.kde.org/graphics/krita/commit/413376726265eda75864eca9899c110ee7d5354e