From e5251c36f2549f1add6262cab939b29a54f144b2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 27 Jan 2010 21:03:41 +0000 Subject: [PATCH] [7.2.350] Win32: When changing font the window may jump from the secondary Problem: Win32: When changing font the window may jump from the secondary to the primary screen. (Michael Wookey) Solution: When the screen position was negative don't correct it to zero. Patch 7.2.350 --- src/gui.c | 14 ++++++++++---- src/version.c | 2 ++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/gui.c b/src/gui.c index 48e7b0f..2c307fa 100644 --- a/src/gui.c +++ b/src/gui.c @@ -1390,6 +1390,7 @@ gui_set_shellsize(mustset, fit_to_display, direction) int un_maximize = mustset; int did_adjust = 0; #endif + int x = -1, y = -1; if (!gui.shell_created) return; @@ -1406,6 +1407,10 @@ gui_set_shellsize(mustset, fit_to_display, direction) base_width = gui_get_base_width(); base_height = gui_get_base_height(); + if (fit_to_display) + /* Remember the original window position. */ + gui_mch_get_winpos(&x, &y); + #ifdef USE_SUN_WORKSHOP if (!mustset && usingSunWorkShop && workshop_get_width_height(&width, &height)) @@ -1473,11 +1478,12 @@ gui_set_shellsize(mustset, fit_to_display, direction) gui_mch_set_shellsize(width, height, min_width, min_height, base_width, base_height, direction); - if (fit_to_display) - { - int x, y; - /* Some window managers put the Vim window left of/above the screen. */ + if (fit_to_display && x >= 0 && y >= 0) + { + /* Some window managers put the Vim window left of/above the screen. + * Only change the position if it wasn't already negative before + * (happens on MS-Windows with a secondary monitor). */ gui_mch_update(); if (gui_mch_get_winpos(&x, &y) == OK && (x < 0 || y < 0)) gui_mch_set_winpos(x < 0 ? 0 : x, y < 0 ? 0 : y); diff --git a/src/version.c b/src/version.c index 2fbee77..7e39961 100644 --- a/src/version.c +++ b/src/version.c @@ -682,6 +682,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 350, +/**/ 349, /**/ 348, -- 2.11.4.GIT