Closed Bug 534561 Opened 15 years ago Closed 15 years ago

parts of windowed plugins not updated after scrolling

Categories

(Core :: Widget: Win32, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
status1.9.2 --- final-fixed

People

(Reporter: karlt, Assigned: roc)

Details

(Keywords: testcase)

Attachments

(2 files)

Attached file testcase
1) Load testcase.
2) Scroll up and down.

Actual results:
   Sometimes some of the plugin contains the screen's previous content.
   The effect is most obvious when scrolling with the mouse wheel and when
   smooth scrolling is off.  The effect can also be reproduced with other
   scrolling methods (arrow keys, scroll bar arrows).

Reload to see expected results.
Flags: blocking1.9.2?
This was with m-c 3ff17b03644e, which has the fix for bug 532404.

I still have suspicions about the "+ aDelta" here:
http://hg.mozilla.org/mozilla-central/annotate/3ff17b03644e/widget/src/windows/nsWindow.cpp#l2349
Perhaps we should check both the before and after rects? If you have a Windows build, can you test that?
Assignee: nobody → roc
roc: thoughts on blocking?
Is this a regression from bug 518506?
Attached patch fixSplinter Review
Attachment #417779 - Flags: review?(jmathies)
Whiteboard: [needs review]
Attachment #417779 - Flags: review?(jmathies) → review+
The patch makes a few important changes:
-- invalidate the widgets that extend outside the blit area *before* we scroll,
as well as the ones that extend outside the blit area *after* we scroll
-- invalidate all affected widgets, not just the ones for which we were passed
in a Configuration change, by looping over our children
-- invalidate the widgets *after* we've done the blit and moved the widget, to
ensure that everything we want to repaint is visible
-- invalidate the widgets by adding their area to InvalidateRgnInWindowSubtree,
to ensure that not just the widget itself but also all descendant widgets are
invalidated as necessary
Whiteboard: [needs review] → [needs landing]
Comment on attachment 417779 [details] [diff] [review]
fix

Needs 1.9.2 approval. I think this should block anyway
Attachment #417779 - Flags: review?(karlt) → approval1.9.2?
Blocking, then, no approval needed!
Flags: blocking1.9.2? → blocking1.9.2+
Keywords: testcase
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: