<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<br>
<font size="2">Hey Paul,<br>
<br>
regarding the attached code: why do you expect a call to
clear-output-record when it is only moved around? how the issue is
visible in the attached code (except for that (trace
clear-output-record) doesn't yield anything).<br>
<br>
Just noting that LispWorks CLIM calls clear-output-record
restoring the previously drawn area. That may be from LispWorks
CLIM using redisplay-output-record ,as shown in the following
trace, which is supposed to take care to restore anything
previously covered. I don't a clear understanding of how all this
works as yet.<br>
<br>
UTEST 5 > (testme)<br>
0 CLEAR-OUTPUT-RECORD > ...<br>
>> CLIM-INTERNALS::RECORD :
#<STANDARD-TREE-OUTPUT-HISTORY /x 0:0 y 0:0/ 22B34603><br>
0 CLEAR-OUTPUT-RECORD < ...<br>
<< VALUE-0 : 0<br>
draw-unit #<TEST-UNIT <150 150>><br>
--draw-circle<br>
draw-unit #<TEST-UNIT <250 50>><br>
--draw-circle<br>
<br>
Now I click right once.<br>
<br>
0 REDISPLAY-OUTPUT-RECORD > ...<br>
>> CLIM-INTERNALS::RECORD :
#<STANDARD-UPDATING-OUTPUT-RECORD /x 0:301 y 0:301/
22D6E923><br>
>> STREAM : #<EXAMPLE-PANE
22E3274B><br>
>> CLIM-INTERNALS::CHECK-OVERLAPPING : T<br>
1 CLEAR-OUTPUT-RECORD > ...<br>
>> CLIM-INTERNALS::RECORD :
#<STANDARD-UPDATING-OUTPUT-RECORD /x 0:301 y 0:301/
22D6E923><br>
1 CLEAR-OUTPUT-RECORD < ...<br>
<< VALUE-0 : 0<br>
draw-unit #<TEST-UNIT <145.0 150>><br>
1 CLEAR-OUTPUT-RECORD > ...<br>
>> CLIM-INTERNALS::RECORD :
#<STANDARD-UPDATING-OUTPUT-RECORD /x 140.0:162.0 y 140.0:162.0/
22C61A13><br>
1 CLEAR-OUTPUT-RECORD < ...<br>
<< VALUE-0 : NIL<br>
1 CLEAR-OUTPUT-RECORD > ...<br>
>> CLIM-INTERNALS::RECORD : #<STANDARD-PRESENTATION
UNIT #<TEST-UNIT <145.0 150>> /x 140.0:162.0 y
140.0:162.0/ 22C60F2F><br>
1 CLEAR-OUTPUT-RECORD < ...<br>
<< VALUE-0 : NIL<br>
--draw-circle<br>
draw-unit #<TEST-UNIT <250 50>><br>
0 REDISPLAY-OUTPUT-RECORD < ...<br>
<< VALUE-0 : NIL<br>
<br>
</font><br>
<div class="moz-cite-prefix">On 2/1/2022 5:23 AM, Daniel Kochmański
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:e5V0vpHU6gBop3xTzENwptoelH3kiy5eJhW5hmGwMZ15loL4wdhMLk9dN-OBj8sS-Hzvbwi2qSbsm1z0bGz9cDrPWMNmZKbGkQMh82GwdjE=@turtleware.eu">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div style="font-family: arial; font-size: 14px;">Mind that
recently I rewrote parts of the incremental redisplay to fix
some issues - I'm not sure whether these changes are already
propagated to quicklisp.<br>
<br>
</div>
</blockquote>
I don't use quicklisp but do use github desktop to check on things.
I found a bunch of changes yesterday and found that my hack of
calling the display function for redisplay now works where before
changes made to the display were computed but not shown on the
screen. I had observed a lot of stuff in the output record cache
that I could not account for which is now gone. <br>
<br>
<blockquote type="cite"
cite="mid:e5V0vpHU6gBop3xTzENwptoelH3kiy5eJhW5hmGwMZ15loL4wdhMLk9dN-OBj8sS-Hzvbwi2qSbsm1z0bGz9cDrPWMNmZKbGkQMh82GwdjE=@turtleware.eu">
<div style="font-family: arial; font-size: 14px;">btw when you
draw the border it makes the window bigger with each iteration,
because the line thickness is 1 and it is not filled, so drawing
(x1 y1 x2 y2) actually covers the area (x1 y1 x2+1 y2+1).<br>
<div style="font-family: arial; font-size: 14px;"><br>
</div>
</div>
</blockquote>
I had not even noticed that problem! Thanks for the info.<br>
<blockquote type="cite"
cite="mid:e5V0vpHU6gBop3xTzENwptoelH3kiy5eJhW5hmGwMZ15loL4wdhMLk9dN-OBj8sS-Hzvbwi2qSbsm1z0bGz9cDrPWMNmZKbGkQMh82GwdjE=@turtleware.eu">
<div style="font-family: arial; font-size: 14px;">
<div style="font-family: arial; font-size: 14px;">As of the
second issue, could you supply a code that triggers the issue?
Thanks!<br>
</div>
</div>
</blockquote>
That would be redisplay-frame-pane causing infinite recursion. I
shall work something up.<br>
<br>
Thanks for looking at this.<br>
<br>
Paul<br>
<br>
</body>
</html>