Bug 16664 - translated image invalidates wrong repaint rect
Summary: translated image invalidates wrong repaint rect
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac OS X 10.4
: P2 Normal
Assignee: Nobody
URL: http://genedavis.com/od&d/js/dojo-rel...
Keywords: NeedsReduction, SVGHitList
Depends on:
Blocks:
 
Reported: 2007-12-29 04:10 PST by Terrance Davis
Modified: 2010-07-01 07:57 PDT (History)
2 users (show)

See Also:


Attachments
Testcase (746 bytes, text/html)
2010-04-26 09:10 PDT, Simon Fraser (smfr)
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terrance Davis 2007-12-29 04:10:11 PST
When a PNG is loaded and immediately translated along the x-axis the result is transparency where the image moves away from it's initial location. There appears to be a box of transparency to the right of the initial location that does not extend far down the window.

I have put together a page to show the behavior:

http://genedavis.com/od&d/js/dojo-release-1.0.2/dojox/gfx/tests/test_image1_modified.html

The logo that is loaded and translated is cut off, but still there, just transparent. The behavior is corrected if user interaction with the window causes an new translation or manipulation of the image.  

my system:

Safari 3
Mac OS X 10.4
WebKit r29022
Dojo Toolkit 1.0.2 (using silverlight?)
Comment 1 David Kilzer (:ddkilzer) 2007-12-30 00:25:57 PST
Confirmed with a local debug build of WebKit r29032 with Safari 3.0.4 (523.12.2) on Mac OS X 10.4.11 (8S165).

Looks like a repaint issue as using "Force Repaint" from the Debug menu will make the rest (right half) of the cut-off image appear.  (Cmd-A, or select-all, does the same thing.)

Comment 2 Eric Seidel (no email) 2007-12-30 21:52:27 PST
Yeah, we simply invalidate the wrong rect.  We'll need to make a simpler test case.  I expect this will just end up being a dup of bug 16015
Comment 3 Eric Seidel (no email) 2007-12-30 21:53:38 PST
To see the wrong rect being invalidated, I used Quartz Debug.  Unfortunately that's slightly painful with an example this large (since you watch a bunch of other painting first)
Comment 4 Eric Seidel (no email) 2008-04-09 09:22:31 PDT
Real websites are hitting this.  Adding to SVGHitlist
Comment 5 Cameron McCormack (:heycam) 2008-04-11 01:39:56 PDT
A smaller test case: http://mcc.id.au/temp/2008/image-translate.html
Comment 6 Dirk Schulze 2009-12-30 12:19:36 PST
(In reply to comment #5)
> A smaller test case: http://mcc.id.au/temp/2008/image-translate.html

I see the same result in Firefox. Is this bug fixed? We might need another test case.
Comment 7 Simon Fraser (smfr) 2010-04-26 09:10:53 PDT
Created attachment 54304 [details]
Testcase
Comment 8 Dirk Schulze 2010-04-26 09:53:41 PDT
(In reply to comment #7)
> Created an attachment (id=54304) [details]
> Testcase

Sadly the image is not reacheable, but I tested it localy. I could see a gray rect with a stroke, and the image is displayed on the right position.

Doesn't the initial bug discribe a problem with translation? This test doesn't translate the image.
Comment 9 Dirk Schulze 2010-07-01 07:57:50 PDT
It works with trunk and we did a lot of rewrite on the repaintRect-code. I bet this fixed for a long time now. Closing the bug. If someone finds another example, feel free to reopen the bug.