https://bugs.documentfoundation.org/show_bug.cgi?id=112797

Justin L <jl...@mail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|https://bugs.documentfounda |
                   |tion.org/show_bug.cgi?id=14 |
                   |0491                        |

--- Comment #24 from Justin L <jl...@mail.com> ---
The code being called is sw/source/core/doc/DocumentStateManager.cxx
DocumentStateManager::SetModified() which can run if IsEnableSetModified().

This is triggered by DocumentFieldsManager::UpdateFields which ALWAYS marks as
modified every time it is run.

UpdateFields is called by writerfilter/source/dmapper/ModelEventListener.cxx
via a rather generic uno "refresh()" call. The only way around this that I can
imagine is to extend the uno call to accept "bEnableSetModified".

Unless we can get away with doing this (it passes a make check):
+        IDocumentState& rIDS = GetDoc()->getIDocumentState();
+        const bool bOldSetModified = rIDS.IsEnableSetModified();
+        if (bOldSetModified)
+            rIDS.SetEnableSetModified(false);
        GetDoc()->getIDocumentStatistics().UpdateDocStat( false, true );
        GetDoc()->getIDocumentFieldsAccess().UpdateFields(false);
+        if (bOldSetModified)
+            rIDS.SetEnableSetModified(true);

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to