diff --git a/src/akonadicollectionview.cpp b/src/akonadicollectionview.cpp --- a/src/akonadicollectionview.cpp +++ b/src/akonadicollectionview.cpp @@ -232,18 +232,17 @@ if (!findEtm(mTreeView->model())) { return; } - if (treeStateRestorer) { // We don't need more than one to be running at the same time - delete treeStateRestorer; - } + treeStateRestorer.reset(); // We don't need more than one to be running at the same time + qCDebug(KORGANIZER_LOG) << "Restore tree state"; - treeStateRestorer = new Akonadi::ETMViewStateSaver(); // not a leak + treeStateRestorer.reset(new Akonadi::ETMViewStateSaver()); KConfigGroup group(KSharedConfig::openConfig(), mTreeStateConfig); treeStateRestorer->setView(mTreeView); treeStateRestorer->setSelectionModel(nullptr); // we only restore expand state treeStateRestorer->restoreState(group); } - QPointer treeStateRestorer; + QScopedPointer treeStateRestorer; QTreeView *mTreeView = nullptr; bool mExpandAll = false; QString mTreeStateConfig;