diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-03-08 09:03:39 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-03-30 11:59:15 +0000 |
commit | 0be4633755e1e2d3639866e074a456e1de0de3a8 (patch) | |
tree | 5b112bb31eaf1bb3e3890877243824909fce7dfa /rsc | |
parent | 226af96743f8ce5f00f34ee726a1218c2274e3a2 (diff) |
tdf#97601 sw: don't mark an already modified chart as modified
Regression from commit e2b260fc98e833d4e64426b90992094f2da0498c (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.
(cherry picked from commit 078c00e3a3c971ac83154948d5f08462532b9dc6)
Change-Id: I3b56a91afaacd3e0b7cb646a492fd15f1b5168ee
Reviewed-on: https://gerrit.libreoffice.org/23495
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'rsc')
0 files changed, 0 insertions, 0 deletions