Closed Bug 224607 Opened 22 years ago Closed 22 years ago

Dynamic change of CSS 'display' does not repaint view correctly

Categories

(Core :: Web Painting, defect, P1)

x86
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla1.6beta

People

(Reporter: MatsPalmgren_bugz, Assigned: roc)

References

()

Details

(Keywords: regression)

Attachments

(4 files, 1 obsolete file)

Dynamic change of CSS 'display' does not repaint view correctly STEPS TO REPRODUCE: 1. load http://www.trionica.com 2. click 'Links' in left nav bar (this should take you to the URL) 3. click 'Expand All' ACTUAL RESULTS: The old area where the headings used to be is not cleared properly and is obscuring newly exposed content. See first screenshot. EXPECTED RESULTS: After forcing a repaint by covering the window the view is correct (reflow not needed). See second screenshot. BUILDS & PLATFORMS TESTED: Bug occurs in Mozilla nightly trunk build 2003-11-03-05 on Linux Bug occurs in Mozilla 1.5 on Linux Bug does NOT occur in Mozilla 1.4 on Linux
Attached image Screenshot #1 - bug
Attached image Screenshot #2 - correct
Attached file Standalone markup
Mats, can you get someone to minimize that testcase? :-)
This broke between build 2003-08-18-05 and build 2003-08-19-22. Looks like more fallout from bug 194638 (backing out that patch fixes this bug)
Blocks: 194638
I bet the problem is that when the Resize() call is made on the nsWindow, it clobbers the existing mUpdateArea. In particular, note that if and only if aRepaint is true the mUpdateArea is stomped on with the new window area. If there was something under the old area it won't get repainted, looks like...
Attached patch This fixes things (obsolete) — Splinter Review
Patch fixes this bug and bug 220698. I'm not sure whether this is the right thing to do -- should the window be keeping track of its pre-resize mUpdateArea? Or should something else be handling the invalidation of that on window resize?
Attachment #134725 - Flags: superreview?(roc)
Attachment #134725 - Flags: review?(roc)
I think this should just be setting the update area to (0, 0, width, height). The mUpdateArea seems to be relative to the window origin. Has this been broken always?
It's been like that for years, yeah. I suspect for legitimate reasons, though.
I say we change it to (0,0). It's just not consistent with the rest of the code.
Comment on attachment 134725 [details] [diff] [review] This fixes things see my comments in the bug
Attachment #134725 - Flags: superreview?(roc)
Attachment #134725 - Flags: superreview-
Attachment #134725 - Flags: review?(roc)
Attachment #134725 - Flags: review-
Attachment #134725 - Attachment is obsolete: true
Comment on attachment 134868 [details] [diff] [review] Yeah, this fixes things too sr=me (since this is roc's patch, really). blizzard, can you think of any reason _not_ to make this change?
Attachment #134868 - Flags: superreview+
Attachment #134868 - Flags: review?(blizzard)
Comment on attachment 134868 [details] [diff] [review] Yeah, this fixes things too r=blizzard I looked through the code and I don't think it's going to break anything.
Attachment #134868 - Flags: review?(blizzard) → review+
Taking to make sure this lands.
Assignee: roc → bz-vacation
Priority: -- → P1
Summary: Dynamic change of CSS 'display' does not repaint view correctly → [FIXr]Dynamic change of CSS 'display' does not repaint view correctly
Target Milestone: --- → mozilla1.6beta
Back to roc, since it's his patch.
Assignee: bz-vacation → roc
Summary: [FIXr]Dynamic change of CSS 'display' does not repaint view correctly → Dynamic change of CSS 'display' does not repaint view correctly
And checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Blocks: 220698
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: