emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs-24 r117688: * nsterm.m (ns_set_vertical_scroll_bar):


From: Jan D.
Subject: [Emacs-diffs] emacs-24 r117688: * nsterm.m (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
Date: Sat, 08 Nov 2014 19:40:23 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117688
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/18993
committer: Jan D. <address@hidden>
branch nick: emacs-24
timestamp: Sat 2014-11-08 20:40:17 +0100
message:
  * nsterm.m (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
  needed (Bug#18757).
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/nsterm.m                   nsterm.m-20091113204419-o5vbwnq5f7feedwu-8747
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-11-08 16:32:37 +0000
+++ b/src/ChangeLog     2014-11-08 19:40:17 +0000
@@ -3,6 +3,8 @@
        * nsterm.m (init): Replace OSX 10.9 check with IMPL_COCOA.
        (run): Ditto.  Only use non-system event loop if OSX version is
        exactly 10.9 (Bug#18993).
+       (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless
+       needed (Bug#18757).
 
 2014-11-07  Michael Albinus  <address@hidden>
 

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2014-11-08 16:32:37 +0000
+++ b/src/nsterm.m      2014-11-08 19:40:17 +0000
@@ -3802,6 +3802,7 @@
   int top, left, height, width, sb_width, sb_left;
   EmacsScroller *bar;
   BOOL fringe_extended_p;
+  BOOL update_p = YES;
 
   /* optimization; display engine sends WAY too many of these.. */
   if (!NILP (window->vertical_scroll_bar))
@@ -3816,6 +3817,7 @@
             }
           else
             view->scrollbarsNeedingUpdate--;
+          update_p = NO;
         }
     }
 
@@ -3869,6 +3871,7 @@
 
       bar = [[EmacsScroller alloc] initFrame: r window: win];
       wset_vertical_scroll_bar (window, make_save_ptr (bar));
+      update_p = YES;
     }
   else
     {
@@ -3881,10 +3884,12 @@
           if (oldRect.origin.x != r.origin.x)
               ns_clear_frame_area (f, sb_left, top, width, height);
           [bar setFrame: r];
+          update_p = YES;
         }
     }
 
-  [bar setPosition: position portion: portion whole: whole];
+  if (update_p)
+    [bar setPosition: position portion: portion whole: whole];
   unblock_input ();
 }
 


reply via email to

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