author | ulf69 <ulf69> | 2004-08-19 23:29:05 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-08-19 23:29:05 (UTC) |
commit | d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e (patch) (side-by-side diff) | |
tree | 9b723a5c4f7da306036495e35d1863fbee646984 /kabc/vcard/ContentLine.cpp | |
parent | d9b7a7296b031b3cf3e510a163367b9c4ab42d7a (diff) | |
download | kdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.zip kdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.tar.gz kdepimpi-d81fbb0a720ba6eb0fbfa1d1eb0748877237a27e.tar.bz2 |
bugfix: memoryleak in vCards during loading of addressbooks
-rw-r--r-- | kabc/vcard/ContentLine.cpp | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/kabc/vcard/ContentLine.cpp b/kabc/vcard/ContentLine.cpp index 6fa1a8f..0fb5b5d 100644 --- a/kabc/vcard/ContentLine.cpp +++ b/kabc/vcard/ContentLine.cpp @@ -69,4 +69,5 @@ ContentLine::ContentLine() value_(0) { + paramList_.setAutoDelete( TRUE ); } @@ -75,7 +76,22 @@ ContentLine::ContentLine(const ContentLine & x) group_ (x.group_), name_ (x.name_), - paramList_(x.paramList_), - value_(x.value_->clone()) +/*US paramList_(x.paramList_),*/ + value_(x.value_->clone()), + paramType_(x.paramType_), + valueType_(x.valueType_), + entityType_(x.entityType_) { + paramList_.setAutoDelete( TRUE ); + + + ParamListIterator it(x.paramList_); + for (; it.current(); ++it) + { + Param *p = new Param; + p->setName( it.current()->name() ); + p->setValue( it.current()->value() ); + paramList_.append(p); + } + } @@ -84,4 +100,5 @@ ContentLine::ContentLine(const QCString & s) value_(0) { + paramList_.setAutoDelete( TRUE ); } @@ -91,5 +108,13 @@ ContentLine::operator = (ContentLine & x) if (*this == x) return *this; - paramList_ = x.paramList(); + ParamListIterator it(x.paramList_); + for (; it.current(); ++it) + { + Param *p = new Param; + p->setName( it.current()->name() ); + p->setValue( it.current()->value() ); + paramList_.append(p); + } + value_ = x.value_->clone(); |