leak: manually delete c++ pointers

ARC does not take in charge C++ pointers

Issue: #78372
Change-Id: Ia62d70073e541c0979ef556d8adb3686cfec799e
diff --git a/src/AccountsVC.mm b/src/AccountsVC.mm
index 0fc4844..7cb3b9d 100644
--- a/src/AccountsVC.mm
+++ b/src/AccountsVC.mm
@@ -123,7 +123,7 @@
 
     AccountModel::instance()->selectionModel()->clearCurrentIndex();
 
-    self.proxyProtocolModel = new ActiveProtocolModel(AccountModel::instance()->protocolModel());
+    proxyProtocolModel = new ActiveProtocolModel(AccountModel::instance()->protocolModel());
     QModelIndex qProtocolIdx = AccountModel::instance()->protocolModel()->selectionModel()->currentIndex();
     [self.protocolList addItemWithTitle:
                            AccountModel::instance()->protocolModel()->data(qProtocolIdx, Qt::DisplayRole).toString().toNSString()];
@@ -159,6 +159,11 @@
     [self.ringTabItem setView:self.ringVC.view];
 }
 
+- (void) dealloc
+{
+    delete proxyProtocolModel;
+}
+
 - (IBAction)moveUp:(id)sender {
     AccountModel::instance()->moveUp();
 }
diff --git a/src/HistoryVC.mm b/src/HistoryVC.mm
index c35d10a..b1b4400 100644
--- a/src/HistoryVC.mm
+++ b/src/HistoryVC.mm
@@ -88,6 +88,11 @@
     CategorizedHistoryModel::instance()->addCollection<LocalHistoryCollection>(LoadOptions::FORCE_ENABLED);
 }
 
+- (void) dealloc
+{
+    delete historyProxyModel;
+}
+
 - (void)placeHistoryCall:(id)sender
 {
     if([[treeController selectedNodes] count] > 0) {
diff --git a/src/PersonsVC.mm b/src/PersonsVC.mm
index 68687a2..d77471c 100644
--- a/src/PersonsVC.mm
+++ b/src/PersonsVC.mm
@@ -98,6 +98,11 @@
     CategorizedContactModel::instance()->setUnreachableHidden(YES);
 }
 
+- (void) dealloc
+{
+    delete contactProxyModel;
+}
+
 - (IBAction)callContact:(id)sender
 {
     if([[treeController selectedNodes] count] > 0) {