<html><body bgcolor="#FFFFFF"><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><span>As bob &amp; levente point out, it's because all callback blocks share the same scope with the same variable 'index'. But I think the following might be a quicker fix:<span class="Apple-tab-span" style="white-space: pre; ">        </span></span></span><div><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.226562); -webkit-composition-frame-color: rgba(77, 128, 180, 0.226562);"><br></span></div><div><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><span><span class="Apple-tab-span" style="white-space: pre; "></span>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;| index |</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span>index := 1.</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span>8 timesRepeat: [</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>aRenderer tableRow: [</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>5 timesRepeat: [<span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span></span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>aRenderer tableData: [</span></span><div><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><span></span>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |current |&nbsp;</span></div><div><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.226562); -webkit-composition-frame-color: rgba(77, 128, 180, 0.226562);">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;current := index.</span></div><div><span class="Apple-style-span" style="font-size: medium; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); "><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>aRenderer anchor</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>callback: [ self callbackFor: current ];</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>with: 'image link'.</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>index := index + 1.</span><br><span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span><span class="Apple-tab-span" style="white-space: pre; ">        </span>] &nbsp;] ] ].</span></span><div><br>On 01 Nov 2010, at 02:41, Hernán Morales Durand &lt;<a href="mailto:hernan.morales@gmail.com">hernan.morales@gmail.com</a>&gt; wrote:<br><br></div><div></div><blockquote type="cite"><div><span>Hi all,</span><br><span></span><br><span>I'm experimenting different behavior between Seaside 2.8 and 3.0</span><br><span>regarding parameters passed in callback blocks. Attached there is code</span><br><span>to test in both platforms (just click in any of the first 8 links),</span><br><span>the problem is in the variable index in the #callback: of the</span><br><span>following code</span><br><span></span><br><blockquote type="cite"><blockquote type="cite"><span>renderBlabla</span><br></blockquote></blockquote><span><span class="Apple-tab-span" style="white-space:pre">        </span>| index |</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span>index := 1.</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span>8 timesRepeat: [</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>aRenderer tableRow: [</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>5 timesRepeat: [<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span></span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>aRenderer tableData: [</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>aRenderer anchor</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>callback: [ self callbackFor: index ];</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>with: 'image link'.</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>index := index + 1.</span><br><span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>] &nbsp;] ] ].</span><br><span></span><br><span>In Seaside 2.8 after clicking the link 3 for example, the</span><br><span>#callbackFor: method received 3 as parameter.</span><br><span>In Seaside 3.0 #callbackFor: receive 41.</span><br><span></span><br><span>I would like to preserve the parameter value configured in the</span><br><span>rendering phase, any suggestion how to do that in Seaside 3? (Using</span><br><span>PharoVM 4.0.2 12/4/2010 and Pharo1.1rc2 #11400)</span><br><span>Cheers,</span><br><span></span><br><span>-- </span><br><span>Hernán Morales</span><br><span>Information Technology Manager,</span><br><span>Institute of Veterinary Genetics.</span><br><span>National Scientific and Technical Research Council (CONICET).</span><br><span>La Plata (1900), Buenos Aires, Argentina.</span><br><span>Telephone: +54 (0221) 421-1799.</span><br><span>Internal: 422</span><br><span>Fax: 425-7980 or 421-1799.</span><br></div></blockquote><blockquote type="cite"><div>&lt;TestCallbackIndex-Core (Seaside 3).st&gt;</div></blockquote><blockquote type="cite"><div>&lt;TestCallbackIndex-Core (Seaside 28).st&gt;</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>seaside mailing list</span><br><span><a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a></span><br><span><a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a></span><br></div></blockquote></div></div></body></html>