aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2013-07-26 12:59:59 +0300
committerEli Zaretskii2013-07-26 12:59:59 +0300
commita8f93651727e5497cb8c0b992da0030f698afff4 (patch)
tree823b21ee17c0ae49f26bc6f92ce5ad6f5a931b4e /src
parent59070b327cdccefe52338abcdb7e3ec957fafef3 (diff)
downloademacs-a8f93651727e5497cb8c0b992da0030f698afff4.tar.gz
emacs-a8f93651727e5497cb8c0b992da0030f698afff4.zip
Fix bug #14841 with invisible frames on MS-Windows.
src/w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame being re-exposed only if it didn't ask to become visible. <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it was previously iconified. (x_iconify_frame): Mark the frame iconified.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/w32term.c11
2 files changed, 16 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2b105e2405e..59eb16a81e9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12013-07-26 Eli Zaretskii <eliz@gnu.org>
2
3 * w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame
4 being re-exposed only if it didn't ask to become visible.
5 <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it
6 was previously iconified. (Bug#14841)
7 (x_iconify_frame): Mark the frame iconified.
8
12013-07-26 Paul Eggert <eggert@cs.ucla.edu> 92013-07-26 Paul Eggert <eggert@cs.ucla.edu>
2 10
3 Fix minor problems found by static checking. 11 Fix minor problems found by static checking.
diff --git a/src/w32term.c b/src/w32term.c
index 2fe3fe07462..0b22fd178e4 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
@@ -6129,6 +6131,9 @@ x_iconify_frame (struct frame *f)
6129 /* Simulate the user minimizing the frame. */ 6131 /* Simulate the user minimizing the frame. */
6130 SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0); 6132 SendMessage (FRAME_W32_WINDOW (f), WM_SYSCOMMAND, SC_MINIMIZE, 0);
6131 6133
6134 SET_FRAME_VISIBLE (f, 0);
6135 SET_FRAME_ICONIFIED (f, 1);
6136
6132 unblock_input (); 6137 unblock_input ();
6133} 6138}
6134 6139