Re: [STUMP] [PATCH] double buffering

From:

Shawn Betts

Subject:

Re: [STUMP] [PATCH] double buffering

Date:

Fri, 24 Apr 2009 09:26:37 -0700

On Wed, Apr 22, 2009 at 3:44 AM, Vitaly Mayatskikh
<address@hidden> wrote:
> At Wed, 22 Apr 2009 02:45:12 -0700, Shawn Betts wrote:
>
>> > I'm tired to see darn flickering mode-line and message windows,
>> > here's patch.
>>
>> Thanks Vitaly! I stuck this in the carrier system manifold, next to
>> the pizza boxes. I made one small change to the patch in
>> render-strings. Since it didn't seem that win was used below your
>> added (if ...) clause when draw was nil, there didn't seem to be any
>> reason to (setq px win). So I removed that part. It still seems to
>> work...Let me know if that was a "bad idea."
>
> I think StumpWM will die if tries to call render-string with (draw
> nil) for newly created windows, because px is yet nil.
But px is only used when draw is non-nil:
(when draw
(xlib:draw-image-glyphs px gc
do (when draw (invert-rect screen px
(when draw
(xlib:copy-area px gc 0 0 (xlib:drawable-width px)
(xlib:drawable-height px) win 0 0))
And when draw is non-nil, px is always recreated, which on a side-note
is probably not very efficient. So I think we're all good, no?
-Shawn