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.
Showing with 50 additions and 24 deletions