aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1996-06-29 06:45:08 +0000
committerRichard M. Stallman1996-06-29 06:45:08 +0000
commitecaca5875ac0124921267ee81894f82fc40afec0 (patch)
tree7daa7ce2095afa5a812b1f2fc4dd8969031399a4
parent8798879498aed59df771c7b45bff94a69f7c73e6 (diff)
downloademacs-ecaca5875ac0124921267ee81894f82fc40afec0.tar.gz
emacs-ecaca5875ac0124921267ee81894f82fc40afec0.zip
(Fx_create_frame): Gcpro parms, parent, and name.
-rw-r--r--src/xfns.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 8896fc46373..849dc8d1aa4 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3011,7 +3011,7 @@ This function is an internal primitive--use `make-frame' instead.")
3011 long window_prompting = 0; 3011 long window_prompting = 0;
3012 int width, height; 3012 int width, height;
3013 int count = specpdl_ptr - specpdl; 3013 int count = specpdl_ptr - specpdl;
3014 struct gcpro gcpro1; 3014 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
3015 Lisp_Object display; 3015 Lisp_Object display;
3016 struct x_display_info *dpyinfo; 3016 struct x_display_info *dpyinfo;
3017 Lisp_Object parent; 3017 Lisp_Object parent;
@@ -3049,6 +3049,11 @@ This function is an internal primitive--use `make-frame' instead.")
3049 if (! NILP (parent)) 3049 if (! NILP (parent))
3050 CHECK_NUMBER (parent, 0); 3050 CHECK_NUMBER (parent, 0);
3051 3051
3052 /* make_frame_without_minibuffer can run Lisp code and garbage collect. */
3053 /* No need to protect DISPLAY because that's not used after passing
3054 it to make_frame_without_minibuffer. */
3055 frame = Qnil;
3056 GCPRO4 (parms, parent, name, frame);
3052 tem = x_get_arg (parms, Qminibuffer, 0, 0, symbol); 3057 tem = x_get_arg (parms, Qminibuffer, 0, 0, symbol);
3053 if (EQ (tem, Qnone) || NILP (tem)) 3058 if (EQ (tem, Qnone) || NILP (tem))
3054 f = make_frame_without_minibuffer (Qnil, kb, display); 3059 f = make_frame_without_minibuffer (Qnil, kb, display);
@@ -3062,12 +3067,11 @@ This function is an internal primitive--use `make-frame' instead.")
3062 else 3067 else
3063 f = make_frame (1); 3068 f = make_frame (1);
3064 3069
3070 XSETFRAME (frame, f);
3071
3065 /* Note that X Windows does support scroll bars. */ 3072 /* Note that X Windows does support scroll bars. */
3066 FRAME_CAN_HAVE_SCROLL_BARS (f) = 1; 3073 FRAME_CAN_HAVE_SCROLL_BARS (f) = 1;
3067 3074
3068 XSETFRAME (frame, f);
3069 GCPRO1 (frame);
3070
3071 f->output_method = output_x_window; 3075 f->output_method = output_x_window;
3072 f->output_data.x = (struct x_output *) xmalloc (sizeof (struct x_output)); 3076 f->output_data.x = (struct x_output *) xmalloc (sizeof (struct x_output));
3073 bzero (f->output_data.x, sizeof (struct x_output)); 3077 bzero (f->output_data.x, sizeof (struct x_output));