Tk Source Code

View Ticket
Login
2014-07-24
02:31 Closed ticket [45bc2252]: Display artifacts when scrolling a Text widget on OS X plus 7 other changes artifact: ade7dc9c user: kevin_walzer
2014-07-15
17:08 Add attachment scroll_patch to ticket [45bc2252] artifact: 4a017add user: anonymous
17:02 Add attachment scroll_patch to ticket [45bc2252] artifact: 25d1ac16 user: anonymous
17:00 Add attachment ScrollArtifact.png to ticket [45bc2252] artifact: a7746e45 user: anonymous
16:59 New ticket [45bc2252] Display artifacts when scrolling a Text widget on OS X. artifact: fefcd078 user: anonymous

Ticket UUID: 45bc2252066b706bfea8553c34b13a92ca3bbb3d
Title: Display artifacts when scrolling a Text widget on OS X
Type: Bug Version: 8.5
Submitter: anonymous Created on: 2014-07-15 16:59:13
Subsystem: 18. [text] Assigned To: kevin_walzer
Priority: 5 Medium Severity: Important
Status: Closed Last Modified: 2014-07-24 02:31:37
Resolution: Accepted Closed By: kevin_walzer
    Closed on: 2014-07-24 02:31:37
Description:
On OS X, when scrolling a Text widget with embedded images, each image will leave a "vapor trail" comprised of many copies of the image, sometimes overlapping.

I will upload a screen shot showing the artifacts, and a patch which appears to fix the problem.

The basic issue seems to be that when an image is displayed on an NSView, it is also created as a subview.  This causes the Appkit to repeatedly display the subview image in its original position, while earlier copies of the image are scrolled into different locations and remain in the display.

The patch adds a damage region for each embedded image and also forces redisplay of each image after the scroll.  It is hard to verify from the terse Apple documentation that this is the correct procedure but, empirically, it works.
User Comments: kevin_walzer added on 2014-07-24 02:31:37:
I see the issue and also see that the patch fixes the issue. Thank you.

Attachments: