diff options
Diffstat (limited to 'utilities.cpp')
-rw-r--r-- | utilities.cpp | 20 |
1 files changed, 10 insertions, 10 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; |