From: Jon K. <em...@us...> - 2004-12-10 04:32:21
|
Update of /cvsroot/licq/msn/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5402 Modified Files: msn-sb.cpp Log Message: Protocol doesn't allow us to send messages when we are offline. So show the error instead of waiting forever. Index: msn-sb.cpp =================================================================== RCS file: /cvsroot/licq/msn/src/msn-sb.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- msn-sb.cpp 18 Nov 2004 13:50:13 -0000 1.2 +++ msn-sb.cpp 10 Dec 2004 04:32:11 -0000 1.3 @@ -336,7 +336,7 @@ ICQUser *u = gUserManager.FetchUser(_szUser, MSN_PPID, LOCK_R); if (!u) return; int nSocket = nSockDesc != -1 ? nSockDesc : u->SocketDesc(ICQ_CHNxNONE); - bool bOffline = u->StatusOffline(); + bool bCantSend = u->StatusOffline() || (m_nStatus & ICQ_STATUS_FxPRIVATE); gUserManager.DropUser(u); CMSNPacket *pSend = new CPS_MSNMessage(_szMsg); @@ -346,16 +346,19 @@ e->thread_plugin = _tPlugin; CICQSignal *s = new CICQSignal(SIGNAL_EVENTxID, 0, strdup(_szUser), MSN_PPID, e->EventId()); - if (bOffline) + if (bCantSend) { - // MSN doesn't support sending to offline users. + // MSN doesn't support sending to offline users or if we are invisible. // It'd be best to change the GUI, but Licq uses a // GUI plugin system.. so that would force more requirements // on the plugin. This allows the plugin to see that it has failed. m_pDaemon->PushPluginSignal(s); e->m_eResult = EVENT_FAILED; m_pDaemon->PushPluginEvent(e); - gLog.Error("%sCannot send messages to offline MSN users.\n", L_ERRORxSTR); + if (m_nStatus & ICQ_STATUS_FxPRIVATE) + gLog.Error("%sCannot send messages while Invisible.\n", L_ERRORxSTR); + else + gLog.Error("%sCannot send messages to offline MSN users.\n", L_ERRORxSTR); return; } |