diff options
| author | Eli Zaretskii | 2013-07-28 18:22:27 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2013-07-28 18:22:27 +0300 |
| commit | 2e5ce5ded73aa084e12b826fd1adbebd03f900fd (patch) | |
| tree | 78668c3c8e48cca16e57b6005c45543ae5b6b80f /src/w32fns.c | |
| parent | 0f91f03c05dd9be6dbcb7eecd784ccaf0fc7a24b (diff) | |
| download | emacs-2e5ce5ded73aa084e12b826fd1adbebd03f900fd.tar.gz emacs-2e5ce5ded73aa084e12b826fd1adbebd03f900fd.zip | |
Fix bug #14970 with crashes when deleting many frames on MS-Windows.
src/w32fns.c (w32_wnd_proc) <WM_IME_STARTCOMPOSITION>: Make sure the
frame which got the message is still alive, before dereferencing
its pointer.
src/frame.c (delete_frame): Test "this" frame's minibuffer window to
be a live window, before using it as such.
Diffstat (limited to 'src/w32fns.c')
| -rw-r--r-- | src/w32fns.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index 675b716f3b0..2b06936d119 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -3213,6 +3213,8 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 3213 | described by W was deleted, as indicated by its buffer | 3213 | described by W was deleted, as indicated by its buffer |
| 3214 | field being reset to nil. */ | 3214 | field being reset to nil. */ |
| 3215 | f = x_window_to_frame (dpyinfo, hwnd); | 3215 | f = x_window_to_frame (dpyinfo, hwnd); |
| 3216 | if (!(f && FRAME_LIVE_P (f))) | ||
| 3217 | break; | ||
| 3216 | w = XWINDOW (FRAME_SELECTED_WINDOW (f)); | 3218 | w = XWINDOW (FRAME_SELECTED_WINDOW (f)); |
| 3217 | /* Punt if someone changed the frame's selected window | 3219 | /* Punt if someone changed the frame's selected window |
| 3218 | behind our back. */ | 3220 | behind our back. */ |