From e690a4a290a0d8415c34ae40af9ff95afaea831c Mon Sep 17 00:00:00 2001 From: "kin%netscape.com" Date: Wed, 21 Nov 2001 14:18:26 +0000 Subject: [PATCH] Fix for bug #74383: nsBoxToBlockAdaptor::Reflow() prevents TextArea contents from being reflowed bug #100727:Javascript to modify textarea causes field to go blank/unchangeable bug #101122: Textarea sometimes not refreshing correctly (blank space after delete sel., etc.) bug #107973:Cut and paste in forms is broken Modified Reflow() so that it allows a reflow to happen during a ResizeReflow request when the adaptor or it's children are dirty. r=evaughan@netscape.com sr=attinasi@netscape.com git-svn-id: svn://10.0.0.236/trunk@108696 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp b/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp index ca45ab57ee7..36c5312da21 100644 --- a/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp +++ b/mozilla/layout/xul/base/src/nsBoxToBlockAdaptor.cpp @@ -747,10 +747,14 @@ nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState& aState, } break; - // if the a resize reflow then it doesn't need to be reflowed. Only if the size is different - // from the new size would we actually do a reflow + // if it's a resize reflow, and it and it's children aren't dirty, then it + // doesn't need to be reflowed unless it's size is different from the new + // size. case eReflowReason_Resize: - needsReflow = PR_FALSE; + // blocks sometimes send resizes even when its children are dirty! We + // need to make sure we repair in these cases. So check the flags here. + needsReflow = mStyleChange || (childState & NS_FRAME_IS_DIRTY) || (childState & NS_FRAME_HAS_DIRTY_CHILDREN); + break; // if its an initial reflow we must place the child.