From b8700e9d29e0ec2b8a91dd5a360ceee57a1f3c3d Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 20 Sep 2021 14:03:26 +0100 Subject: 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/+/122280 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos --- sw/source/uibase/dbui/mmconfigitem.cxx | 1 + 1 file changed, 1 insertion(+) 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 aAssignments = GetNodeNames(cAddressDataAssignments); -- cgit