<body><div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">
                                        -1<div><br></div><div>LazyListMorph has only a (kind of) private communication to fulfill towards PluggableListMorph. The proper access goes through #item: or #getListItem:. See categories "list access" and "list access - cached".</div><div><br></div><div>If you want to make a change in this regard, you have to consider the entire protocol, which includes: #listItems, #listIcons, and #listFilterOffsets.</div><div><br></div><div>Best,</div><div>Marcel</div><div class="mb_sig"></div><blockquote class="history_container" type="cite" style="border-left-style:solid;border-width:1px; margin-top:20px; margin-left:0px;padding-left:10px;">
                        <p style="color: #AAAAAA; margin-top: 10px;">Am 20.03.2020 20:50:19 schrieb commits@source.squeak.org <commits@source.squeak.org>:</p><div style="font-family:Arial,Helvetica,sans-serif">Christoph Thiede uploaded a new version of Morphic to project The Inbox:<br>http://source.squeak.org/inbox/Morphic-ct.1639.mcz<br><br>==================== Summary ====================<br><br>Name: Morphic-ct.1639<br>Author: ct<br>Time: 20 March 2020, 8:49:59.689237 pm<br>UUID: 068f59a1-989d-b244-ad1f-84e726dcf055<br>Ancestors: Morphic-eem.1638<br><br>Extracts lazy accessor in LazyListMorph<br><br>This does not only follow SRP but also makes it easier for other objects to access listItems properly. Pheno uses this, for example [1].<br><br>[1] https://github.com/tom95/Pheno/commit/ab39c5b72c1764e9d525e287f3efff99917b38e2#diff-bf98bbb5fedbbc4b66a4b825d3c8d14b<br><br>=============== Diff against Morphic-eem.1638 ===============<br><br>Item was changed:<br>  ----- Method: LazyListMorph>>item: (in category 'list access - cached') -----<br>  item: index<br>          "Do inst-var access on listItems here to initialize it as late as possible."<br>  <br>+   ^ (self listItems at: index) ifNil: [<br>-        listItems ifNil: [listItems := Array new: self getListSize].<br>- <br>-     ^ (listItems at: index) ifNil: [<br>              | newItem itemWidth |   <br>              newItem := self getListItem: index.<br>  <br>               "Update the width cache."<br>           maxWidth ifNotNil: [<br>                          itemWidth := self widthToDisplayItem: newItem.<br>                        itemWidth > maxWidth ifTrue: [<br>                             maxWidth := itemWidth.<br>                                super layoutChanged]].<br>  <br>            listItems at: index put: newItem.<br>             newItem].!<br><br>Item was added:<br>+ ----- Method: LazyListMorph>>listItems (in category 'accessing') -----<br>+ listItems<br>+ <br>+       ^ listItems ifNil: [listItems := Array new: self getListSize]!<br><br><br></div></blockquote>
                                        </div></body>