<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hi all,</p>
<p><br>
</p>
<p>I think I found a bug in the Morphic TableLayout logic when combining #spaceFill with #minExtent. Please watch the following "minimum failing example":</p>
<p><br>
</p>
<p></p>
<blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">
<p></p>
<div></div>
<p>m <b>:=</b> Morph <span style="color: #000080;">new</span>.<br>
m <span style="color: #000080;">height:</span> <span style="color: #800000;">100</span>.<br>
m <span style="color: #000080;">changeTableLayout</span>.<br>
m <span style="color: #000080;">addMorph:</span> (Morph <span style="color: #000080;">
new</span><br>
    <span style="color: #000080;">color:</span> Color <span style="color: #000080;">
red</span>;<br>
    <span style="color: #000080;">vResizing:</span> <span style="color: #000080;">
#spaceFill</span>).<br>
m <span style="color: #000080;">addMorph:</span> (Morph <span style="color: #000080;">
new</span><br>
    <span style="color: #000080;">minimumHeight:</span> <span style="color: #800000;">
40</span>;<br>
    <span style="color: #000080;">color:</span> Color <span style="color: #000080;">
yellow</span>;<br>
    <span style="color: #000080;">vResizing:</span> <span style="color: #000080;">
#spaceFill</span>).<br>
m <span style="color: #000080;">fullBounds</span>.<br>
m <span style="color: #000080;">submorphs</span> <span style="color: #000080;">collect:</span>
<span style="color: #000080;">#height</span>.</p>
<div></div>
<p></p>
</blockquote>
<p></p>
<p><br>
</p>
<p>Expected output: #(50 50).</p>
<p>Actual output: <span>#(69 31).</span></p>
<p><span><br>
</span></p>
<p><span>Here is also a pic for increasing the reach of this message:</span></p>
<p><span><img size="547" contenttype="image/png" id="img571888" style="max-width: 99.9%; user-select: none;" contextid="img863030" tabindex="0" src="cid:83a2c9e7-9397-45ad-8749-5df7f2c3b342"><br>
</span></p>
<p><span><br>
</span></p>
<p><span>Could you please soon confirm to me that this is a bug?</span></p>
<p><span>In my opinion, this is quite obvious because "min extent" does not make any indications like "Please do not regard my extent while laying me out". Its very only effect should be, as stated by the name, "don't shrink me smaller than this value".</span></p>
<p><span>This bug gets even more important if you consider that #minExtent cannot only be hard-coded via #minimumExtent but also be computed from a nested table layout that consists of rigid morphs. This way, I became aware of that behavior at all.</span></p>
<p><span><br>
</span></p>
<p><span>I already found the origin of the presumable error: TableLayout >> #<span>layoutTopToBottom:in: or #<span>layoutLeftToRight:in: for the other dimension, respectively. But the same behavior also occurs if a #wrapDirection is specified and we don't get
 into the "fast line" as described #layout:in:. So I wonder whether this might be a conscious design decision rather than a problem by design. Is it possible at all to reach the desired behavior in linear time? I need to check this, but before doing so, your
 confirmation or objection would be greatly appreciated.</span></span></span></p>
<p><span><span><span><br>
</span></span></span></p>
<p><span><span><span>Best,</span></span></span></p>
<p><span><span><span>Christoph</span></span></span></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
</body>
</html>