diff --git a/src/lib/file.cpp b/src/lib/file.cpp --- a/src/lib/file.cpp +++ b/src/lib/file.cpp @@ -62,8 +62,9 @@ const File& File::operator=(const File& f) { - delete d; - d = new Private(*f.d); + if (&f != this) { + *d = *f.d; + } return *this; } @@ -85,6 +86,7 @@ bool File::load(const QString& url) { d->url = QFileInfo(url).canonicalFilePath(); + d->propertyMap.clear(); return load(); }