From d2c788a0c787fae480170e9ea81b8aa733fc93dd Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 2 Oct 2017 12:23:41 +0200 Subject: [PATCH] Fixed crash due to bad weak_ptr in ChatRoom --- src/chat/chat-room.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/chat/chat-room.cpp b/src/chat/chat-room.cpp index e8fa7b045..f08d677bb 100644 --- a/src/chat/chat-room.cpp +++ b/src/chat/chat-room.cpp @@ -88,9 +88,12 @@ void ChatRoomPrivate::release () { isComposingHandler.stopTimers(); for (auto &message : weakMessages) { - shared_ptr msg(message); - msg->cancelFileTransfer(); - msg->getPrivate()->setChatRoom(nullptr); + try { + shared_ptr msg(message); + msg->cancelFileTransfer(); + msg->getPrivate()->setChatRoom(nullptr); + } catch(const std::bad_weak_ptr& e) {} + } for (auto &message : transientMessages) { message->cancelFileTransfer();