A proposed fix is in the inbox in Morphic-dtl.634.
Dave
On Wed, Jan 09, 2013 at 07:33:18PM -0500, Bob Arning wrote:
> Morph>>layoutBounds: and Morph>>doLayoutIn: share the job of
> repositioning/sizing a morph, but only the latter invalidates changed
> areas. Sample below:
>
> showLayoutProblem
> "
> Morph showLayoutProblem
> "
> | paneHeight row searchCount |
>
> row _ AlignmentMorph newRow.
> row addMorph: (StringMorph contents: 'hello').
>
> searchCount _ StringMorph new contents: '?'.
> row addMorphBack: (
> AlignmentMorph newColumn
> layoutInset: 5;
> color: Color tan;
> listCentering: #center;
> hResizing: #shrinkWrap;
> addMorph: searchCount;
> yourself
> ).
>
> paneHeight _ StringMorph new contents: '?'.
> row addMorphBack: (
> AlignmentMorph newColumn
> layoutInset: 5;
> color: Color gray;
> listCentering: #center;
> hResizing: #shrinkWrap;
> addMorph: paneHeight;
> yourself
> ).
>
> searchCount contents: 'ssss'.
> paneHeight contents: 'pppp'.
> Morph new
> extent: 300@100;
> color: Color white;
> addMorph: row;
> openInWorld.
> [
> (Delay forSeconds: 3) wait.
> paneHeight contents: 'p'.
> ] fork.
>
>