Merge branch 'master' into swiften3

This commit is contained in:
Vitaly Takmazov 2015-10-15 16:21:31 +03:00
commit 1045ad7b73
5 changed files with 20 additions and 5 deletions

View file

@ -518,7 +518,11 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
}
m_vcards[user + name] = id;
if (CONFIG_BOOL(config, "backend.no_vcard_fetch") && name != purple_account_get_username_wrapped(account)) {
PurplePlugin *prpl = purple_find_prpl_wrapped(purple_account_get_protocol_id_wrapped(account));
PurplePluginProtocolInfo *prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(prpl);
bool support_get_info = prpl_info && prpl_info->get_info;
if (!support_get_info || (CONFIG_BOOL(config, "backend.no_vcard_fetch") && name != purple_account_get_username_wrapped(account))) {
PurpleNotifyUserInfo *user_info = purple_notify_user_info_new_wrapped();
notify_user_info(purple_account_get_connection_wrapped(account), name.c_str(), user_info);
purple_notify_user_info_destroy_wrapped(user_info);
@ -526,7 +530,6 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
else {
serv_get_info_wrapped(purple_account_get_connection_wrapped(account), name.c_str());
}
}
}
@ -635,6 +638,11 @@ class SpectrumNetworkPlugin : public NetworkPlugin {
PurpleAccount *account = m_sessions[user];
if (account) {
serv_send_typing_wrapped(purple_account_get_connection_wrapped(account), buddyName.c_str(), PURPLE_NOT_TYPING);
PurpleConversation *conv = purple_find_conversation_with_account_wrapped(PURPLE_CONV_TYPE_CHAT, buddyName.c_str(), account);
if (conv) {
purple_conversation_set_data_wrapped(conv, "unseen_count", 0);
purple_conversation_update_wrapped(conv, PURPLE_CONV_UPDATE_UNSEEN);
}
}
}

View file

@ -224,6 +224,12 @@ extern purple_conversation_new_wrapped_fnc purple_conversation_new_wrapped;
typedef PurpleConversationType (_cdecl * purple_conversation_get_type_wrapped_fnc)(const PurpleConversation *conv);
extern purple_conversation_get_type_wrapped_fnc purple_conversation_get_type_wrapped;
typedef void (_cdecl * purple_conversation_set_data_wrapped_func)(const PurpleConversation *conv, const char *key, gpointer data);
extern purple_conversation_set_data_wrapped_func purple_conversation_set_data_wrapped;
typedef void (_cdecl * purple_conversation_update_wrapped_func)(const PurpleConversation *conv, PurpleConversationUpdateType type);
extern purple_conversation_update_wrapped_func purple_conversation_update_wrapped;
typedef void (_cdecl * purple_conv_im_send_wrapped_fnc)(PurpleConvIm *im, const char *message);
extern purple_conv_im_send_wrapped_fnc purple_conv_im_send_wrapped;
@ -524,6 +530,8 @@ extern wpurple_g_io_channel_win32_new_socket_wrapped_fnc wpurple_g_io_channel_wi
#define purple_find_conversation_with_account_wrapped purple_find_conversation_with_account
#define purple_conversation_new_wrapped purple_conversation_new
#define purple_conversation_get_type_wrapped purple_conversation_get_type
#define purple_conversation_set_data_wrapped purple_conversation_set_data
#define purple_conversation_update_wrapped purple_conversation_update
#define purple_conv_im_send_wrapped purple_conv_im_send
#define purple_conv_chat_send_wrapped purple_conv_chat_send
#define purple_conversation_destroy_wrapped purple_conversation_destroy

View file

@ -1,5 +1,4 @@
#define NOMINMAX
#include <algorithm>
#include <memory.h>
#include "twitcurlurls.h"
#include "twitcurl.h"

View file

@ -1,4 +1,4 @@
FIND_PATH(EVENT_INCLUDE_DIRS event.h PATH_SUFFIXES libev)
FIND_PATH(EVENT_INCLUDE_DIRS event.h ev.h PATH_SUFFIXES libev)
SET(EVENT_NAMES ${EVENT_NAMES} ev libev)
FIND_LIBRARY(EVENT_LIBRARIES NAMES ${EVENT_NAMES} PATH)

View file

@ -319,7 +319,7 @@ class NetworkPlugin:
return
wrapper = protocol_pb2.WrapperMessage()
if (wrapper.ParseFromString(self.m_data[4:]) == False):
if (wrapper.ParseFromString(self.m_data[4:expected_size+4]) == False):
self.m_data = self.m_data[expected_size+4:]
return