summaryrefslogtreecommitdiff
path: root/plugins/Scriver/chat/manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Scriver/chat/manager.cpp')
-rw-r--r--plugins/Scriver/chat/manager.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/plugins/Scriver/chat/manager.cpp b/plugins/Scriver/chat/manager.cpp
index 30bdfc80c7..9573c920fa 100644
--- a/plugins/Scriver/chat/manager.cpp
+++ b/plugins/Scriver/chat/manager.cpp
@@ -91,7 +91,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;
@@ -130,6 +130,9 @@ int SM_RemoveSession( const TCHAR* pszID, const char* pszModule)
DBWriteContactSettingString(pTemp->windowData.hContact, pTemp->pszModule, "StatusBar", "");
DBDeleteContactSetting(pTemp->windowData.hContact, "CList", "StatusMsg");
+ if (removeContact)
+ CallService(MS_DB_CONTACT_DELETE, (WPARAM)pTemp->windowData.hContact, 0);
+
mir_free( pTemp->pszModule );
mir_free( pTemp->ptszID );
mir_free( pTemp->ptszName );