changeset 9528:db02bc274f20

(Fx_create_frame): Init the FRAME_X_SCREEN as soon as can be done.
author Richard M. Stallman <rms@gnu.org>
date Fri, 14 Oct 1994 05:18:22 +0000
parents be69f1559d4f
children 8e610355cb29
files src/xfns.c
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfns.c	Fri Oct 14 04:49:32 1994 +0000
+++ b/src/xfns.c	Fri Oct 14 05:18:22 1994 +0000
@@ -1879,7 +1879,8 @@
 
 #ifdef USE_X_TOOLKIT
 
-/* WM_DELETE_WINDOW, and WM_SAVE_YOURSELF, then add them.  (They may
+/* If the WM_PROTOCOLS property does not already contain WM_TAKE_FOCUS,
+   WM_DELETE_WINDOW, and WM_SAVE_YOURSELF, then add them.  (They may
    already be present because of the toolkit (Motif adds some of them,
    for example, but Xt doesn't).  */
 
@@ -2362,6 +2363,10 @@
   f->display.x = (struct x_display *) xmalloc (sizeof (struct x_display));
   bzero (f->display.x, sizeof (struct x_display));
 
+  FRAME_X_SCREEN (f) = &the_x_screen;
+  FRAME_X_SCREEN (f)->reference_count++;
+  the_x_screen.x_display_value = x_current_display;
+
   /* Note that the frame has no physical cursor right now.  */
   f->phys_cursor_x = -1;
 
@@ -2491,10 +2496,6 @@
   tem = x_get_arg (parms, Qunsplittable, 0, 0, boolean);
   f->no_split = minibuffer_only || EQ (tem, Qt);
 
-  FRAME_X_SCREEN (f) = &the_x_screen;
-  FRAME_X_SCREEN (f)->reference_count++;
-  the_x_screen.x_display_value = x_current_display;
-
   UNGCPRO;
 
   /* It is now ok to make the frame official