diff options
author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-10-17 17:49:10 +0200 |
---|---|---|
committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2010-10-17 17:49:10 +0200 |
commit | fde258b24ec096ffc7d4d68f02cccbc36f896d96 (patch) | |
tree | bd45c67cfae52d8af45af48796765d8cd2c6f4fa /src/css.cc | |
parent | e0f49e146d2fc54d9f69d698089dc7b903b96ee0 (diff) |
no need to inline CssPropertyList copy constructor
Diffstat (limited to 'src/css.cc')
-rw-r--r-- | src/css.cc | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -25,6 +25,28 @@ void CssProperty::print () { (int)value.intVal); } +CssPropertyList::CssPropertyList (const CssPropertyList &p, bool deep) : + lout::misc::SimpleVector <CssProperty> (p) +{ + refCount = 0; + if (deep) { + for (int i = 0; i < size (); i++) { + CssProperty *p = getRef(i); + switch (p->type) { + case CSS_TYPE_STRING: + case CSS_TYPE_SYMBOL: + p->value.strVal = dStrdup (p->value.strVal); + break; + default: + break; + } + } + ownerOfStrings = true; + } else { + ownerOfStrings = false; + } +}; + CssPropertyList::~CssPropertyList () { if (ownerOfStrings) for (int i = 0; i < size (); i++) |