From c1087e64bcfece96de8fa812535154435bbaaba5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 20 May 2005 21:22:17 +0000 Subject: updated for version 7.0074 --- src/gui.c | 19 +++++++++++++++++++ src/gui_w48.c | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/gui.c b/src/gui.c index 090160ad0..35025776e 100644 --- a/src/gui.c +++ b/src/gui.c @@ -3242,10 +3242,29 @@ gui_init_which_components(oldval) } #endif if (need_set_size) + { +#ifdef FEAT_GUI_GTK + long r = Rows; + long c = Columns; +#endif /* Adjust the size of the window to make the text area keep the * same size and to avoid that part of our window is off-screen * and a scrollbar can't be used, for example. */ gui_set_shellsize(FALSE, fix_size); + +#ifdef FEAT_GUI_GTK + /* GTK has the annoying habit of sending us resize events when + * changing the window size ourselves. This mostly happens when + * waiting for a character to arrive, quite unpredictably, and may + * change Columns and Rows when we don't want it. Wait for a + * character here to avoid this effect. + * If you remove this, please test this command for resizing + * effects: ":vsp|q|vsp|q|vsp|q" */ + (void)char_avail(); + Rows = r; + Columns = c; +#endif + } } } diff --git a/src/gui_w48.c b/src/gui_w48.c index 2e0965583..48a87d945 100644 --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -1667,7 +1667,7 @@ process_message(void) * mapped we want to use the mapping instead. */ if (vk == VK_F10 && gui.menu_is_active - && check_map(k10, State, FALSE) == NULL) + && check_map(k10, State, FALSE, TRUE) == NULL) break; #endif if (GetKeyState(VK_SHIFT) & 0x8000) @@ -1781,7 +1781,7 @@ process_message(void) /* Check for : Default effect is to select the menu. When is * mapped we need to stop it here to avoid strange effects (e.g., for the * key-up event) */ - if (vk != VK_F10 || check_map(k10, State, FALSE) == NULL) + if (vk != VK_F10 || check_map(k10, State, FALSE, TRUE) == NULL) #endif DispatchMessage(&msg); } -- cgit v1.2.1