Subject: bug#32932: [PATCH v2] Fix more drawing bugs in NS port (bug#32932)

From: Aaron Jensen <[email-masked]>
Date: Fri, 9 Nov 2018 06:15:24 -0800

On November 9, 2018 at 5:45:34 AM, Aaron Jensen
([email-masked](mailto:[email-masked])) wrote:

> On November 9, 2018 at 1:09:00 AM, Alan Third ([email-masked](mailto:[email-masked])) wrote:
>
> > * src/nsterm.m (ns_row_rect): New function.
> > (ns_clip_to_row): Remove function.
> > (ns_copy_bits): Fix mistake.
> > (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
> > (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
> > display when not in redisplay.
> > (ns_update_window_begin): Remove redundant code that never executes.
> > ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
> > * src/xdisp.c (expose_window_tree) [HAVE_NS]:
> > (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
> > ---
> > I realised about 4AM that I'd screwed this up. This one should replace the
> > previous patch. Sorry for the hassle.
>
> Thanks, this applied. I can’t reproduce the issue w/ my repro. I’ll try it out for a bit and report back.

I’ve twice seen a full frame blank. The first time was when pasting
something using cmd+v (it only happened the once) and the second time,
I don’t recall what I was doing. The first time it repainted the
entire frame with its two windows fine. The second time it repainted
the cursor on the inactive window and a seemingly random rectangle on
the active window that spanned several lines down below the cursor and
half the window’s width to the right.

I’ll keep using it and see if I can come up with any repros.

Aaron