From 2a8072247e1df7651416e06a6d0cf8754a88aa95 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 29 Jun 2014 20:43:47 +0000 Subject: return of m_wMetaStatus into tabSRMM cache git-svn-id: http://svn.miranda-ng.org/main/trunk@9621 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TabSRMM/src/contactcache.cpp | 11 ++++++++++- plugins/TabSRMM/src/contactcache.h | 4 ++-- plugins/TabSRMM/src/version.h | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/plugins/TabSRMM/src/contactcache.cpp b/plugins/TabSRMM/src/contactcache.cpp index fab10869f0..38ef4e3f92 100644 --- a/plugins/TabSRMM/src/contactcache.cpp +++ b/plugins/TabSRMM/src/contactcache.cpp @@ -92,6 +92,7 @@ void CContactCache::resetMeta() { m_isMeta = false; m_szMetaProto = 0; + m_wMetaStatus = ID_STATUS_OFFLINE; initPhaseTwo(); } @@ -150,7 +151,15 @@ bool CContactCache::updateStatus() */ void CContactCache::updateMeta(bool fForce) { - m_szMetaProto = (m_Valid) ? GetContactProto(db_mc_getSrmmSub(cc->contactID)) : NULL; + if (m_Valid) { + MCONTACT hSub = db_mc_getSrmmSub(cc->contactID); + m_szMetaProto = GetContactProto(hSub); + m_wMetaStatus = (WORD)db_get_w(hSub, m_szMetaProto, "Status", ID_STATUS_OFFLINE); + } + else { + m_szMetaProto = NULL; + m_wMetaStatus = ID_STATUS_OFFLINE; + } } /** diff --git a/plugins/TabSRMM/src/contactcache.h b/plugins/TabSRMM/src/contactcache.h index c12879ab4a..0d8626d2bd 100644 --- a/plugins/TabSRMM/src/contactcache.h +++ b/plugins/TabSRMM/src/contactcache.h @@ -73,7 +73,7 @@ struct CContactCache : public MZeroedObject const bool isValid() const { return m_Valid; } const WORD getStatus() const { return m_wStatus; } - const WORD getActiveStatus() const { return m_wStatus; } + const WORD getActiveStatus() const { return m_isMeta ? m_wMetaStatus : m_wStatus; } const WORD getOldStatus() const { return m_wOldStatus; } const TCHAR* getNick() const { return m_szNick; } const MCONTACT getContact() const { return m_hContact; } @@ -133,7 +133,7 @@ private: void releaseAlloced(); MCONTACT m_hContact; - WORD m_wStatus, m_wOldStatus; + WORD m_wStatus, m_wOldStatus, m_wMetaStatus; char *m_szMetaProto; TCHAR *m_szAccount; TCHAR m_szNick[80], m_szUIN[80]; diff --git a/plugins/TabSRMM/src/version.h b/plugins/TabSRMM/src/version.h index d728412c26..25567b323f 100644 --- a/plugins/TabSRMM/src/version.h +++ b/plugins/TabSRMM/src/version.h @@ -1,7 +1,7 @@ #define __MAJOR_VERSION 3 #define __MINOR_VERSION 3 #define __RELEASE_NUM 1 -#define __BUILD_NUM 2 +#define __BUILD_NUM 3 #include -- cgit v1.2.3