https://bugs.kde.org/show_bug.cgi?id=384282

--- Comment #2 from Boudewijn Rempt <b...@valdyas.org> ---
Another note: this patch _should_ help, but it doesn't:

diff --git a/libs/image/kis_base_node.cpp b/libs/image/kis_base_node.cpp
index 48d7e6adac..586d8bdb6d 100644
--- a/libs/image/kis_base_node.cpp
+++ b/libs/image/kis_base_node.cpp
@@ -224,7 +224,7 @@ bool KisBaseNode::visible(bool recursive) const
     KisBaseNodeSP parentNode = parentCallback();

     return recursive && isVisible && parentNode ?
-        parentNode->visible() : isVisible;
+        parentNode->visible(recursive) : isVisible;
 }

 void KisBaseNode::setVisible(bool visible, bool loading)
diff --git a/libs/image/kis_base_node.h b/libs/image/kis_base_node.h
index 54a15c1df7..f4991ffeaa 100644
--- a/libs/image/kis_base_node.h
+++ b/libs/image/kis_base_node.h
@@ -341,6 +341,9 @@ public:
      * @return true if this node is visible (i.e, active (except for
      * selection masks where visible and active properties are
      * different)) in the graph
+     *
+     * @param bool recursive if true, check whether all parents of
+     * this node are visible as well.
      */
     virtual bool visible(bool recursive = false) const;

diff --git a/libs/image/kis_layer.cc b/libs/image/kis_layer.cc
index 0ca50e4fc5..c5f0aa706e 100644
--- a/libs/image/kis_layer.cc
+++ b/libs/image/kis_layer.cc
@@ -663,7 +663,7 @@ QRect KisLayer::updateProjection(const QRect& rect,
KisNodeSP filthyNode)
     QRect updatedRect = rect;
     KisPaintDeviceSP originalDevice = original();
     if (!rect.isValid() ||
-            !visible() ||
+            !visible(true) ||
             !originalDevice) return QRect();

     if (!needProjection() && !hasEffectMasks()) {
lines 1-40/40 (END)


We're really going to have to discuss this with Dmitry once he's done with his
current work on making the pixel brush engine faster.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to