sw/source/uibase/dbui/mmconfigitem.cxx |    1 +
 1 file changed, 1 insertion(+)

New commits:
commit 45e8b85a50bf153b6c9f627e731eecee1cf966f2
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Mon Sep 20 14:03:26 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Mon Sep 20 20:47:39 2021 +0200

    Resolves: tdf#144620 toolbar config item overwrites options dialog one
    
    There are two SwMailMergeConfigItem involved. One SwMailMergeConfigItem
    from the toolbar created and considered modified and with changes not
    commited to the config yet.
    
    Then the other SwMailMergeConfigItem is created by the options dialog
    and commited on ok, but after that commit at
    cui/source/options/treeopt.cxx at line 723 there is a
    utl::ConfigManager::storeConfigItems() to flush all outstanding config
    items, so the one belonging to the toolbar is now flushed after the
    options dialog one was written.
    
    The SwMailMergeConfigItem has a IsModified() of true right after ctor
    which doesn't seem intentional, there is no explicit set of Modified to
    true on setting the simple bool members, the Modified bit is toggled on
    when using the more complicated modifier methods during ctor so very
    much looks like an accidental side effect.
    
    Change-Id: If84a6f01c7bf92704dd1e175a2bd8e2ea59e157f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122364
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sw/source/uibase/dbui/mmconfigitem.cxx 
b/sw/source/uibase/dbui/mmconfigitem.cxx
index 26462bccf41a..744373edefc3 100644
--- a/sw/source/uibase/dbui/mmconfigitem.cxx
+++ b/sw/source/uibase/dbui/mmconfigitem.cxx
@@ -290,6 +290,7 @@ SwMailMergeConfigItem_Impl::SwMailMergeConfigItem_Impl() :
                 case 39: pValues[nProp] >>= m_nCurrentAddressBlock; break;
             }
         }
+        ClearModified();
     }
     //read the list of data base assignments
     Sequence<OUString> aAssignments = GetNodeNames(cAddressDataAssignments);

Reply via email to