Closed
Bug 39659
Opened 24 years ago
Closed 24 years ago
[ENDER-LITE] Page redraws every time you type
Categories
(Core :: XUL, defect, P3)
Tracking
()
M16
People
(Reporter: sfraser_bugs, Assigned: mjudge)
Details
(Whiteboard: [nsbeta2+][dogfood-])
Bug to track the problem with ender-lite causing the entire page to redraw every
time you type.
Actually, I'm seeing that only the contents of the <form> tag get redrawn.
Reporter | ||
Comment 1•24 years ago
|
||
Using invalidate flashing on Mac, i'm seeing that a nsContainerFrame is being
moved -- stack looks like:
nsGfxTextControlFrame2::Reflow
nsContainerFrame::ReflowChild
nsGfxScrollFrame::Reflow
nsBoxFrame::Reflow
nsGfxScrollFrame::Layout
nsGfxScrollFrameInner::Layout
nsGfxScrollFrameInner::LayoutBox
nsContainerBox::LayoutChildAt
nsBox::SetBounds
nsContainerFrame::PositionFrameView
nsViewManager2::MoveViewTo
In nsContainerBox::LayoutChildAt, the old rect and new rects are the same (both
with x = 0, y = 0), but for some reason (origin weirdness?) this is causing the
box to get moved.
Reporter | ||
Comment 2•24 years ago
|
||
So in the stack above (the ReflowChild call from nsGfxTextControlFrame2::Reflow),
the view was being moved from (150, 165) to (120,138). But the view is moved back
to (150, 165) in the FinishReflowChild() call from
nsGfxTextControlFrame2::Reflow().
So we're moving the view away from, and then back to its original location,
invalidating all the while.
Reporter | ||
Comment 3•24 years ago
|
||
This patch fixes the moving view problem (i'm not sure if it's correct, tho)
Index: nsGfxTextControlFrame2.cpp
===================================================================
RCS file: /cvsroot/mozilla/layout/html/forms/src/nsGfxTextControlFrame2.cpp,v
retrieving revision 1.23
diff -w -c -1 -r1.23 nsGfxTextControlFrame2.cpp
*** nsGfxTextControlFrame2.cpp 2000/05/17 00:07:34 1.23
--- nsGfxTextControlFrame2.cpp 2000/05/17 23:03:44
***************
*** 1271,1275 ****
! rv = ReflowChild(child, aPresContext, kidReflowDesiredSize, kidReflowState,
0, 0, 0, aStatus);
// Place and size the child.
! FinishReflowChild(child, aPresContext, kidReflowDesiredSize,
aReflowState.mComputedBorderPadding.left,
aReflowState.mComputedBorderPadding.top, 0);
--- 1271,1280 ----
! // rv = ReflowChild(child, aPresContext, kidReflowDesiredSize,
kidReflowState, 0, 0, 0, aStatus);
! rv = ReflowChild(child, aPresContext, kidReflowDesiredSize, kidReflowState,
! aReflowState.mComputedBorderPadding.left,
! aReflowState.mComputedBorderPadding.top, 0, aStatus);
!
// Place and size the child.
! FinishReflowChild(child, aPresContext, kidReflowDesiredSize,
! aReflowState.mComputedBorderPadding.left,
aReflowState.mComputedBorderPadding.top, 0);
However, there is something else that is still causing extra reflows/repaints.
Comment 4•24 years ago
|
||
setting this to m16 and setting to dogfood so we ensure this is fixed before
beta2
Keywords: dogfood
Target Milestone: --- → M16
Putting on [nsbeta2+][dogfood-] radar. Does not need a fix ASAP for daily work,
but we should fix this for beta2. Will not hold M16 for this.
Whiteboard: [nsbeta2+][dogfood-]
*** This bug has been marked as a duplicate of 39885 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Comment 8•24 years ago
|
||
Adding keyword to bugs which already show a nsbeta2 triage value in the status
whiteboard so the queries don't get screwed up.
Keywords: nsbeta2
You need to log in
before you can comment on or make changes to this bug.
Description
•