Open Bug 165463 Opened 23 years ago Updated 3 years ago

Stack fails to redraw properly after a child node is shrunk

Categories

(Core :: XUL, defect)

defect

Tracking

()

People

(Reporter: paul-mozilla, Unassigned)

Details

(Keywords: testcase)

Attachments

(2 files, 3 obsolete files)

User-Agent: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020607 Build Identifier: Mozilla/5.0 Galeon/1.2.5 (X11; Linux i686; U;) Gecko/20020607 The stack-redraw-bug.xul page has a box inside a box, inside a stack. The inner box is larger than the outer one, but is not visibile by default ("visibility: collapsed"). The outer box has a CSS rule (".bug-outer:hover .bug-inner { visibility: visible }") to make the inner box visible when the pointer is held over it. The outer box expands and shrinks as expected, but when it shrinks it doesn't redraw the area it used to cover. Reproducible: Always Steps to Reproduce: 1. Load the page into Mozilla. 2. Move the pointer over the box, causing it to expand. 3. Move the pointer out of the box, causing it to shrink. Actual Results: The area to the right of the original, smaller, box is not redrawn. Expected Results: The area enclosed by the larger box should be redrawn after it shrinks. The same bug also occurs if the stack element is replaced with a bulletinboard element.
compositor.
Assignee: hyatt → kmcclusk
Component: XP Toolkit/Widgets: XUL → GFX Compositor
QA Contact: shrir → petersen
Move your pointer over the box and it expands, move the pointer out of the box and it shrinks. After it shrinks the area it used to cover is not redrawn.
Attachment #97185 - Attachment is obsolete: true
Attachment #97186 - Attachment is obsolete: true
Attached patch Patch to fix the redraw bug (obsolete) — Splinter Review
This patch fixes the problem for me. It looks as though the nsStackLayout::Layout method only redraws the area when a child node is moved, not when it resizes.
Attached patch Corrected patchSplinter Review
The previous patch was a bit hasty, this should be correct.
Attachment #112150 - Attachment is obsolete: true
OS: Linux → All
Hardware: PC → All
Summary: Stack fails to redraw properly after a child node is hidden with a CSS rule → Stack fails to redraw properly after a child node is shrunk
Has patch and testcase, marking NEW. However, does this still happen in 1.4a (trunk) and does the patch work with a current trunk ?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase
I've verified that the bug is still present in the most recent trunk build, id 2003031208. The CVS log shows only one minor change to nsStackLayout.cpp (removal of an #include) since the patch was made, so it should still be valid.
Attachment #112152 - Flags: review?(varga) → review+
-> XUL
Component: GFX → XP Toolkit/Widgets: XUL
-> XUL Owner
Assignee: kmcclusk → hyatt
QA Contact: petersen → shrir
Flags: blocking1.4b?
Flags: blocking1.4b? → blocking1.4b-
Attachment #112152 - Flags: superreview?(hyatt)
Attachment #112152 - Flags: superreview?(hyatt)
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: shrir → xptoolkit.widgets
Assignee: hyatt → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: