aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/frame.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/frame.c b/src/frame.c
index 4256a9187c9..48bd2453167 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -383,6 +383,7 @@ make_frame_without_minibuffer (mini_window, kb, display)
383 Lisp_Object display; 383 Lisp_Object display;
384{ 384{
385 register struct frame *f; 385 register struct frame *f;
386 struct gcpro gcpro1;
386 387
387 if (!NILP (mini_window)) 388 if (!NILP (mini_window))
388 CHECK_LIVE_WINDOW (mini_window, 0); 389 CHECK_LIVE_WINDOW (mini_window, 0);
@@ -402,10 +403,16 @@ make_frame_without_minibuffer (mini_window, kb, display)
402 if (!FRAMEP (kb->Vdefault_minibuffer_frame) 403 if (!FRAMEP (kb->Vdefault_minibuffer_frame)
403 || ! FRAME_LIVE_P (XFRAME (kb->Vdefault_minibuffer_frame))) 404 || ! FRAME_LIVE_P (XFRAME (kb->Vdefault_minibuffer_frame)))
404 { 405 {
406 Lisp_Object frame_dummy;
407
408 XSETFRAME (frame_dummy, f);
409 GCPRO1 (frame_dummy);
405 /* If there's no minibuffer frame to use, create one. */ 410 /* If there's no minibuffer frame to use, create one. */
406 kb->Vdefault_minibuffer_frame 411 kb->Vdefault_minibuffer_frame =
407 = call1 (intern ("make-initial-minibuffer-frame"), display); 412 call1 (intern ("make-initial-minibuffer-frame"), display);
413 UNGCPRO;
408 } 414 }
415
409 mini_window = XFRAME (kb->Vdefault_minibuffer_frame)->minibuffer_window; 416 mini_window = XFRAME (kb->Vdefault_minibuffer_frame)->minibuffer_window;
410 } 417 }
411 418