Closed
Bug 10261
Opened 25 years ago
Closed 25 years ago
UpdateView() drops dirty rects
Categories
(Core Graveyard :: GFX, defect, P1)
Tracking
(Not tracked)
VERIFIED
FIXED
M11
People
(Reporter: troy, Assigned: beard)
Details
The UpdateView() function just returns if refresh is disabled, and doesn't accumulate the dirty rects and then trigger a repaint once refresh is enabled. Here's the offending code: NS_PRECONDITION(nsnull != aView, "null view"); if (!mRefreshEnabled && 0 == mUpdateBatchCnt) { return NS_OK; }
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 1•25 years ago
|
||
Troy and I agree we should combine the two approaches to updating we currently have to accumulate updates.
Assignee | ||
Updated•25 years ago
|
Target Milestone: M11
Assignee | ||
Comment 2•25 years ago
|
||
This probably explains why freshly created browser windows don't draw everything correctly, initially.
Assignee | ||
Updated•25 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 3•25 years ago
|
||
I've fixed this by buffering the dirty regions in each view, and when nsViewManager::EnableRefresh() is called passing the regions to nsIWidget::Invalidate() for each view. I've coopted nsIView's SetDirtyRegion/ GetDirtyRegion calls for this task. I added the ProcessPendingUpdates method to nsViewManager to do the recursive invalidates. Checked in as nsViewManager,3.115 and nsViewManager.h,3.38.
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 4•25 years ago
|
||
Based on Beard's comments, marking verified fixed in the Sept 9th build.
Updated•16 years ago
|
Product: Core → Core Graveyard
Comment hidden (collapsed) |
You need to log in
before you can comment on or make changes to this bug.
Description
•