summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-07-31 11:11:23 -0400
committerEli Zaretskii <eliz@gnu.org>2023-07-31 11:11:23 -0400
commitec80c3e544eaf455e89f5b6bd84602b75dafdfd1 (patch)
treed4ef3a988618cbe487689e31faa3a3157bc27f07 /src
parentcd6629c5dc73599176e7781b0a62b8904702f50a (diff)
parent092a2ecb083d9f3e301c5b9bf23e0f2f666fec27 (diff)
Merge from origin/emacs-29
092a2ecb083 ; * admin/make-tarball.txt: Update based on latest experi... 7b9e83d3cf9 Fix bug#64923
Diffstat (limited to 'src')
-rw-r--r--src/xfns.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 55bcfb8e20e..222e24f1326 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5393,6 +5393,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. */