Re: commit: Some way towards fixing document history bugs.

From: msevior_at_physics.unimelb.edu.au
Date: Thu Apr 15 2004 - 09:57:22 EDT

  • Next message: msevior_at_physics.unimelb.edu.au: "commit: Fix changeStrux with revision Marks."

    >
    >
    >> Before now inserting a table or a frame would crash abiword.
    >> Now you just can't change any properties.
    >
    > In order for changes to attrs/props to be applied to an object, the
    > attrs/props contained inside a revision attribute need to be
    > overlayed over the normal attrs/props. For any objects derrived from
    > fl_Layout this happens automatically if the object uses
    > fl_Layout::getAP() to trieve its AP. For runs, the same is acchieved
    > by using getSpanAP() and getBlockAP() (which resolves eventually to
    > fl_Layout::getAP() and getSpanAP().
    >
    > Any objects that access the AP directly throught the PT will get the
    > correct attrs/props.
    >

    Hi Tomas,
             The problem is/was that that the endStrux elements get changed too.
    The endStrux actually point back to the strux in the layout. So when you
    did a changeStrux on, say, the PTX_EndFrame strux, the changeStrux method
    in fl_FrameLayout was called. This is bad because then it picks up the
    attributes/properties of the EndFrame not the SectionFrame strux. All the
    useful properties like it's position and size were not in the EndFrame
    strux.

    I've partially fixed this by looking for the End* strux and not allowing
    them to propagate out to the layout classes. However it's not all fixed
    yet. I didn;t have time. If the bugs are still present by tomorrow I'll
    squash them then.

    Cheers

    Martin

    > Tomas
    >
    >



    This archive was generated by hypermail 2.1.4 : Thu Apr 15 2004 - 09:59:55 EDT