summaryrefslogtreecommitdiff
path: root/sw/source/core/doc/DocumentStatisticsManager.cxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-09-07 21:52:49 +0200
committerMichael Stahl <mstahl@redhat.com>2015-09-07 22:00:27 +0200
commit5adc8ee343e5c32d30095bc4005b7b022016b745 (patch)
tree8148a23a2b68e26b43a308c71fac3feb43319814 /sw/source/core/doc/DocumentStatisticsManager.cxx
parent4ff0032528d7aebb0de5cf045a39972a2769029f (diff)
sw: fix newly created document being modified
After the document is created, an event is dispatched on the main loop that calls SfxPickList::Notify(), which modifies document properties. It tries to prevent setting the document to modified by calling SfxObjectShell::EnableSetModified(false), but Writer cunningly outwits it by simply having its own independent(?) modified flag that is set unconditionally in DocumentStatisticsManager::DocInfoChgd(). Let's assume that if the modified flag shouldn't be modified in SfxObjectShell, it shouldn't be modified in DocumentStatisticsManager. Somehow in 4.4 and 4.3 the same thing was going on, but it didn't result in a visibly enabled Save icon in the UI, but with 5.0 it does - cannot easily bisect why that changed due to tdf#91383. Change-Id: Id30fd831eb29910c9fb44ed3031bf8da23586bea
Diffstat (limited to 'sw/source/core/doc/DocumentStatisticsManager.cxx')
-rw-r--r--sw/source/core/doc/DocumentStatisticsManager.cxx7
1 files changed, 5 insertions, 2 deletions
diff --git a/sw/source/core/doc/DocumentStatisticsManager.cxx b/sw/source/core/doc/DocumentStatisticsManager.cxx
index 4fed190ea0e8..8525ab117881 100644
--- a/sw/source/core/doc/DocumentStatisticsManager.cxx
+++ b/sw/source/core/doc/DocumentStatisticsManager.cxx
@@ -77,11 +77,14 @@ DocumentStatisticsManager::DocumentStatisticsManager( SwDoc& i_rSwdoc ) : m_rDoc
maStatsUpdateTimer.SetTimeoutHdl( LINK( this, DocumentStatisticsManager, DoIdleStatsUpdate ) );
}
-void DocumentStatisticsManager::DocInfoChgd( )
+void DocumentStatisticsManager::DocInfoChgd(bool const isEnableSetModified)
{
m_rDoc.getIDocumentFieldsAccess().GetSysFieldType( RES_DOCINFOFLD )->UpdateFields();
m_rDoc.getIDocumentFieldsAccess().GetSysFieldType( RES_TEMPLNAMEFLD )->UpdateFields();
- m_rDoc.getIDocumentState().SetModified();
+ if (isEnableSetModified)
+ {
+ m_rDoc.getIDocumentState().SetModified();
+ }
}
const SwDocStat& DocumentStatisticsManager::GetDocStat() const