aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32fns.c
diff options
context:
space:
mode:
authorEli Zaretskii2013-07-28 18:22:27 +0300
committerEli Zaretskii2013-07-28 18:22:27 +0300
commit2e5ce5ded73aa084e12b826fd1adbebd03f900fd (patch)
tree78668c3c8e48cca16e57b6005c45543ae5b6b80f /src/w32fns.c
parent0f91f03c05dd9be6dbcb7eecd784ccaf0fc7a24b (diff)
downloademacs-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.c2
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. */