Closed Bug 2564 Opened 26 years ago Closed 25 years ago

[DOGFOOD] [PP] Scrolling a long document yields text overwriting itself

Categories

(Core :: Layout: Form Controls, defect, P1)

Other
Linux
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: sfraser_bugs, Assigned: pavlov)

References

Details

(Whiteboard: [PDT+] fix attached)

Attachments

(2 files)

Load the above URL in viewer, and wait for it to finish loading. Then scroll
down. Notice that there are large areas which are completely blank (I see
two of them), as if some big chunks of the document have been rendered at
the wrong offset. There is nothing in the HTML that should cause these blank
areas.

This does not occur on Windows, where the entire file has no gaps.

An additional test would be to scroll the document up and down while it is
rendering, and see if that causes any positioning problems.
Status: NEW → ASSIGNED
OS: All
Bug #2385 also refers to big blank sections on the Mac.
Bug #2385 has been closed as dup of #2615. Apparently this problem and the one in
#2385/#2615 are different.
Inserting Milestone info.
Setting all current Open/Normal to M4.
per leger, assigning QA contacts to all open bugs without QA contacts according
to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Target Milestone: M4 → M5
Changed target to M5
Target Milestone: M5 → M6
Target Milestone: M6
Assignee: pierre → kipp
Status: ASSIGNED → NEW
Hardware: Macintosh → All
I tried with a recent build on Windows and I got a very similar problem except
that instead of "big blank sections", we have big "black" sections. The "black"
sections contain text that is overlayed over and over.

Reassigned to kipp.
Bug #1117 might be related to this one.
Status: NEW → ASSIGNED
Priority: P2 → P3
Target Milestone: M9
I've fixed this on the Mac, still puzzled on Win95.
Assignee: kipp → ramiro
Status: ASSIGNED → NEW
Component: Layout → Widget Set
On linux we get smearing - it seems that the drawing of the background fails in
these situations. I suspect that the coordinate math isn't handling the large
coordinates that this results in (3,465,066 twips or 231,004 pixels!)
This is probably a coordinate overflow problem. On Win95
nsRenderingContext::SetClipRect and nsRenderingContext::FillRect need to have
the rectangles that they pass to the native rountines conditioned to prevent the
top and bottom of the RECT to be within WIN95's acceptable range. This is
probably what GTK needs as well.
Moving all Widget Set bugs, past and present, to new HTML Form Controls
component per request from karnaze.  Widget Set component will be retired
shortly.
Target Milestone: M9 → M10
m10
Attached file sample long doc
Status: NEW → ASSIGNED
Target Milestone: M10 → M11
Changed URL, marking assigned, m11.

I see the bug, the problem is that the arguments to XFillRectangle()
(gdk_draw_rectangle() actually) are overflowing at -(2^15) and +(2^16) cause of
the 'unsigned int' limit of x windows.

So, im going to add some code to clamp all arugments to X lib functions.
*** Bug 12298 has been marked as a duplicate of this bug. ***
This causes problems with http://www.w3.org/TR/REC-CSS1 once you've scrolled
about 2/3 of the way down.  I think it's the same problem as bug 1177 (not
1117!), which covered the fixes for Mac and Win95.
There are some comments relating to this bug on bug 6048.
*** Bug 13389 has been marked as a duplicate of this bug. ***
*** Bug 13657 has been marked as a duplicate of this bug. ***
*** Bug 14212 has been marked as a duplicate of this bug. ***
*** Bug 13690 has been marked as a duplicate of this bug. ***
OS: All → Linux
Hardware: All → Other
Summary: [PP] long document renders with big blank sections → [PP]Long document renders with big blank sections
I see the bug, the problem is that the arguments to XFillRectangle()
(gdk_draw_rectangle() actually) are overflowing at -(2^15) and +(2^16) cause of
the 'unsigned int' limit of x windows.

So, im going to add some code to clamp all arugments to X lib functions.
*** Bug 16045 has been marked as a duplicate of this bug. ***
*** Bug 16174 has been marked as a duplicate of this bug. ***
Summary: [PP]Long document renders with big blank sections → [PP] Scrolling a long document yields text overwriting itself
As a courtesy, I've changed the bug description to reflect the behavior reported

by the many people who are still reporting this bug, in the hopes that it may be

easier for them to find. (Both here, and on the Most Frequent Bugs page.)
Assignee: ramiro → pavlov
Status: ASSIGNED → NEW
Reassign to pavvy pav pav
*** Bug 17238 has been marked as a duplicate of this bug. ***
Blocks: 17432
*** Bug 16809 has been marked as a duplicate of this bug. ***
Severity: normal → critical
Status: NEW → ASSIGNED
Summary: [PP] Scrolling a long document yields text overwriting itself → [DOGFOOD] [PP] Scrolling a long document yields text overwriting itself
Priority: P3 → P1
The above patch fixes the problem for me.  You might want to fiddle with the
numbers a little (perhaps even see how gdk_draw_rectangle works and give it more
margin for error if you think it's necessary).  Also, I'm not sure if it's
needed on InvertRect.  It probably is for DrawRect, though, since someone might
put a border around the CSS1 spec someday...
Whiteboard: [PDT+]
Putting on PDT+ radar.
Whiteboard: [PDT+] → [PDT+] fix attached
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
looks good.  checked in fix.
Blocks: 17907
Status: RESOLVED → VERIFIED
Fixed in the Nov 12 Linux build.
No longer blocks: 17432
No longer blocks: 17907
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: