GNU bug report logs - #48413
28.0.50; emacs does not repaint the window after switching workspaces in Xmonad

Previous Next

Package: emacs;

Reported by: Platon Pronko <platon7pronko <at> gmail.com>

Date: Fri, 14 May 2021 08:33:02 UTC

Severity: normal

Tags: fixed

Found in version 28.0.50

Fixed in version 28.1

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 48413 <at> debbugs.gnu.org (full text, mbox):

From: Platon Pronko <platon7pronko <at> gmail.com>
To: martin rudalics <rudalics <at> gmx.at>, 48413 <at> debbugs.gnu.org
Subject: Re: bug#48413: 28.0.50; emacs does not repaint the window after
 switching workspaces in Xmonad
Date: Fri, 14 May 2021 18:28:29 +0300
> Can you please try the attached patch and tell me whether it improves or
> breaks things.

Yes, it fixes things - frame is repainted correctly now.

My attempt was similar, but I included more code alongside SET_FRAME_VISIBLE (same as in Expose handler):

+              block_input ();
+             SET_FRAME_VISIBLE (f, 1);
+             if (FRAME_X_DOUBLE_BUFFERED_P (f))
+                font_drop_xrender_surfaces (f);
+              f->output_data.x->has_been_visible = true;
+              SET_FRAME_GARBAGED (f);
+              unblock_input ();

I'm not very familiar with Emacs frame internals - we don't need all these here?

> Relying on these for setting visibility will fail for anyone who doesn't
> send us an Expose event. 

I agree, feels a little fragile.

Best regards,
Platon Pronko




This bug report was last modified 3 years and 295 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.