From 94ba0a8ed127dc147eb68bf019a1e8370622c740 Mon Sep 17 00:00:00 2001 From: Philip Date: Tue, 25 Aug 2015 10:21:18 +0000 Subject: [PATCH] Only set FRAME_WINDOW_SIZES_CHANGED if necessary (#21333) --- src/window.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/window.c b/src/window.c index 68bc9e5..6bc0982 100644 --- a/src/window.c +++ b/src/window.c @@ -6075,7 +6075,6 @@ the return value is nil. Otherwise the value is t. */) } fset_redisplay (f); - FRAME_WINDOW_SIZES_CHANGED (f) = true; /* Problem: Freeing all matrices and later allocating them again is a serious redisplay flickering problem. What we would @@ -6127,6 +6126,13 @@ the return value is nil. Otherwise the value is t. */) /* If we squirreled away the buffer, restore it now. */ if (BUFFERP (w->combination_limit)) wset_buffer (w, w->combination_limit); + if (!FRAME_WINDOW_SIZES_CHANGED (f)) { + if (w->pixel_left != XFASTINT (p->pixel_left) || + w->pixel_top != XFASTINT (p->pixel_top) || + w->pixel_width != XFASTINT (p->pixel_width) || + w->pixel_height != XFASTINT (p->pixel_height)) + FRAME_WINDOW_SIZES_CHANGED (f) = true; + } w->pixel_left = XFASTINT (p->pixel_left); w->pixel_top = XFASTINT (p->pixel_top); w->pixel_width = XFASTINT (p->pixel_width); -- 2.5.0