The two headed, one keyboarded beast, DomPlam is responsible for this
one. We backed out a few of TF's changes to correct the reverse loading
problem and also fixed the inability to insert headers or footers in a
document (take that, schurro!). Some buglets still exist (viewport is at
the end of the document, not insertion point), and typing multi-lines in
a footer can get weird.  This is neither caused nor corrected by our
patch.

CVS:
----------------------------------------------------------------------
CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS:    src/text/fmt/xp/fl_BlockLayout.cpp
CVS:    src/text/fmt/xp/fl_BlockLayout.h
CVS:    src/text/fmt/xp/fl_ContainerLayout.cpp
CVS:    src/text/fmt/xp/fl_SectionLayout.cpp
CVS:    src/text/fmt/xp/fp_Column.cpp src/text/fmt/xp/fp_Page.cpp
CVS:
----------------------------------------------------------------------

This is the payload of the reverse loading patch:
RCS file: /cvsroot/abi/src/text/fmt/xp/fl_SectionLayout.cpp,v
retrieving revision 1.157
diff -u -r1.157 fl_SectionLayout.cpp
--- src/text/fmt/xp/fl_SectionLayout.cpp        29 Jul 2002 14:49:01
-0000      1
.157
+++ src/text/fmt/xp/fl_SectionLayout.cpp        2 Aug 2002 02:50:30
-0000
@@ -922,14 +922,11 @@

                if(!bHidden)
                {
-                       if (pBL->getContainerType()== FL_CONTAINER_BLOCK
&& pBL->
needsReformat())
-                       {
+                       if (pBL->needsReformat())
                                pBL->format();
-                       }
-                       else
-                       {
+
+                       if (pBL->getContainerType() !=
FL_CONTAINER_BLOCK)
                                pBL->updateLayout();
-                       }
                }

                pBL = pBL->getNext();

The problem was that pBL->format() wasn't being called all the time even
if needsReformat() was being set; a previous patch added the
containerType==FL_CONTAINER_BLOCK check and caused this brokenness.  Now
pBL->format() is called all the time again, as it should be, and so we
always have a container for our lines!  Hurrah!

DomPlam

Reply via email to