SUMMARY Using "Create separate separation from alpha channel" in the "Separate Image..." semi-hangs Krita. STEPS TO REPRODUCE 1. Open the attached file, "Harada.Takehito.full.1043457.jpg" in Krita. 2. Go to "Image" > "Separate Image..." 3. Under "Alpha Options" select the "Create separate separation from alpha channel." 4. Then select "OK." OBSERVED RESULT When I used "Separate Image..." on a JPEG image I found online, and pick "Create separate separation from alpha channel," nothing seems to happen, but after this I can't use any brush to draw or erase the canvas. When I try to close out Krita, there's a message box with a loading bar that says "Waiting for image operation to complete..." And it's just stuck like that until I close it out. If I didn't try to draw or erase on the canvas after the "Separate Image..." operation, it closes out right away. Either case, after I close Krita and look at the task manager, Krita is still running in the background. EXPECTED RESULT The image is split into red, green, blue, and alpha layer channels. SOFTWARE/OS VERSIONS Windows: Windows 10 Home 64-bit Build 18362 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION Krita Windows 64-bit version 4.2.7.1
Created attachment 123024 [details] JPEG Image used when I ran into the bug.
I can confirm this for the conditions stated, with the 4.2.7.1 appimage and the latest 4.3.0 prealpha (git e3e61bf)appimage. Other options for Separate Image work normally. During the 'stuck' condition, there is no CPU usage. If I Close the image then it appears to close but the Overview docker shows the image and one CPU stays at 100% usage until I kill the process. This happens for any 'large' image (about 4000 x 4000) that is opened or created. If you scale the image to 50%, Export it and then open it, the Separate Image function works normally. I haven't tried to determine what the 'critical' image size is.
Git commit 3a535d383f623ffccf391859af33bd497329bb27 by Boudewijn Rempt. Committed on 10/10/2019 at 09:47. Pushed by rempt into branch 'master'. Make Separate Channels work again * This removes the code for saving the separations to files. This has been disabled since 2006 * Fixes adding the layers (this was broken because the progress reporter was set to 100 before adding the layers, which means that iterrupted() was true, so the layers were never added) * Fixes unlocking the image (which happened inside the block that added nodes, which wasn't executed because of see above) * And makes it possible to only activate the relevant channel when separating to color Related: bug 336694 M +13 -14 plugins/extensions/separate_channels/dlg_separate.cc M +2 -2 plugins/extensions/separate_channels/dlg_separate.h M +31 -61 plugins/extensions/separate_channels/kis_channel_separator.cc M +1 -6 plugins/extensions/separate_channels/kis_channel_separator.h M +2 -2 plugins/extensions/separate_channels/kis_separate_channels_plugin.cc M +11 -28 plugins/extensions/separate_channels/wdg_separations.ui https://invent.kde.org/kde/krita/commit/3a535d383f623ffccf391859af33bd497329bb27
Git commit 62b2e4053a73d62ac52759f2053eb56564be892d by Boudewijn Rempt. Committed on 10/10/2019 at 10:00. Pushed by rempt into branch 'krita/4.2'. Make Separate Channels work again * This removes the code for saving the separations to files. This has been disabled since 2006 * Fixes adding the layers (this was broken because the progress reporter was set to 100 before adding the layers, which means that iterrupted() was true, so the layers were never added) * Fixes unlocking the image (which happened inside the block that added nodes, which wasn't executed because of see above) * And makes it possible to only activate the relevant channel when separating to color Related: bug 336694 M +13 -14 plugins/extensions/separate_channels/dlg_separate.cc M +2 -2 plugins/extensions/separate_channels/dlg_separate.h M +31 -61 plugins/extensions/separate_channels/kis_channel_separator.cc M +1 -6 plugins/extensions/separate_channels/kis_channel_separator.h M +2 -2 plugins/extensions/separate_channels/kis_separate_channels_plugin.cc M +11 -28 plugins/extensions/separate_channels/wdg_separations.ui https://invent.kde.org/kde/krita/commit/62b2e4053a73d62ac52759f2053eb56564be892d