office-gobmx/configmgr/source
Stephan Bergmann 7f927322d9 configmgr: Better handling of finalized vs. non-finalized in the same layer
When there are multiple competing configuration settings for the same
configuration layer (e.g., in xcu files of two different extensions from the
same extension layer), then the setting that is read last always won, even if
any of the settings read earlier is marked as finalized.  (The reason for
originally doing it that way was that it kept the code logic somewhat simple.)

However, esp. for a scenario of multiple extensions in one extension layer
(bundled, shared, or user), it can be unexpected by a user that a non-finalized
setting (that comes from the extension that happens to be read last) can win
over a finalized one.

Therefore, change the logic accordingly.  Now, if any of the competing settings
are finalized, the first finalized one that is read wins.

Change-Id: I22aeade543a5b26d95d49cfcb561f974cd7a5081
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177737
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-12-03 16:26:52 +01:00
..
access.cxx cid#1554844 COPY_INSTEAD_OF_MOVE 2024-10-14 15:28:24 +02:00
access.hxx speedup configmgr::Access on Windows 2024-05-04 12:27:49 +02:00
additions.hxx tdf#123936 Formatting files in module configmgr with clang-format 2020-11-22 01:57:11 +01:00
broadcaster.cxx Make sure that root listeners are notified first 2023-07-18 06:54:47 +02:00
broadcaster.hxx Make sure that root listeners are notified first 2023-07-18 06:54:47 +02:00
childaccess.cxx Related: tdf#161599 ChildAccess::asValue() must return Reference<XInterface> 2024-08-27 21:09:35 +02:00
childaccess.hxx reduce ref-counting traffic in configmgr 2023-10-31 18:11:02 +01:00
components.cxx drop a TODO 2024-11-27 17:16:36 +01:00
components.hxx no need to convert from Sequence to std::set here 2024-05-10 10:44:13 +02:00
config_map.hxx tdf#143148: Use pragma once instead of include guards 2023-03-16 09:25:32 +00:00
configmgr.component Use the new single-instance="true" attribute in configmgr 2020-10-02 09:09:00 +02:00
configurationprovider.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
configurationprovider.hxx tdf#42949 Fix new IWYU warnings in directories c* 2020-11-06 08:18:45 +01:00
configurationregistry.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
data.cxx merge some stringadds 2023-05-25 18:43:52 +02:00
data.hxx Revert some string_view pessimization 2022-09-27 19:47:55 +02:00
dconf.cxx tdf#157432 Expert config: Allow filtering by changed values 2023-12-07 08:03:36 +01:00
dconf.hxx tdf#124176 Use #pragma once in configmgr 2020-09-04 09:01:02 +02:00
defaultprovider.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
defaultprovider.hxx tdf#123936 Formatting files in module configmgr with clang-format 2020-11-22 01:57:11 +01:00
groupnode.cxx clang-tidy modernize-pass-by-value in configmgr 2022-05-23 10:52:11 +02:00
groupnode.hxx clang-tidy modernize-pass-by-value in configmgr 2022-05-23 10:52:11 +02:00
localizedpropertynode.cxx tdf#42949 Fix IWYU warnings in configmgr/* 2019-07-17 13:58:57 +02:00
localizedpropertynode.hxx Make it clear again what the comment appertains to 2020-11-22 22:19:07 +01:00
localizedvaluenode.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
localizedvaluenode.hxx tdf#157432 Expert config: Allow filtering by changed values 2023-12-07 08:03:36 +01:00
lock.cxx Revert "simplify locking in configmgr" 2021-07-22 21:17:15 +02:00
lock.hxx Revert "simplify locking in configmgr" 2021-07-22 21:17:15 +02:00
modifications.cxx Simplify containers iterations, tdf#96099 follow-up 2018-08-20 17:12:11 +02:00
modifications.hxx tdf#123936 Formatting files in module configmgr with clang-format 2020-11-22 01:57:11 +01:00
node.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
node.hxx loplugin:passstuffbyref make some small improvements 2024-11-07 17:20:09 +01:00
nodemap.cxx Revert "use boost::flat_map in config_map" 2022-05-17 10:48:20 +02:00
nodemap.hxx Revert "use boost::flat_map in config_map" 2022-05-17 10:48:20 +02:00
parsemanager.cxx Clean up color scheme migration 2022-09-15 14:27:31 +02:00
parsemanager.hxx Clean up color scheme migration 2022-09-15 14:27:31 +02:00
parser.hxx Clean up color scheme migration 2022-09-15 14:27:31 +02:00
partial.cxx no need to convert from Sequence to std::set here 2024-05-10 10:44:13 +02:00
partial.hxx Revert "boost::unordered_map to std::unordered_map in configmgr::Partial" 2024-07-14 17:32:17 +02:00
propertynode.cxx tdf#157432 Expert config: Allow filtering by changed values 2023-12-07 08:03:36 +01:00
propertynode.hxx tdf#157432 Expert config: Allow filtering by changed values 2023-12-07 08:03:36 +01:00
readonlyaccess.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
readwriteaccess.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
rootaccess.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
rootaccess.hxx reduce ref-counting traffic in configmgr 2023-10-31 18:11:02 +01:00
rootnode.cxx tdf#42949 Fix IWYU warnings in configmgr/* 2019-07-17 13:58:57 +02:00
rootnode.hxx tdf#123936 Formatting files in module configmgr with clang-format 2020-11-22 01:57:11 +01:00
setnode.cxx clang-tidy modernize-pass-by-value in configmgr 2022-05-23 10:52:11 +02:00
setnode.hxx clang-tidy modernize-pass-by-value in configmgr 2022-05-23 10:52:11 +02:00
type.cxx Simplify a bit 2024-11-08 05:34:20 +01:00
type.hxx tdf#124176 Use #pragma once in configmgr 2020-09-04 09:01:02 +02:00
update.cxx no need to convert from Sequence to std::set here 2024-05-10 10:44:13 +02:00
valueparser.cxx cid#1606638 silence Overflowed integer argument 2024-11-18 22:24:40 +01:00
valueparser.hxx tdf#124176 Use #pragma once in configmgr 2020-09-04 09:01:02 +02:00
winreg.cxx Deduplicate O(U)StringConcatenation 2022-10-11 12:46:01 +02:00
winreg.hxx tdf#124176: Use pragma once instead of include guard 2020-01-25 17:46:02 +01:00
writemodfile.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
writemodfile.hxx tdf#124176 Use #pragma once in configmgr 2020-09-04 09:01:02 +02:00
xcdparser.cxx Clean up color scheme migration 2022-09-15 14:27:31 +02:00
xcdparser.hxx Clean up color scheme migration 2022-09-15 14:27:31 +02:00
xcsparser.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
xcsparser.hxx Simplify implementation of getTypeByHierarchicalName 2023-11-26 13:19:56 +01:00
xcuparser.cxx configmgr: Better handling of finalized vs. non-finalized in the same layer 2024-12-03 16:26:52 +01:00
xcuparser.hxx configmgr: Better handling of finalized vs. non-finalized in the same layer 2024-12-03 16:26:52 +01:00
xmldata.cxx loplugin:ostr in configmgr 2024-05-07 08:46:04 +02:00
xmldata.hxx loplugin:stringviewparam convert methods using indexOf 2022-04-02 13:31:19 +02:00