clang-tidy: Avoid potential memory leak in BufferViewManager
[quassel.git] / src / core / corebufferviewmanager.cpp
index bf18fee..87a4192 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-08 by the Quassel Project                          *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -15,7 +15,7 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #include "corebufferviewmanager.h"
 #include "core.h"
 #include "coresession.h"
 
+INIT_SYNCABLE_OBJECT(CoreBufferViewManager)
 CoreBufferViewManager::CoreBufferViewManager(SignalProxy *proxy, CoreSession *parent)
-  : BufferViewManager(proxy, parent),
+    : BufferViewManager(proxy, parent),
     _coreSession(parent)
 {
-  QVariantMap views = Core::getUserSetting(_coreSession->user(), "BufferViews").toMap();
-  QVariantMap::iterator iter = views.begin();
-  QVariantMap::iterator iterEnd = views.end();
-  CoreBufferViewConfig *config = 0;
-  while(iter != iterEnd) {
-    config = new CoreBufferViewConfig(iter.key().toInt(), iter.value().toMap(), this);
-    addBufferViewConfig(config);
-    iter++;
-  }
+    QVariantMap views = Core::getUserSetting(_coreSession->user(), "BufferViews").toMap();
+    QVariantMap::iterator iter = views.begin();
+    QVariantMap::iterator iterEnd = views.end();
+    CoreBufferViewConfig *config = 0;
+    while (iter != iterEnd) {
+        config = new CoreBufferViewConfig(iter.key().toInt(), iter.value().toMap(), this);
+        addBufferViewConfig(config);
+        ++iter;
+    }
 }
 
-CoreBufferViewManager::~CoreBufferViewManager() {
-  QVariantMap views;
 
-  BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
-  BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
-  while(iter != iterEnd) {
-    views[QString::number((*iter)->bufferViewId())] = (*iter)->toVariantMap();
-    iter++;
-  }
+void CoreBufferViewManager::saveBufferViews()
+{
+    QVariantMap views;
+
+    BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
+    BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
+    while (iter != iterEnd) {
+        views[QString::number((*iter)->bufferViewId())] = (*iter)->toVariantMap();
+        ++iter;
+    }
 
-  Core::setUserSetting(_coreSession->user(), "BufferViews", views);
+    Core::setUserSetting(_coreSession->user(), "BufferViews", views);
 }
 
-void CoreBufferViewManager::requestCreateBufferView(const QVariantMap &properties) {
-  QString bufferViewName = properties["bufferViewName"].toString();
-  int maxId = -1;
-  BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
-  BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
-  while(iter != iterEnd) {
-    if((*iter)->bufferViewName() == bufferViewName)
-      return;
-    
-    if((*iter)->bufferViewId() > maxId)
-      maxId = (*iter)->bufferViewId();
-    
-    iter++;
-  }
-  maxId++;
-
-  CoreBufferViewConfig *config = new CoreBufferViewConfig(maxId, properties);
-  addBufferViewConfig(config);
+
+void CoreBufferViewManager::requestCreateBufferView(const QVariantMap &properties)
+{
+    QString bufferViewName = properties["bufferViewName"].toString();
+    int maxId = -1;
+    BufferViewConfigHash::const_iterator iter = bufferViewConfigHash().constBegin();
+    BufferViewConfigHash::const_iterator iterEnd = bufferViewConfigHash().constEnd();
+    while (iter != iterEnd) {
+        if ((*iter)->bufferViewName() == bufferViewName)
+            return;
+
+        if ((*iter)->bufferViewId() > maxId)
+            maxId = (*iter)->bufferViewId();
+
+        ++iter;
+    }
+    maxId++;
+
+    addBufferViewConfig(new CoreBufferViewConfig(maxId, properties, this));
 }
 
-void CoreBufferViewManager::requestCreateBufferViews(const QVariantList &properties) {
-  QVariantList::const_iterator iter = properties.constBegin();
-  QVariantList::const_iterator iterEnd = properties.constEnd();
-  while(iter != iterEnd) {
-    requestCreateBufferView((*iter).toMap());
-    iter++;
-  }
+
+void CoreBufferViewManager::requestCreateBufferViews(const QVariantList &properties)
+{
+    QVariantList::const_iterator iter = properties.constBegin();
+    QVariantList::const_iterator iterEnd = properties.constEnd();
+    while (iter != iterEnd) {
+        requestCreateBufferView((*iter).toMap());
+        ++iter;
+    }
 }
 
-void CoreBufferViewManager::requestDeleteBufferView(int bufferViewId) {
-  deleteBufferViewConfig(bufferViewId);
+
+void CoreBufferViewManager::requestDeleteBufferView(int bufferViewId)
+{
+    deleteBufferViewConfig(bufferViewId);
 }
 
-void CoreBufferViewManager::requestDeleteBufferViews(const QVariantList &bufferViews) {
-  foreach(QVariant bufferView, bufferViews) {
-    deleteBufferViewConfig(bufferView.toInt());
-  }
+
+void CoreBufferViewManager::requestDeleteBufferViews(const QVariantList &bufferViews)
+{
+    foreach(QVariant bufferView, bufferViews) {
+        deleteBufferViewConfig(bufferView.toInt());
+    }
 }