<div dir="auto">Hi Juan,<div dir="auto"><br></div><div dir="auto">I'm glad there was a better solution!</div><div dir="auto">I didn't see the fiz coming from the Morphic side.</div><div dir="auto"><br></div><div dir="auto">Thank you. </div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Nico PM</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 30, 2023, 18:40 Juan Vuletich <<a href="mailto:juan@cuis.st">juan@cuis.st</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>

  
    
    
  
  <div bgcolor="#ffffff" text="#000000">
    On 10/29/2023 6:28 PM, Nicolás Papagna Maldonado via Cuis-dev wrote:
    <blockquote type="cite">
      <div dir="ltr">Hi folks,
        <div><br>
        </div>
        <div>The attached changeset fixes a bug that caused the image to
          freeze when inspecting objects with huge #<font face="monospace">printOn:</font> results.</div>
        <div><br>
        </div>
        <div>To reproduce the error:</div>
        <div>
          <ol>
            <li>Open a workspace</li>
            <li>Evaluate <font face="monospace">CompiledMethod
                allInstances inject: Dictionary new into: [ :dict
                :method |  dict at: method put: method sourceCode. dict
                ]</font></li>
            An inspector will be opened on the dictionary created above
            <li>Click on <font face="monospace">self</font></li>
            <li>Notice the image hangs while waiting for the <font face="monospace">#printOn: </font>message send.</li>
          </ol>
          To fix this bug, I limited the time to print the selected item
          to 300 milliseconds and showed an appropriate error message
          when that happened.</div>
        <div><br>
        </div>
        <div>LMK your thoughts.</div>
        <div><br>
        </div>
        <div>Cheers,</div>
        <div>Nico PM</div>
      </div>
    </blockquote>
    <br>
    Hi Nico,<br>
    <br>
    I think that using #valueWithin:onTimeout: is like shooting a
    mosquito with a gun. I preferred a solution with two parts:<br>
    - printing a Dictionary doesn't need to sort the keys. Dictionaries
    are not sorted.<br>
    - Any stepping morph that takes longer than its #stepTime will be
    limited in its stepping time so GUI stays (barely) responsive.<br>
    <br>
    Updates now at GitHub.<br>
    <br>
    Thanks,<br>
    <pre cols="72">-- 
Juan Vuletich
<a href="http://cuis.st" target="_blank" rel="noreferrer">cuis.st</a>
<a href="http://github.com/jvuletich" target="_blank" rel="noreferrer">github.com/jvuletich</a>
<a href="http://researchgate.net/profile/Juan-Vuletich" target="_blank" rel="noreferrer">researchgate.net/profile/Juan-Vuletich</a>
<a href="http://independent.academia.edu/JuanVuletich" target="_blank" rel="noreferrer">independent.academia.edu/JuanVuletich</a>
<a href="http://patents.justia.com/inventor/juan-manuel-vuletich" target="_blank" rel="noreferrer">patents.justia.com/inventor/juan-manuel-vuletich</a>
<a href="http://linkedin.com/in/juan-vuletich-75611b3" target="_blank" rel="noreferrer">linkedin.com/in/juan-vuletich-75611b3</a>
<a href="http://twitter.com/JuanVuletich" target="_blank" rel="noreferrer">twitter.com/JuanVuletich</a></pre>
  </div>

</blockquote></div>