CLIM mail archive

[Prev][Next][Index][Thread]

1.1 dissappearing text ...



You've prolly tried these, but here are some suggestions;

> From: Daniel D Suthers <suthers+@pitt.edu>
> 
> CLIM 1.1, Lucid and MCL
> 
> Anyone have ideas on why text would disappear a few seconds after it is
> displayed? 
> 
> Clues:
> 
>  * This happens after redraw of the text (e.g., a subtext had been
> "selected", or a
>    screen "refresh" command is run). It happens "spontaneously" -- i.e.,
> when no
>    user activity is going on, and does so reliably.

Define your own refresh method (using define-presentation-method
refresh-presentation I believe or something like that), if this works,
then something is either screwed up in the output record - good idea to
inspect them - they should be in the window's output history, check if
(replay <rec> <stream>) and also (redisplay <rec> <stream>) works - I
believe refresh uses one of these functions, prolly the latter, which
doesn't always redraw unless a slot in the output record is true, I think.

Or the refresh method is bad - could be as simple as including a
(force-output <stream>) at the end of the refresh.  X buffers drawing
commands and unless a force-output or equivalent is executed at some
point nothing get drawn.  There's a global variable *clx-force... that
forces immediate display of any graphic command, set it to t and see
if it makes any difference (this should only affect X-based machines).

> 
> * After the text disappears, the presentations are still there (the
> whitespace gets
>   highlighted "correctly" under the cursor as if the text were there).

That's quite surely because the bounding box of the presentation has
the right value, it doesn't care what is on the screen.  Check if
(redisplay-frame-panes <frame> :force-p t) redraws everything correctly.

> * This does NOT happen:
>    - after the initial display of the frame
>    - to our graphics

If redisplay is used for refresh, then it should work the first time,
and maybe decide later not to redraw because it doesn't think anything
has changed. 

> * When the window is buried and re-exposed, the text is displayed correctly 
> and does not disappear until the next redraw.

This maybe because the underlying window system saves the bits itself and
is doing it's own refresh - did you specify SAVE-UNDER to be t in your
frame creation?

My guess is that the refresh method for the presentation is screwed.

Good luck.

Chee.

References:

Main Index | Thread Index