Merge pull request #46877 from W4RH4WK/always-dynamically-allocate-property-table

Always dynamically allocate PropertyTable
This commit is contained in:
Rémi Verschelde 2021-04-07 11:25:38 +02:00 committed by GitHub
commit e261c2dd9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 1 deletions

View file

@ -160,7 +160,7 @@ const PropertyTable *GetPropertyTable(const Document &doc,
DOMWarning("property table (Properties70) not found", element);
}
if (templateProps) {
return templateProps;
return new const PropertyTable(templateProps);
} else {
return new const PropertyTable();
}

View file

@ -148,6 +148,11 @@ std::string PeekPropertyName(const Element &element) {
PropertyTable::PropertyTable() {
}
// ------------------------------------------------------------------------------------------------
PropertyTable::PropertyTable(const PropertyTable *templateProps) :
templateProps(templateProps), element() {
}
// ------------------------------------------------------------------------------------------------
PropertyTable::PropertyTable(const ElementPtr element, const PropertyTable *templateProps) :
templateProps(templateProps), element(element) {

View file

@ -137,6 +137,7 @@ class PropertyTable {
public:
// in-memory property table with no source element
PropertyTable();
PropertyTable(const PropertyTable *templateProps);
PropertyTable(const ElementPtr element, const PropertyTable *templateProps);
~PropertyTable();