Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- src/nsterm.m | 41 +++++++++++++++--------------------------
- 1 file changed, 15 insertions(+), 26 deletions(-)
- diff --git a/src/nsterm.m b/src/nsterm.m
- index 1ef7f5ab51..f910d606a6 100644
- --- a/src/nsterm.m
- +++ b/src/nsterm.m
- @@ -279,7 +279,6 @@ - (NSColor *)colorUsingDefaultColorSpace
- /* display update */
- static int ns_window_num = 0;
- -static BOOL gsaved = NO;
- static BOOL ns_fake_keydown = NO;
- #ifdef NS_IMPL_COCOA
- static BOOL ns_menu_bar_is_hidden = NO;
- @@ -1234,7 +1233,6 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
- NSRectClipList (r, 2);
- else
- NSRectClip (*r);
- - gsaved = YES;
- return YES;
- }
- @@ -1258,11 +1256,7 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
- {
- NSTRACE_WHEN (NSTRACE_GROUP_FOCUS, "ns_reset_clipping");
- - if (gsaved)
- - {
- - [[NSGraphicsContext currentContext] restoreGraphicsState];
- - gsaved = NO;
- - }
- + [[NSGraphicsContext currentContext] restoreGraphicsState];
- }
- @@ -1288,19 +1282,6 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
- return ns_clip_to_rect (f, &clip_rect, 1);
- }
- -
- -static void
- -ns_flush_display (struct frame *f)
- -/* Force the frame to redisplay. If areas have previously been marked
- - dirty by setNeedsDisplayInRect (in ns_clip_to_rect), then this will call
- - draw_rect: which will "expose" those areas. */
- -{
- - block_input ();
- - [FRAME_NS_VIEW (f) displayIfNeeded];
- - unblock_input ();
- -}
- -
- -
- /* ==========================================================================
- Visible bell and beep.
- @@ -2837,6 +2818,8 @@ so some key presses (TAB) are swallowed by the system. */
- static void
- ns_copy_bits (struct frame *f, NSRect src, NSRect dest)
- {
- + NSSize delta = NSMakeSize (dest.origin.x - src.origin.x,
- + dest.origin.y - src.origin.y)
- NSTRACE ("ns_copy_bits");
- if (FRAME_NS_VIEW (f))
- @@ -2845,10 +2828,17 @@ so some key presses (TAB) are swallowed by the system. */
- /* FIXME: scrollRect:by: is deprecated in macOS 10.14. There is
- no obvious replacement so we may have to come up with our own. */
- - [FRAME_NS_VIEW (f) scrollRect: src
- - by: NSMakeSize (dest.origin.x - src.origin.x,
- - dest.origin.y - src.origin.y)];
- - [FRAME_NS_VIEW (f) setNeedsDisplay:YES];
- + [FRAME_NS_VIEW (f) scrollRect: src by: delta];
- +
- + /* As far as I can tell from the documentation, scrollRect:by:,
- + above, should copy the dirty rectangles from our source
- + rectangle to our destination, however it appears it clips the
- + operation to src. As a result we need to use
- + translateRectsNeedingDisplayInRect:by: below, and we have to
- + union src and dest so it can pick up the dirty rectangles,
- + and place them, as it also clips to the rectangle. */
- + [FRAME_NS_VIEW (f) translateRectsNeedingDisplayInRect:NSUnionRect (src, dest)
- + by:delta];
- }
- }
- @@ -5119,7 +5109,7 @@ static Lisp_Object ns_string_to_lispmod (const char *s)
- ns_after_update_window_line,
- ns_update_window_begin,
- ns_update_window_end,
- - ns_flush_display, /* flush_display */
- + 0, /* flush_display */
- x_clear_window_mouse_face,
- x_get_glyph_overhangs,
- x_fix_overlapping_area,
- @@ -7114,7 +7104,6 @@ - (NSSize)windowWillResize: (NSWindow *)sender toSize: (NSSize)frameSize
- size_title = xmalloc (strlen (old_title) + 40);
- esprintf (size_title, "%s — (%d x %d)", old_title, cols, rows);
- [window setTitle: [NSString stringWithUTF8String: size_title]];
- - [window display];
- xfree (size_title);
- }
- }
- --
- 2.19.0
Add Comment
Please, Sign In to add comment