Summary: | Clone layers cannot copy contents from pass-through group layers | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Andrei Alexeyev <akari> |
Component: | Layer Stack | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | dimula73, halla |
Priority: | NOR | ||
Version: | 4.2.2 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Test script |
Description
Andrei Alexeyev
2019-07-18 11:43:31 UTC
The problem happens because layers "variant" "defeated" use Pass-through mode. Clone layers just copy the projection of the source layers, but pass-through nodes cannot have any projection by definition. I'll check if it is actually possible to implement such copying technically. Git commit a0caf30f820581733b65b5b97d1641560531ad46 by Dmitry Kazakov. Committed on 20/09/2019 at 09:47. Pushed by dkazakov into branch 'master'. Strikethrough (and disable) a clone, whose source is a pass-through group Clone layers in Krita copy the projection of the source layer (and apply some effects to it, like offset, masks and etc). But pass-through group layers don't have any projection by definition, so clone layers cannot copy them. The only way to allow clone layers to copy pass-through groups is to copy their "projection plane" and "projection leaf" instead of projection device. But then there will be problems with masks, blending mode and other funny problems we never thought about. This patch just disables a clone layer that is connected to a pass-through group and notifies the user about it by striking-through its name. M +24 -4 libs/image/kis_projection_leaf.cpp M +9 -1 libs/image/kis_projection_leaf.h M +2 -2 libs/ui/kis_node_model.cpp M +1 -1 plugins/dockers/animation/timeline_frames_model.cpp https://invent.kde.org/kde/krita/commit/a0caf30f820581733b65b5b97d1641560531ad46 Git commit a2a1b600423be2b9ebf545d5bb89ede49c245748 by Dmitry Kazakov. Committed on 20/09/2019 at 09:47. Pushed by dkazakov into branch 'master'. Add user explanation about why the mask/clone is disabled The node tooltip will have an explanation, why the node has been disabled M +12 -0 libs/ui/kis_node_model.cpp M +5 -0 libs/ui/kis_node_model.h M +7 -0 plugins/dockers/layerdocker/NodeToolTip.cpp https://invent.kde.org/kde/krita/commit/a2a1b600423be2b9ebf545d5bb89ede49c245748 Okay, the user feedback is added. Now I'll downgrade this bug to a "wishlist". Perhaps one day we will implement cloning of pass-through nodes. Git commit f78b6082f5c03d88fce513947f81901e6f31a1d4 by Dmitry Kazakov. Committed on 21/09/2019 at 10:07. Pushed by dkazakov into branch 'krita/4.2'. Strikethrough (and disable) a clone, whose source is a pass-through group Clone layers in Krita copy the projection of the source layer (and apply some effects to it, like offset, masks and etc). But pass-through group layers don't have any projection by definition, so clone layers cannot copy them. The only way to allow clone layers to copy pass-through groups is to copy their "projection plane" and "projection leaf" instead of projection device. But then there will be problems with masks, blending mode and other funny problems we never thought about. This patch just disables a clone layer that is connected to a pass-through group and notifies the user about it by striking-through its name. M +24 -4 libs/image/kis_projection_leaf.cpp M +9 -1 libs/image/kis_projection_leaf.h M +2 -2 libs/ui/kis_node_model.cpp M +1 -1 plugins/dockers/animation/timeline_frames_model.cpp https://invent.kde.org/kde/krita/commit/f78b6082f5c03d88fce513947f81901e6f31a1d4 |