diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/frame.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/frame.c b/src/frame.c index e393e597e0a..7184c20b797 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -593,7 +593,6 @@ A frame may not be deleted if its minibuffer is used by other frames.") | |||
| 593 | Lisp_Object frame; | 593 | Lisp_Object frame; |
| 594 | { | 594 | { |
| 595 | struct frame *f; | 595 | struct frame *f; |
| 596 | union display displ; | ||
| 597 | 596 | ||
| 598 | if (EQ (frame, Qnil)) | 597 | if (EQ (frame, Qnil)) |
| 599 | { | 598 | { |
| @@ -654,14 +653,19 @@ A frame may not be deleted if its minibuffer is used by other frames.") | |||
| 654 | 653 | ||
| 655 | Vframe_list = Fdelq (frame, Vframe_list); | 654 | Vframe_list = Fdelq (frame, Vframe_list); |
| 656 | FRAME_SET_VISIBLE (f, 0); | 655 | FRAME_SET_VISIBLE (f, 0); |
| 657 | displ = f->display; | ||
| 658 | f->display.nothing = 0; | ||
| 659 | 656 | ||
| 657 | /* Since some events are handled at the interrupt level, we may get | ||
| 658 | an event for f at any time; if we zero out the frame's display | ||
| 659 | now, then we may trip up the event-handling code. Instead, we'll | ||
| 660 | promise that the display of the frame must be valid until we have | ||
| 661 | called the window-system-dependent frame destruction routine. */ | ||
| 660 | #ifdef HAVE_X_WINDOWS | 662 | #ifdef HAVE_X_WINDOWS |
| 661 | if (FRAME_X_P (f)) | 663 | if (FRAME_X_P (f)) |
| 662 | x_destroy_window (f, displ); | 664 | x_destroy_window (f); |
| 663 | #endif | 665 | #endif |
| 664 | 666 | ||
| 667 | f->display.nothing = 0; | ||
| 668 | |||
| 665 | /* If we've deleted the last_nonminibuf_frame, then try to find | 669 | /* If we've deleted the last_nonminibuf_frame, then try to find |
| 666 | another one. */ | 670 | another one. */ |
| 667 | if (f == last_nonminibuf_frame) | 671 | if (f == last_nonminibuf_frame) |