• Caolán McNamara's avatar
    avoid activating chart objects just to get their mapunit or set visual size · 757f461e
    Caolán McNamara yazdı
    the motivation is SwWrtShell::CalcAndSetScale
    
    and the assert/crash triggered by
    
    ooo58458-1.odt ooo84729-2.odt ooo75058-1.odt ooo123605-1.odt ooo102990-1.odt
    fdo57249-1.odt fdo50880-1.odt fdo70223-5.odt ooo30052-2.odt ooo119280-1.odt
    ooo79009-1.odt ooo58182-2.odt ooo59992-1.odt ooo123607-1.odt ooo89304-1.odt
    ooo91578-5.odt ooo89303-1.odt ooo30052-1.odt fdo65664-3.odt ooo119941-1.odt
    ooo55761-1.odt fdo57249-2.odt ooo83229-3.odt ooo84729-1.odt ooo102990-2.odt
    ooo37749-1.sxw ooo38798-1.sxw ooo27909-1.sxw
    
    getMapUnit activates the object which can cause chart object to load data from
    the current document and appears to attempt to stop and resume pending layout
    actions which can't be done if layout is underway, hence the assert from the
    inner SwLayAction::SwLayAction triggered by the runstate while an SwLayAction::SwLayAction
    is already active for counting the number of pdf output pages.
    
    getMapUnit always returns the same result regardless of anything else and the
    assumption is that we don't need to be in run state to setVisualSize on it
    
    Change-Id: Ie75b159b140de223a56324b39699d703c3b40bb9
    757f461e
commonembobj.hxx 24.4 KB