<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
About KisBaseNode not knowing about the parent: it has been a conscious<br>
desicion to separate the the graph part from the base bart. So, if<br>
setCompositeOpn needs to know about the parent, there is no need for<br>
duplication, move that code to KisNode from KisLayer and KisMask.<br></blockquote><div><br>I&#39;m fully agree that a graph part and a base one should be in separate classes. =)<br>Don&#39;t think KisNode is a good place for compositeOp as this class is for graph part.<br>
<br>I think as a long-term solution we could swap names for KisBaseNode and KisNode.<br>What i mean:<br><br>now:<br>KisNode - graph part<br>KisBaseNode - base part<br><br>how it could be:<br>
KisNode - base part<br>KisBaseNode - graph part<br><br>In such a case every function from a base part will be able to access graph functions.<br>
<br>Just an idea...<br></div><div><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
We could also decide that all nodes must have a composite op set,<br>
COMPOSITE_OVER by default, so they don&#39;t go back to their parent anymore.<br>
That might be even simpler.<br></blockquote><div><br>I&#39;m afraid parent is needed as a compositeOp should be prepared for merging operation that is done in parent&#39;s colorSpace, that, in general case, can differ from this-&gt;colorSpace().<br>
 <br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

-----------<br>
<br>
This is just from eyeballing the source: I haven&#39;t been able to run it yet,<br>
because I get a compile error:<br></blockquote><div><br>[]<br><br>Ah yes! Forgot to compile tests. =)<br>Here is an additional patch in attachment (should be added to the previous one).<br><br>I&#39;ve done tests. Kis{,Base}Node tests are done successfully, but some Masks and Selections tests fail with segmentation. Could you check whether this is a regression or not?<br>
<br> </div></div>-- <br>Dmitry Kazakov<br>