From 8bf6ad039fc4848b3c849272372b4b917928ba7e Mon Sep 17 00:00:00 2001
From: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com>
Date: Fri, 2 Nov 2007 15:38:19 -0400
Subject: [PATCH] Fix crash when deleting accounts

---
 src/managerimpl.cpp | 6 ++++++
 src/sipvoiplink.cpp | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/managerimpl.cpp b/src/managerimpl.cpp
index 70bda70433..d07b7d605d 100644
--- a/src/managerimpl.cpp
+++ b/src/managerimpl.cpp
@@ -1758,6 +1758,10 @@ ManagerImpl::addAccount(const std::map< ::DBus::String, ::DBus::String >& detail
   _accountMap[newAccountID] = newAccount;
 
   setAccountDetails(accountID.str(), details);
+
+  saveConfig();
+  
+  if (_dbus) _dbus->getConfigurationManager()->accountsChanged();
 }
 
 void 
@@ -1775,6 +1779,8 @@ ManagerImpl::removeAccount(const AccountID& accountID)
   _config.removeSection(accountID);
 
   saveConfig();
+  
+  if (_dbus) _dbus->getConfigurationManager()->accountsChanged();
 }
 
 //THREAD=Main
diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp
index fa531eb28b..9d1a0f5cf7 100644
--- a/src/sipvoiplink.cpp
+++ b/src/sipvoiplink.cpp
@@ -69,8 +69,8 @@ SIPVoIPLink::SIPVoIPLink(const AccountID& accountID)
 
 SIPVoIPLink::~SIPVoIPLink()
 {
-  delete _evThread; _evThread = 0;
   terminate();
+  delete _evThread; _evThread = 0;
 }
 
 bool 
-- 
GitLab