• Miklos Vajna's avatar
    tdf#97601 sw: don't mark an already modified chart as modified · 078c00e3
    Miklos Vajna yazdı
    Regression from commit e2b260fc (sw: let
    layout not mark embedded object as modified, 2014-06-03), an infinite
    loop was caused by:
    
    1) SwDoc::SetOLEObjModified() triggering the maOLEModifiedIdle Idle
    2) which at the end called SwWrtShell::CalcAndSetScale()
    3) which at the end called chart::ChartModel::setModified()
    4) where chart code called back into SwDoc::SetOLEObjModified() via the
    modification listener, and this happened again and again.
    
    The original fix wanted to avoid marking the document as modified
    without a user interaction, so fix the bug by only calling setModified()
    if it prevents a not-modified -> modified transition. This keeps the
    original bug fixed, but prevents the infinite loop, that is always a
    modified -> modified transition.
    
    Change-Id: I3b56a91afaacd3e0b7cb646a492fd15f1b5168ee
    078c00e3