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); DOMWarning("property table (Properties70) not found", element);
} }
if (templateProps) { if (templateProps) {
return templateProps; return new const PropertyTable(templateProps);
} else { } else {
return new const PropertyTable(); return new const PropertyTable();
} }

View file

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

View file

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