emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r113735: Fix bug #14616 with unnecessary redrawing o


From: Eli Zaretskii
Subject: [Emacs-diffs] trunk r113735: Fix bug #14616 with unnecessary redrawing of TTY frames.
Date: Wed, 07 Aug 2013 13:50:16 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113735
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/14616
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2013-08-07 16:49:47 +0300
message:
  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.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/xdisp.c                    xdisp.c-20091113204419-o5vbwnq5f7feedwu-240
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-08-07 13:34:17 +0000
+++ b/src/ChangeLog     2013-08-07 13:49:47 +0000
@@ -1,3 +1,9 @@
+2013-08-07  Eli Zaretskii  <address@hidden>
+
+       * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title
+       for TTY frames that are not the top frame on their console.
+       (Bug#14616)
+
 2013-08-07  Martin Rudalics  <address@hidden>
 
        * w32term.c (w32fullscreen_hook): Really maximize frame when

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2013-08-07 10:32:08 +0000
+++ b/src/xdisp.c       2013-08-07 13:49:47 +0000
@@ -11169,7 +11169,18 @@
        {
          f = XFRAME (frame);
          if (!EQ (frame, tooltip_frame)
-             && (FRAME_VISIBLE_P (f) || FRAME_ICONIFIED_P (f)))
+             && (FRAME_ICONIFIED_P (f)
+                 || FRAME_VISIBLE_P (f) == 1
+                 /* Exclude TTY frames that are obscured because they
+                    are not the top frame on their console.  This is
+                    because x_consider_frame_title actually swit6ches
+                    to the frame, which for TTY frames means it is
+                    marked as garbaged, and will be completely
+                    redrawn on the next redisplay cycle.  This causes
+                    TTY frames to be completely redrawn, when there
+                    are more than one of them, even though nothing
+                    should be changed on display.  */
+                 || (FRAME_VISIBLE_P (f) == 2 && FRAME_WINDOW_P (f))))
            x_consider_frame_title (frame);
        }
     }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]