From 9e430ea77ddfc2c2398256809cec7be457e43f3d 2012-03-23 13:07:58 From: HanzZ Date: 2012-03-23 13:07:58 Subject: [PATCH] Merge branch 'master' of github.com:hanzz/libtransport --- diff --git a/backends/skype/main.cpp b/backends/skype/main.cpp index 7a0811140357ed950287e32c2e5ad93d51a8c392..aa237178261657a5c1c42d07762d90ec8bec1ba9 100644 --- a/backends/skype/main.cpp +++ b/backends/skype/main.cpp @@ -616,8 +616,12 @@ void Skype::logout() { send_command("SET USERSTATUS OFFLINE"); sleep(2); g_object_unref(m_proxy); - LOG4CXX_INFO(logger, m_username << ": Killing Skype instance"); + LOG4CXX_INFO(logger, m_username << ": Terminating Skype instance (SIGTERM)"); kill((int) m_pid, SIGTERM); + // Give skype a chance + sleep(2); + LOG4CXX_INFO(logger, m_username << ": Killing Skype instance (SIGKILL)"); + kill((int) m_pid, SIGKILL); m_pid = 0; } } diff --git a/src/usermanager.cpp b/src/usermanager.cpp index 823711469593fe48fe00afd92b074f9369b2e4cc..b4bc0bd1f876c5e0ae9844854718c7cc063b9914 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -282,7 +282,12 @@ void UserManager::handleMessageReceived(Swift::Message::ref message) { } user->getConversationManager()->handleMessageReceived(message); - messageToBackendSent(); + + // Do not count chatstate notification... + boost::shared_ptr statePayload = msg->getPayload(); + if (!statePayload) { + messageToBackendSent(); + } } void UserManager::handleGeneralPresenceReceived(Swift::Presence::ref presence) {