updating-output issues

Daniel Kochmański daniel at turtleware.eu
Tue Feb 1 10:23:02 UTC 2022


Hey Paul,

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).

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.

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).

As of the second issue, could you supply a code that triggers the issue? Thanks!

Best regards,
Daniel

--
Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland
TurtleWare - Daniel Kochmański | www.turtleware.eu

"Be the change that you wish to see in the world." - Mahatma Gandhi

------- Original Message -------
On Friday, January 28th, 2022 at 19:26, Paul Werkowski <pw at snoopy.qozzy.com> wrote:

> I've been revisiting a clim project from 15 years ago which was to provide clim graphics to Dan Corkhill's very nice GBBopen blackboard system. I have an initial version now working nicely on Lispworks clim-2.0 on Windows. It is close to running with McCLIM as well.
>
> I have two issues, updating-output appears to work in that the :cache-test is respected but where Lispworks clim calls clear-output-record when a displayed object moves or is deleted McCLIM does not do so. I have attached a simple demo that shows that problem. Just click right or left anywhere in the pane to move the green disk left or right to see the problem.
>
> The other issue is that redisplay-frame-pane (not used in the demo) always causes an infinite recursion that finally results in a blown stack. Part of the problem is with window-clear which in addition to using medium-clear-area, etc to clear the screen also sets window size to zero and then calls compose-space. I have an :around method that avoids that problem but the redisplay recursion persists. My workaround for that is to just call the display function directly but that does not allow updating-output to work correctly.
>
> Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/mcclim-devel/attachments/20220201/bac2ce8d/attachment.html>


More information about the mcclim-devel mailing list