summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-02-08 09:38:33 +0800
committerPo Lu <luangruo@yahoo.com>2022-02-08 09:38:33 +0800
commit4592fb4046461ada4ad011adcd477196cc95d6b4 (patch)
tree0d9bcae3843652561d359796ed4b43ffb27b1706
parentcdf7e2e02130d980c9e70f4d5a019b52d7914de6 (diff)
downloademacs-4592fb4046461ada4ad011adcd477196cc95d6b4.tar.gz
* src/pgtkfns.c (Fx_create_frame): Realize frame widgets. (bug#53861)
-rw-r--r--src/pgtkfns.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index 534f1dc2a99..1535ab9f731 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -1586,6 +1586,14 @@ This function is an internal primitive--use `make-frame' instead. */ )
xg_create_frame_widgets (f);
pgtk_set_event_handler (f);
+ if (FRAME_GTK_OUTER_WIDGET (f))
+ gtk_widget_realize (FRAME_GTK_OUTER_WIDGET (f));
+
+ /* Many callers (including the Lisp functions that call
+ FRAME_SCALE_FACTOR) expect the widget to be realized. */
+ if (FRAME_GTK_WIDGET (f))
+ gtk_widget_realize (FRAME_GTK_WIDGET (f));
+
#define INSTALL_CURSOR(FIELD, NAME) \
FRAME_X_OUTPUT (f)->FIELD = gdk_cursor_new_for_display (FRAME_X_DISPLAY (f), GDK_ ## NAME)