Commit: "Really" fix the reverse loader bug

From: Dom Lachowicz (doml@appligent.com)
Date: Thu Aug 01 2002 - 22:51:51 EDT

  • Next message: Dom Lachowicz: "Re: gsf api thoughts"

    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



    This archive was generated by hypermail 2.1.4 : Thu Aug 01 2002 - 23:00:58 EDT