diff options
Diffstat (limited to 'protocols/Tox')
| -rw-r--r-- | protocols/Tox/src/tox_proto.cpp | 20 | ||||
| -rw-r--r-- | protocols/Tox/src/tox_transfer.cpp | 2 | 
2 files changed, 18 insertions, 4 deletions
| diff --git a/protocols/Tox/src/tox_proto.cpp b/protocols/Tox/src/tox_proto.cpp index 7986987fe4..2f4e749412 100644 --- a/protocols/Tox/src/tox_proto.cpp +++ b/protocols/Tox/src/tox_proto.cpp @@ -51,7 +51,6 @@ CToxProto::CToxProto(const char* protoName, const TCHAR* userName) :  CToxProto::~CToxProto()
  {
  	mir_free(accountName);
 -	//UninitToxCore();
  	UninitNetlib();
  }
 @@ -60,9 +59,11 @@ DWORD_PTR __cdecl CToxProto::GetCaps(int type, MCONTACT hContact)  	switch (type)
  	{
  	case PFLAGNUM_1:
 -		return PF1_IM | PF1_FILE | PF1_AUTHREQ | PF1_EXTSEARCH | PF1_SERVERCLIST;
 +		return PF1_IM | PF1_FILE | PF1_AUTHREQ | PF1_MODEMSGSEND | PF1_EXTSEARCH | PF1_SERVERCLIST;
  	case PFLAGNUM_2:
  		return PF2_ONLINE | PF2_SHORTAWAY | PF2_LIGHTDND;
 +	case PFLAGNUM_3:
 +		return PF2_ONLINE | PF2_SHORTAWAY | PF2_LIGHTDND;
  	case PFLAGNUM_4:
  		return PF4_IMSENDUTF | PF4_SINGLEFILEONLY | PF4_SUPPORTTYPING | PF4_AVATARS
  			| PF4_FORCEADDED | PF4_NOAUTHDENYREASON | PF4_FORCEAUTH;
 @@ -249,7 +250,20 @@ int __cdecl CToxProto::SetStatus(int iNewStatus)  HANDLE __cdecl CToxProto::GetAwayMsg(MCONTACT hContact) { return 0; }
  int __cdecl CToxProto::RecvAwayMsg(MCONTACT hContact, int mode, PROTORECVEVENT* evt) { return 0; }
 -int __cdecl CToxProto::SetAwayMsg(int iStatus, const PROTOCHAR* msg) { return 0; }
 +
 +int __cdecl CToxProto::SetAwayMsg(int iStatus, const PROTOCHAR *msg)
 +{
 +	if (IsOnline())
 +	{
 +		ptrA statusMessage(msg == NULL ? mir_strdup("") : mir_utf8encodeT(msg));
 +		if (tox_set_status_message(tox, (uint8_t*)(char*)statusMessage, min(TOX_MAX_STATUSMESSAGE_LENGTH, strlen(statusMessage))) == TOX_ERROR)
 +		{
 +			debugLogA("CToxProto::SetAwayMsg: failed to set status status message %s", msg);
 +		}
 +	}
 +
 +	return 0;
 +}
  int __cdecl CToxProto::OnEvent(PROTOEVENTTYPE iEventType, WPARAM wParam, LPARAM lParam)
  {
 diff --git a/protocols/Tox/src/tox_transfer.cpp b/protocols/Tox/src/tox_transfer.cpp index 127c0340af..03ebe2c467 100644 --- a/protocols/Tox/src/tox_transfer.cpp +++ b/protocols/Tox/src/tox_transfer.cpp @@ -219,7 +219,7 @@ void CToxProto::SendFileAsync(void* arg)  		uint8_t *data = (uint8_t*)mir_alloc(TOX_FILE_BLOCK_SIZE);
  		while (!feof(hFile) && fileProgress < fileSize && !transfer->isTerminated)
  		{
 -			// read file by block of 1mb
 +			// read file by block of TOX_FILE_BLOCK_SIZE
  			size_t blockSize = min(chunkSize * (TOX_FILE_BLOCK_SIZE / chunkSize), fileSize - fileProgress);
  			if (fread(data, sizeof(uint8_t), blockSize, hFile) != blockSize)
  			{
 | 
