Black flashes


Owen said:

    I think that we shouldn't unset the background for windows without the 
    EXPOSURE mask - if you unset the EXPOSURE mask, to me, that says that
    you want what the X server is going to draw.

so the patch I committed contains a check for the EXPOSURE mask. If it
isn't there, the window won't get its background unset. This is a
problem, because some widgets create "invisible" windows, typeically
for clipping purposes, that 

        - don't have the EXPOSURE mask
        - are fully covered by another window
        - don't have a background

When you resize such a window it will become visible for a moment
until the other window is resized to cover it again. Before such a
window would get it's background unset, so it wouldn't flicker but
that doesn't happen now, so you get a brief black flash until the
window is covered again.

I see two possibilities

   1) Go back to unsetting the background for such windows and draw
      the background manually for windows without EXPOSURE

   2) Fix the widgets (I noticed it for GtkViewport and GtkTextView - there
      may be others).

I think I'd prefer (1). Not having EXPOSURE may mean you want what the
X server is going to draw, but that doesn't change the fact that if
"what the X server is going to draw" is different from everything else
and only visible for brief moment, you'll get a flash -- and we should
avoid that if possible.

Fixing the widgets is possible, but there may be third-party widgets
doing the same.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]