summaryrefslogtreecommitdiff
path: root/protocols/JabberG/jabber_proto.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/JabberG/jabber_proto.cpp')
-rw-r--r--protocols/JabberG/jabber_proto.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/protocols/JabberG/jabber_proto.cpp b/protocols/JabberG/jabber_proto.cpp
index 58d8d515c5..8e6bc32294 100644
--- a/protocols/JabberG/jabber_proto.cpp
+++ b/protocols/JabberG/jabber_proto.cpp
@@ -1090,10 +1090,10 @@ HANDLE __cdecl CJabberProto::SendFile( HANDLE hContact, const TCHAR* szDescripti
return 0;
}
- JabberCapsBits jcb = GetTotalJidCapabilites( item->jid );
- if (( jcb & JABBER_RESOURCE_CAPS_IN_PROGRESS ) == JABBER_RESOURCE_CAPS_IN_PROGRESS ) {
+ JabberCapsBits jcb = GetResourceCapabilites( item->jid, TRUE );
+ if ( jcb == JABBER_RESOURCE_CAPS_IN_PROGRESS ) {
Sleep(600);
- jcb = GetTotalJidCapabilites( item->jid );
+ jcb = GetResourceCapabilites( item->jid, TRUE );
}
// fix for very smart clients, like gajim
@@ -1238,6 +1238,10 @@ int __cdecl CJabberProto::SendMsg( HANDLE hContact, int flags, const char* pszSr
TCHAR szClientJid[ JABBER_MAX_JID_LEN ];
GetClientJID( dbv.ptszVal, szClientJid, SIZEOF( szClientJid ));
+ JABBER_RESOURCE_STATUS *r = ResourceInfoFromJID( szClientJid );
+ if ( r )
+ r->bMessageSessionActive = TRUE;
+
JabberCapsBits jcb = GetResourceCapabilites( szClientJid, TRUE );
if ( jcb & JABBER_RESOURCE_CAPS_ERROR )