diff options
| author | Andreas Schwab | 2009-06-18 09:49:05 +0000 |
|---|---|---|
| committer | Andreas Schwab | 2009-06-18 09:49:05 +0000 |
| commit | 90f20d942216928a796fe8dca7ede19f95cf2df3 (patch) | |
| tree | fbee483aa554671a3f386cbedf3a65955f1ad50b /src | |
| parent | 647123d8f2b20d02fd7adc2a4c8816e766f65234 (diff) | |
| download | emacs-90f20d942216928a796fe8dca7ede19f95cf2df3.tar.gz emacs-90f20d942216928a796fe8dca7ede19f95cf2df3.zip | |
(redisplay_internal): Check that the frame is still
live after redisplay of its windows.
(redisplay_windows): Check that the window is still live.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 21803be7508..a0bb104d32c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2009-06-18 Andreas Schwab <aschwab@redhat.com> | ||
| 2 | |||
| 3 | * xdisp.c (redisplay_internal): Check that the frame is still | ||
| 4 | live after redisplay of its windows. | ||
| 5 | (redisplay_windows): Check that the window is still live. | ||
| 6 | |||
| 1 | 2009-06-17 Andreas Schwab <schwab@linux-m68k.org> | 7 | 2009-06-17 Andreas Schwab <schwab@linux-m68k.org> |
| 2 | 8 | ||
| 3 | * coding.c (detect_coding_utf_16): Fix previous change. | 9 | * coding.c (detect_coding_utf_16): Fix previous change. |
diff --git a/src/xdisp.c b/src/xdisp.c index dd2c8714c0c..8094b8f8e13 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -11838,6 +11838,10 @@ redisplay_internal (preserve_echo_area) | |||
| 11838 | if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f)) | 11838 | if (FRAME_VISIBLE_P (f) && !FRAME_OBSCURED_P (f)) |
| 11839 | redisplay_windows (FRAME_ROOT_WINDOW (f)); | 11839 | redisplay_windows (FRAME_ROOT_WINDOW (f)); |
| 11840 | 11840 | ||
| 11841 | /* The X error handler may have deleted that frame. */ | ||
| 11842 | if (!FRAME_LIVE_P (f)) | ||
| 11843 | continue; | ||
| 11844 | |||
| 11841 | /* Any scroll bars which redisplay_windows should have | 11845 | /* Any scroll bars which redisplay_windows should have |
| 11842 | nuked should now go away. */ | 11846 | nuked should now go away. */ |
| 11843 | if (FRAME_TERMINAL (f)->judge_scroll_bars_hook) | 11847 | if (FRAME_TERMINAL (f)->judge_scroll_bars_hook) |
| @@ -12255,7 +12259,7 @@ redisplay_windows (window) | |||
| 12255 | redisplay_windows (w->hchild); | 12259 | redisplay_windows (w->hchild); |
| 12256 | else if (!NILP (w->vchild)) | 12260 | else if (!NILP (w->vchild)) |
| 12257 | redisplay_windows (w->vchild); | 12261 | redisplay_windows (w->vchild); |
| 12258 | else | 12262 | else if (!NILP (w->buffer)) |
| 12259 | { | 12263 | { |
| 12260 | displayed_buffer = XBUFFER (w->buffer); | 12264 | displayed_buffer = XBUFFER (w->buffer); |
| 12261 | /* Use list_of_error, not Qerror, so that | 12265 | /* Use list_of_error, not Qerror, so that |