summaryrefslogtreecommitdiff
path: root/plugins/TabSRMM/chat/manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/TabSRMM/chat/manager.cpp')
-rw-r--r--plugins/TabSRMM/chat/manager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/TabSRMM/chat/manager.cpp b/plugins/TabSRMM/chat/manager.cpp
index 8a1e404ea5..d1c2a27aa3 100644
--- a/plugins/TabSRMM/chat/manager.cpp
+++ b/plugins/TabSRMM/chat/manager.cpp
@@ -98,7 +98,7 @@ SESSION_INFO* SM_AddSession(const TCHAR* pszID, const char* pszModule)
return NULL;
}
-int SM_RemoveSession(const TCHAR* pszID, const char* pszModule)
+int SM_RemoveSession(const TCHAR* pszID, const char* pszModule, bool removeContact)
{
SESSION_INFO* pTemp = m_WndList, *pLast = NULL;
@@ -135,6 +135,9 @@ int SM_RemoveSession(const TCHAR* pszID, const char* pszModule)
DBWriteContactSettingString(pTemp->hContact, pTemp->pszModule, "StatusBar", "");
DBDeleteContactSetting(pTemp->hContact, "CList", "StatusMsg");
+ if (removeContact)
+ CallService(MS_DB_CONTACT_DELETE, (WPARAM)pTemp->hContact, 0);
+
mir_free(pTemp->pszModule);
mir_free(pTemp->ptszID);
mir_free(pTemp->ptszName);