diff --git a/src/usermanager.cpp b/src/usermanager.cpp index ebbfb2d1fdbe30382e9361c79cff0cf91b6cd73f..98c75dcf07865128589287264f6d5c055d2cbf40 100644 --- a/src/usermanager.cpp +++ b/src/usermanager.cpp @@ -31,7 +31,9 @@ #include "Swiften/Swiften.h" #include "Swiften/Server/ServerStanzaChannel.h" #include "Swiften/Elements/StreamError.h" +#ifndef __FreeBSD__ #include "malloc.h" +#endif // #include "valgrind/memcheck.h" namespace Transport { @@ -124,8 +126,10 @@ void UserManager::removeUser(User *user, bool onUserBehalf) { onUserDestroyed(user); delete user; #ifndef WIN32 +#ifndef __FreeBSD__ malloc_trim(0); #endif +#endif // VALGRIND_DO_LEAK_CHECK; } @@ -340,7 +344,7 @@ void UserManager::handleMessageReceived(Swift::Message::ref message) { messageToBackendSent(); } - if (message->getBody().empty() && !statePayload) { + if (message->getBody().empty() && !statePayload && message->getSubject().empty()) { return; }