emacs-diffs
[Top][All Lists]
Advanced

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

emacs-29 7b9e83d3cf9: Fix bug#64923


From: Po Lu
Subject: emacs-29 7b9e83d3cf9: Fix bug#64923
Date: Sun, 30 Jul 2023 09:19:20 -0400 (EDT)

branch: emacs-29
commit 7b9e83d3cf92abf1411c1999068839a7e1bb36e8
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Fix bug#64923
    
    * src/xfns.c (Fx_create_frame): Prevent cairo surface from being
    left without a desired size.  (bug#64923)
---
 src/xfns.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/xfns.c b/src/xfns.c
index 528ae61ca32..d723b1f7d7c 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5109,6 +5109,17 @@ This function is an internal primitive--use `make-frame' 
instead.  */)
   gui_default_parameter (f, parms, Qfullscreen, Qnil,
                          "fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
 
+#ifdef USE_CAIRO
+  /* Set the initial size of the Cairo surface to the frame's current
+     width and height.  If the window manager doesn't resize the new
+     frame after it's first mapped, Emacs will create a surface with
+     empty dimensions in response to to the initial exposure event,
+     which will persist until the next time it's resized.
+     (bug#64923) */
+  x_cr_update_surface_desired_size (f, FRAME_PIXEL_WIDTH (f),
+                                   FRAME_PIXEL_HEIGHT (f));
+#endif /* USE_CAIRO */
+
   /* Make the window appear on the frame and enable display, unless
      the caller says not to.  However, with explicit parent, Emacs
      cannot control visibility, so don't try.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]