SUMMARY This is observed on the latest nightly appimage 4.3.0-prealpha (git 585f1c6) and back to the 4.2.1 build. The LSM or GSM is not updated on-canvas if Select -> Invert Selection (Ctrl+Shift+I) is done. The Layers Docker thumbnail for the LSM or GSM is updated (often quite slowly). STEPS TO REPRODUCE 1. Create a new file and add an LSM to a layer or a GSM to the image. 2. Select the LSM or GSM and use the selection outline tools (or use monochrome paint) to create a selection which shows as red/white. 3. Do an Invert Selection operation. OBSERVED RESULT The on-canvas display of the LSM or GSM is not updated to show the inversion. You have to toggle the LSM or GSM off/on or select a different layer (then go back to the LSM or GSM) before the on-canvas display is updated. While the LSM or GSM has been inverted but not updated on-canvas, you can paint on it and the paint operation shows the correct appearance locally at the painted locations. EXPECTED RESULT The LSM or GSM on-canvas appearance should update after the Invert operation. SOFTWARE/OS VERSIONS Version: 4.3.0-prealpha (git 585f1c6) Languages: en_GB, en Hidpi: true Qt Version (compiled): 5.12.4 Version (loaded): 5.12.4 OS Information Build ABI: x86_64-little_endian-lp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: linux Kernel Version: 4.19.0-5-amd64 Pretty Productname: Debian GNU/Linux 10 (buster) Product Type: debian Product Version: 10 ADDITIONAL INFORMATION
I can confirm this issue. If the active layer is the mask, after inverting the image the mask is not updated at all.
Created attachment 121724 [details] Safe Assert error after LSM image inversion Apart from painting on it, it didn't occur to me to try other 'image' operations on a LSM. I tried Blur, Levels, Threshold and these all worked fine. I also tried Invert and that worked fine too with 4.3.0-prealpha (git 600ee12) With Invert, over several sessions, I had one Safe Assert error as shown in the attachment to this comment. I pressed Ignore and carried on and everything was fine.
Git commit 7626a015269510c13bf92268d00ad3fb13107e96 by Ivan Yossi. Committed on 23/08/2019 at 04:25. Pushed by ivany into branch 'master'. Repaint selection after invert when mask visible Added a repaint step for selection transactions to repaint the selection layer after every filter selection operation commited on behalf of: Dmitry Kazakov M +24 -10 libs/image/kis_selection_filters.cpp M +10 -9 libs/image/kis_selection_filters.h M +10 -0 libs/image/kis_transaction_data.cpp M +4 -2 libs/image/layerstyles/kis_ls_utils.cpp M +8 -8 libs/libkis/Selection.cpp M +1 -0 libs/ui/actions/kis_selection_action_factories.cpp M +2 -1 libs/ui/operations/kis_filter_selection_operation.cpp https://invent.kde.org/kde/krita/commit/7626a015269510c13bf92268d00ad3fb13107e96