<br><br><br>Accidently send to the sender, not the mailing list, forwarding<br>-------- Oryginalna wiadomość --------<br> 3 sty 2021, 16:52, Daniel Kochmański napisał(a):<blockquote class="protonmail_quote"><br><p dir="ltr">If the beer is at stake, I shall take a guess!</p>
<p dir="ltr">When 1+ is used, we draw beyond the sheet region. That means, that *if*<br>
we call change-space-requirements it will cause a call to resize-sheet,<br>
which in turn will: a) clear the screen, b) call redisplay-frame-pane.</p>
<p dir="ltr">Since the sheet region has changed, redisplaying the frame pane will<br>
expand it even further, so we go back to the *if* part.</p>
<p dir="ltr">Now, regarding the *if*, we have a bogus method:</p>
<p dir="ltr">(defmethod stream-read-gesture :before ((stream clim-stream-pane)<br>
&key timeout peek-p<br>
input-wait-test<br>
input-wait-handler<br>
pointer-button-press-handler)<br>
(declare (ignore timeout peek-p input-wait-test input-wait-handler<br>
pointer-button-press-handler))<br>
(force-output stream)<br>
;; make the output visible<br>
(let ((w (bounding-rectangle-max-x (stream-output-history stream)))<br>
(h (bounding-rectangle-max-y (stream-output-history stream))))<br>
(unless (region-contains-region-p (sheet-region stream)<br>
(make-rectangle* 0 0 w h))<br>
(change-space-requirements stream)<br>
(finish-output stream)<br>
(redisplay-frame-pane *application-frame* stream))))</p>
<p dir="ltr">that causes bogus redisplays before each gesture read, so when we move<br>
the pointer over the window, we enter the loop:</p>
<p dir="ltr">1. display (and expand the output history)<br>
2. move the pointer<br>
3. change space requirements (and resize)<br>
4. goto 1</p>
<p dir="ltr">as a bonus point we have one more unnecessary redisplay.</p>
<p dir="ltr">The fun part is that I have changes stashed that remove this method.</p>
<p dir="ltr">All best,<br>
Daniel</p>
<p dir="ltr">--<br>
Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland<br>
TurtleWare - Daniel Kochmański | <a href="http://www.turtleware.eu">www.turtleware.eu</a></p>
<p dir="ltr">"Be the change that you wish to see in the world." - Mahatma Gandhi</p>
<p dir="ltr">‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br>
On Sunday, 3 January 2021 16:18, Paul Werkowski <pw@snoopy.qozzy.com> wrote:</p>
<p dir="ltr">> Run the frame as is. Grab the lower corner with mouse pointer. Move it<br>
> around.<br>
><br>
> Then change either or both of the (1+ ...) forms to (1- ...) and see<br>
> what happens.<br>
><br>
> A free virtual beer to whomever solves it.</p>
</div>