Closed Bug 224607 Opened 21 years ago Closed 21 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: 21 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: