# # # patch "NEWS" # from [1e04804ab9e317a275c1d76b5bbbe22e1126aae7] # to [bae151db1f4f1e989f4cb69c0c551a787bace6ae] # # patch "src/model/Manifest.cpp" # from [235f3ddeb0e0514934b9df6f619e87ceb9d6f387] # to [e0d220ad42c20530a990d3d87701965dedfa2cb0] # ============================================================ --- NEWS 1e04804ab9e317a275c1d76b5bbbe22e1126aae7 +++ NEWS bae151db1f4f1e989f4cb69c0c551a787bace6ae @@ -1,6 +1,9 @@ ????-??-?? (0.9) - bugfix: in workspace mode the database variables panel has not been initialized, thus guitone crashed when "update" was clicked + - bugfix: if the user tries to save one or more files from the manifest + view more than once, guitone crashed on an invariant; this is fixed + (missing re-initialization in the underlying model) 2008-05-25 (0.8) - starting from this version (0.8) guitone is distributed under the terms ============================================================ --- src/model/Manifest.cpp 235f3ddeb0e0514934b9df6f619e87ceb9d6f387 +++ src/model/Manifest.cpp e0d220ad42c20530a990d3d87701965dedfa2cb0 @@ -23,12 +23,12 @@ Manifest::Manifest(QObject * parent, con Manifest::Manifest(QObject * parent, const DatabaseFile & db) : QAbstractItemModel(parent), AutomateCommand(0), databaseFile(db) { - root = NULL; + root = 0; } Manifest::~Manifest() { - delete root; + if (root) delete root; } void Manifest::readManifest(const QString & rev) @@ -55,6 +55,12 @@ void Manifest::processTaskResult(const M QMap directoryMap; + if (root) + { + delete root; + root = 0; + } + for (int i=0, size = list.size(); i < size; ++i) { Stanza stanza = list.at(i);