diff options
-rw-r--r-- | utilities.cpp | 20 | ||||
-rw-r--r-- | utilities.h | 1 |
2 files changed, 10 insertions, 11 deletions
diff --git a/utilities.cpp b/utilities.cpp index 4c9ff65..b50af4a 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -73,14 +73,18 @@ int HandleNewContact(WPARAM w, LPARAM l) if(!acc) break; IJabberSysInterface *ijsys = acc->JabberInterface->Sys(); - if(_tcsstr(_T(JUICK_JID), ijsys->ContactToJID(HANDLE(w)))) + LPTSTR tmp = ijsys->ContactToJID(HANDLE(w)); + if(tmp) { - IJabberNetInterface *ijnet = acc->JabberInterface->Net(); - if(!acc->hPrescenseHandler && !acc->hMessageHandler && !acc->hIqHandler) + if(_tcsstr(_T(JUICK_JID), tmp)) { - acc->hPrescenseHandler = ijnet->AddPresenceHandler(acc->PrescenseHandler(acc->JabberInterface, acc->pNODE, acc->ppUserData)); - acc->hMessageHandler = ijnet->AddMessageHandler(acc->MessageHandler(acc->JabberInterface, acc->mNODE, acc->mpUserData), JABBER_MESSAGE_TYPE_ANY, 0, 0); //hm... - acc->hIqHandler = ijnet->AddIqHandler(acc->IqHandler(acc->JabberInterface, acc->iNODE, acc->ipUserData), JABBER_IQ_TYPE_ANY, 0, 0); //hm... + IJabberNetInterface *ijnet = acc->JabberInterface->Net(); + if(!acc->hPrescenseHandler && !acc->hMessageHandler && !acc->hIqHandler) + { + acc->hPrescenseHandler = ijnet->AddPresenceHandler(acc->PrescenseHandler(acc->JabberInterface, acc->pNODE, acc->ppUserData)); + acc->hMessageHandler = ijnet->AddMessageHandler(acc->MessageHandler(acc->JabberInterface, acc->mNODE, acc->mpUserData), JABBER_MESSAGE_TYPE_ANY, 0, 0); //hm... + acc->hIqHandler = ijnet->AddIqHandler(acc->IqHandler(acc->JabberInterface, acc->iNODE, acc->ipUserData), JABBER_IQ_TYPE_ANY, 0, 0); //hm... + } } } else if (acc->hPrescenseHandler && acc->hMessageHandler && acc->hIqHandler) @@ -146,10 +150,6 @@ JabberAccount::JabberAccount() } -JabberAccount::~JabberAccount() -{ - delete this; -} int GetAccountsCount() { int i; diff --git a/utilities.h b/utilities.h index 2a9646c..8f19ead 100644 --- a/utilities.h +++ b/utilities.h @@ -4,7 +4,6 @@ TCHAR* __stdcall UniGetContactSettingUtf(HANDLE hContact, const char *szModule,c class JabberAccount { public: JabberAccount(); - ~JabberAccount(); TCHAR *AccountName; int AccountNumber; IJabberInterface *JabberInterface; |