Closed
Bug 116350
Opened 24 years ago
Closed 22 years ago
Invalidates should not leak outside of widgets on Mac
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.1alpha
People
(Reporter: sfraser_bugs, Assigned: sfraser_bugs)
Details
On Mac, calling nsWindow::Invalidate can invalidate an area that is outside the
widget's visible region, thus causing excess drawing. This is visible (in a build
with double buffering off) in viewer demo 9, if you scroll frame 3 so that the
animated images partially underlay the lower 2 frames.
You'd think that, since we maintain an 'mVisRegion' for each nsWindow, it would
be easy to intersect the invalidate with this. But if you try this, you'll see
problems with frameset drawing. These happen because the layout code sets the
size of child frames before their parent frames, so that when we first invalidate
child nsWindows (which have their final size, but a zero size parent), they think
that their mVisRegion is empty, and fail to invalidate.
This bug is probably yet another manifestation of the emulated nature of widgets
on the Mac, which results in an inability to target updates at specific widgets.
Updated•24 years ago
|
Target Milestone: --- → mozilla1.1
| Assignee | ||
Comment 2•22 years ago
|
||
I checked with QuartzDebug; this is no longer an issue.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•