summaryrefslogtreecommitdiff
path: root/configmgr
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr')
-rw-r--r--configmgr/source/writemodfile.cxx26
1 files changed, 19 insertions, 7 deletions
diff --git a/configmgr/source/writemodfile.cxx b/configmgr/source/writemodfile.cxx
index a8e0f77cbd..c6a23d5bc8 100644
--- a/configmgr/source/writemodfile.cxx
+++ b/configmgr/source/writemodfile.cxx
@@ -463,13 +463,25 @@ void writeModifications(
// components themselves have no parent but must have children
if (node.is()) {
writeData(handle, RTL_CONSTASCII_STRINGPARAM("<item oor:path=\""));
- writeAttributeValue(
- handle,
- (grandparentPathRepresentation +
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/")) +
- Data::createSegment(parent->getTemplateName(), parentName)));
- writeData(handle, RTL_CONSTASCII_STRINGPARAM("\">"));
- writeNode(components, handle, parent, nodeName, node);
+ if (parent->kind() == Node::KIND_LOCALIZED_PROPERTY) {
+ writeAttributeValue(handle, grandparentPathRepresentation);
+ writeData(
+ handle, RTL_CONSTASCII_STRINGPARAM("\"><prop oor:name=\""));
+ writeAttributeValue(handle, parentName);
+ writeData(
+ handle, RTL_CONSTASCII_STRINGPARAM("\" oor:op=\"fuse\">"));
+ writeNode(components, handle, parent, nodeName, node);
+ writeData(handle, RTL_CONSTASCII_STRINGPARAM("</prop>"));
+ } else {
+ writeAttributeValue(
+ handle,
+ (grandparentPathRepresentation +
+ rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/")) +
+ Data::createSegment(
+ parent->getTemplateName(), parentName)));
+ writeData(handle, RTL_CONSTASCII_STRINGPARAM("\">"));
+ writeNode(components, handle, parent, nodeName, node);
+ }
writeData(handle, RTL_CONSTASCII_STRINGPARAM("</item>"));
} else {
writeData(handle, RTL_CONSTASCII_STRINGPARAM("<item oor:path=\""));