Subject: bug#77988: 31.0.50; No more images after fullscreen and load-theme

From: Alan Third <[email-masked]>
Date: Fri, 23 May 2025 21:34:43 +0100

On Tue, May 20, 2025 at 09:58:26PM +0100, Alan Third wrote:
> Reverting commit 6ea69fc7340e48cf73df351a544c1d8946395b3d seems to
> make the problem go away. Cairo doesn't use the x_composite_image
> function. It looks like the destination parameter is not always valid.
> I had a look and it's usually populated from FRAME_X_PICTURE (s->f)
> but a quick investigation left me none-the-wiser as to where THAT is
> set and why it might go bad.

In case it's helpful to someone else I'll note that I found this
comment in xterm.c:

      /* Unfortunately, we need to call x_drop_xrender_surfaces for
         _all_ ConfigureNotify events, otherwise we miss some and
         flicker.  Don't try to optimize these calls by looking only
         for size changes: that's not sufficient.  We miss some
         surface invalidations and flicker.  */

x_drop_xrender_surfaces resets FRAME_X_PICTURE(s->f).

My suspicion is that loading modus-operandi is causing some other sort
of event that's been missed that invalidates the surface. I've no idea
what that could be though, as far as I can tell modus-operandi just
sets colours.

Loading other themes doesn't seem to trigger the bug though.

-- 
Alan Third