diff --git a/layout/base/nsBidiPresUtils.cpp b/layout/base/nsBidiPresUtils.cpp index 1184da66a..5cd0a274a 100644 --- a/layout/base/nsBidiPresUtils.cpp +++ b/layout/base/nsBidiPresUtils.cpp @@ -705,6 +705,9 @@ nsBidiPresUtils::Resolve(nsBlockFrame* aBlockFrame) /* } */ #endif } + // Moving the below here so that we can keep partial work causes RTL + // to get munged. It seems we really do have to iterate through all the + // frames again from the beginning if any are RTL. if (!bpd.mRequiresBidi) { return NS_OK; }