# HG changeset patch # User Richard M. Stallman # Date 782111902 0 # Node ID db02bc274f208b1dd15dddcd8809548a2a6f5ea4 # Parent be69f1559d4f9eb55a67b345b419ec6e304d8b19 (Fx_create_frame): Init the FRAME_X_SCREEN as soon as can be done. diff -r be69f1559d4f -r db02bc274f20 src/xfns.c --- 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