diff options
| author | Xue Fuqiao | 2013-07-30 08:29:09 +0800 |
|---|---|---|
| committer | Xue Fuqiao | 2013-07-30 08:29:09 +0800 |
| commit | d2067333246b676fcf98567d34eec79ed4648d5f (patch) | |
| tree | ad6543d8e7f1db50226907f7278373eef544d252 /src/w32term.c | |
| parent | 7aa7fff0c8860b72a2c7cdc7d4d0845245754d43 (diff) | |
| parent | 86b192c1479d167c13edb9cdaa026c231c8a0442 (diff) | |
| download | emacs-d2067333246b676fcf98567d34eec79ed4648d5f.tar.gz emacs-d2067333246b676fcf98567d34eec79ed4648d5f.zip | |
Merge from mainline.
Diffstat (limited to 'src/w32term.c')
| -rw-r--r-- | src/w32term.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/w32term.c b/src/w32term.c index 2fe3fe07462..a596a487f3d 100644 --- a/src/w32term.c +++ b/src/w32term.c | |||
| @@ -4360,8 +4360,9 @@ w32_read_socket (struct terminal *terminal, | |||
| 4360 | SET_FRAME_VISIBLE (f, 1); | 4360 | SET_FRAME_VISIBLE (f, 1); |
| 4361 | SET_FRAME_ICONIFIED (f, 0); | 4361 | SET_FRAME_ICONIFIED (f, 0); |
| 4362 | SET_FRAME_GARBAGED (f); | 4362 | SET_FRAME_GARBAGED (f); |
| 4363 | DebPrint (("frame %p (%s) reexposed by WM_PAINT\n", f, | 4363 | if (!f->output_data.w32->asked_for_visible) |
| 4364 | SDATA (f->name))); | 4364 | DebPrint (("frame %p (%s) reexposed by WM_PAINT\n", f, |
| 4365 | SDATA (f->name))); | ||
| 4365 | 4366 | ||
| 4366 | /* WM_PAINT serves as MapNotify as well, so report | 4367 | /* WM_PAINT serves as MapNotify as well, so report |
| 4367 | visibility changes properly. */ | 4368 | visibility changes properly. */ |
| @@ -4819,7 +4820,8 @@ w32_read_socket (struct terminal *terminal, | |||
| 4819 | { | 4820 | { |
| 4820 | bool iconified = FRAME_ICONIFIED_P (f); | 4821 | bool iconified = FRAME_ICONIFIED_P (f); |
| 4821 | 4822 | ||
| 4822 | SET_FRAME_VISIBLE (f, 1); | 4823 | if (iconified) |
| 4824 | SET_FRAME_VISIBLE (f, 1); | ||
| 4823 | SET_FRAME_ICONIFIED (f, 0); | 4825 | SET_FRAME_ICONIFIED (f, 0); |
| 4824 | 4826 | ||
| 4825 | /* wait_reading_process_output will notice this | 4827 | /* wait_reading_process_output will notice this |
| @@ -4921,16 +4923,11 @@ w32_read_socket (struct terminal *terminal, | |||
| 4921 | break; | 4923 | break; |
| 4922 | 4924 | ||
| 4923 | case WM_KILLFOCUS: | 4925 | case WM_KILLFOCUS: |
| 4926 | w32_detect_focus_change (dpyinfo, &msg, &inev); | ||
| 4924 | f = x_top_window_to_frame (dpyinfo, msg.msg.hwnd); | 4927 | f = x_top_window_to_frame (dpyinfo, msg.msg.hwnd); |
| 4925 | 4928 | ||
| 4926 | if (f) | 4929 | if (f) |
| 4927 | { | 4930 | { |
| 4928 | if (f == dpyinfo->w32_focus_event_frame) | ||
| 4929 | dpyinfo->w32_focus_event_frame = 0; | ||
| 4930 | |||
| 4931 | if (f == dpyinfo->w32_focus_frame) | ||
| 4932 | x_new_focus_frame (dpyinfo, 0); | ||
| 4933 | |||
| 4934 | if (f == hlinfo->mouse_face_mouse_frame) | 4931 | if (f == hlinfo->mouse_face_mouse_frame) |
| 4935 | { | 4932 | { |
| 4936 | /* If we move outside the frame, then we're | 4933 | /* If we move outside the frame, then we're |
| @@ -6129,6 +6126,9 @@ x_iconify_frame (struct frame *f) | |||
| 6129 | /* Simulate the user minimizing the frame. */ | 6126 | /* Simulate the user minimizing the frame. */ |
| 6130 | SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0); | 6127 | SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0); |
| 6131 | 6128 | ||
| 6129 | SET_FRAME_VISIBLE (f, 0); | ||
| 6130 | SET_FRAME_ICONIFIED (f, 1); | ||
| 6131 | |||
| 6132 | unblock_input (); | 6132 | unblock_input (); |
| 6133 | } | 6133 | } |
| 6134 | 6134 | ||