diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 2 | ||||
| -rw-r--r-- | src/nsterm.m | 7 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index e3f34e27dfc..82a9b24876c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | 2 | ||
| 3 | * nsterm.m (run): Only use non-system event loop if OSX version is | 3 | * nsterm.m (run): Only use non-system event loop if OSX version is |
| 4 | exactly 10.9 (Bug#18993). | 4 | exactly 10.9 (Bug#18993). |
| 5 | (ns_set_vertical_scroll_bar): Don't call bar setPosition: unless | ||
| 6 | needed (Bug#18757). | ||
| 5 | 7 | ||
| 6 | 2014-11-08 Michael Albinus <michael.albinus@gmx.de> | 8 | 2014-11-08 Michael Albinus <michael.albinus@gmx.de> |
| 7 | 9 | ||
diff --git a/src/nsterm.m b/src/nsterm.m index 216678357e7..318f14acfc8 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -3759,6 +3759,7 @@ ns_set_vertical_scroll_bar (struct window *window, | |||
| 3759 | EmacsScroller *bar; | 3759 | EmacsScroller *bar; |
| 3760 | int window_y, window_height; | 3760 | int window_y, window_height; |
| 3761 | int top, left, height, width; | 3761 | int top, left, height, width; |
| 3762 | BOOL update_p = YES; | ||
| 3762 | 3763 | ||
| 3763 | /* optimization; display engine sends WAY too many of these.. */ | 3764 | /* optimization; display engine sends WAY too many of these.. */ |
| 3764 | if (!NILP (window->vertical_scroll_bar)) | 3765 | if (!NILP (window->vertical_scroll_bar)) |
| @@ -3773,6 +3774,7 @@ ns_set_vertical_scroll_bar (struct window *window, | |||
| 3773 | } | 3774 | } |
| 3774 | else | 3775 | else |
| 3775 | view->scrollbarsNeedingUpdate--; | 3776 | view->scrollbarsNeedingUpdate--; |
| 3777 | update_p = NO; | ||
| 3776 | } | 3778 | } |
| 3777 | } | 3779 | } |
| 3778 | 3780 | ||
| @@ -3814,6 +3816,7 @@ ns_set_vertical_scroll_bar (struct window *window, | |||
| 3814 | 3816 | ||
| 3815 | bar = [[EmacsScroller alloc] initFrame: r window: win]; | 3817 | bar = [[EmacsScroller alloc] initFrame: r window: win]; |
| 3816 | wset_vertical_scroll_bar (window, make_save_ptr (bar)); | 3818 | wset_vertical_scroll_bar (window, make_save_ptr (bar)); |
| 3819 | update_p = YES; | ||
| 3817 | } | 3820 | } |
| 3818 | else | 3821 | else |
| 3819 | { | 3822 | { |
| @@ -3916,10 +3919,12 @@ ns_set_horizontal_scroll_bar (struct window *window, | |||
| 3916 | if (oldRect.origin.x != r.origin.x) | 3919 | if (oldRect.origin.x != r.origin.x) |
| 3917 | ns_clear_frame_area (f, left, top, width, height); | 3920 | ns_clear_frame_area (f, left, top, width, height); |
| 3918 | [bar setFrame: r]; | 3921 | [bar setFrame: r]; |
| 3922 | update_p = YES; | ||
| 3919 | } | 3923 | } |
| 3920 | } | 3924 | } |
| 3921 | 3925 | ||
| 3922 | [bar setPosition: position portion: portion whole: whole]; | 3926 | if (update_p) |
| 3927 | [bar setPosition: position portion: portion whole: whole]; | ||
| 3923 | unblock_input (); | 3928 | unblock_input (); |
| 3924 | } | 3929 | } |
| 3925 | 3930 | ||