aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-08-07 16:49:47 +0300
committerEli Zaretskii2013-08-07 16:49:47 +0300
commit0ee18172b3dabfbddc81993cbba766cc925281be (patch)
tree13905a506873272f4d00daddd1e53ed5422973a3
parent16ddd1a690a4810bf7a4d77e4fafb0554415da03 (diff)
downloademacs-0ee18172b3dabfbddc81993cbba766cc925281be.tar.gz
emacs-0ee18172b3dabfbddc81993cbba766cc925281be.zip
Fix bug #14616 with unnecessary redrawing of TTY frames.
src/xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title for TTY frames that are not the top frame on their console.
-rw-r--r--src/ChangeLog6
-rw-r--r--src/xdisp.c13
2 files changed, 18 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index f759584fb79..a0363732164 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-08-07 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title
4 for TTY frames that are not the top frame on their console.
5 (Bug#14616)
6
12013-08-07 Martin Rudalics <rudalics@gmx.at> 72013-08-07 Martin Rudalics <rudalics@gmx.at>
2 8
3 * w32term.c (w32fullscreen_hook): Really maximize frame when 9 * w32term.c (w32fullscreen_hook): Really maximize frame when
diff --git a/src/xdisp.c b/src/xdisp.c
index 5e6311ed98d..fc19b5ce6d7 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -11169,7 +11169,18 @@ prepare_menu_bars (void)
11169 { 11169 {
11170 f = XFRAME (frame); 11170 f = XFRAME (frame);
11171 if (!EQ (frame, tooltip_frame) 11171 if (!EQ (frame, tooltip_frame)
11172 && (FRAME_VISIBLE_P (f) || FRAME_ICONIFIED_P (f))) 11172 && (FRAME_ICONIFIED_P (f)
11173 || FRAME_VISIBLE_P (f) == 1
11174 /* Exclude TTY frames that are obscured because they
11175 are not the top frame on their console. This is
11176 because x_consider_frame_title actually swit6ches
11177 to the frame, which for TTY frames means it is
11178 marked as garbaged, and will be completely
11179 redrawn on the next redisplay cycle. This causes
11180 TTY frames to be completely redrawn, when there
11181 are more than one of them, even though nothing
11182 should be changed on display. */
11183 || (FRAME_VISIBLE_P (f) == 2 && FRAME_WINDOW_P (f))))
11173 x_consider_frame_title (frame); 11184 x_consider_frame_title (frame);
11174 } 11185 }
11175 } 11186 }