Fix fullscreen resizing of multiple frames on MS-Windows.
authorEli Zaretskii <eliz@gnu.org>
Sat, 23 Mar 2013 19:40:43 +0000 (21:40 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 23 Mar 2013 19:40:43 +0000 (21:40 +0200)
commitcdc0d0bdbd039dd8c826568123b7ae53bc848373
tree3bb7bdca35bd13d2862c6b2c56d49b3cfa8c3be8
parentb3082f497c788948254b21ce87ea3eba8b801e80
Fix fullscreen resizing of multiple frames on MS-Windows.

 src/w32term.h (struct w32_output): New members normal_width,
 normal_height, normal_top, normal_left, and prev_fsmode.
 (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP)
 (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these
 members of a frame.
 src/w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH,
 FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static
 variables, to save and restore frame dimensions.  Use
 FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position
 after returning from a 'fullscreen' configuration.  use
 SendMessage instead of PostMessage to send the SC_RESTORE message,
 to avoid races between the main thread and the input thread.
src/ChangeLog
src/w32term.c
src/w32term.h