From ae3caf72f283af9a94ccb355ff43f939b4df0204 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 20 Apr 2018 11:52:59 +0200 Subject: [PATCH] Fix external body url handling. --- src/chat/chat-message/chat-message.cpp | 4 +++- src/chat/chat-room/chat-room.cpp | 2 +- src/content/file-transfer-content.cpp | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/chat/chat-message/chat-message.cpp b/src/chat/chat-message/chat-message.cpp index f2ec811fe..5b42d589c 100644 --- a/src/chat/chat-message/chat-message.cpp +++ b/src/chat/chat-message/chat-message.cpp @@ -608,7 +608,9 @@ LinphoneReason ChatMessagePrivate::receive () { if (errorCode <= 0) { bool foundSupportContentType = false; for (Content *c : contents) { - if (linphone_core_is_content_type_supported(core->getCCore(), c->getContentType().asString().c_str())) { + ContentType ct(c->getContentType()); + ct.cleanParameters(); + if (linphone_core_is_content_type_supported(core->getCCore(), ct.asString().c_str())) { foundSupportContentType = true; break; } else diff --git a/src/chat/chat-room/chat-room.cpp b/src/chat/chat-room/chat-room.cpp index b0b86553f..72705d157 100644 --- a/src/chat/chat-room/chat-room.cpp +++ b/src/chat/chat-room/chat-room.cpp @@ -194,7 +194,7 @@ LinphoneReason ChatRoomPrivate::onSipMessageReceived (SalOp *op, const SalMessag ); Content content; - if (message->url && (ContentType(message->content_type) == ContentType::ExternalBody)) { + if (message->url && (ContentType(message->content_type).weakEqual(ContentType::ExternalBody))) { lInfo() << "Received a message with an external body URL " << message->url; content.setContentType(ContentType::FileTransfer); content.setBody(msg->getPrivate()->createFakeFileTransferFromUrl(message->url)); diff --git a/src/content/file-transfer-content.cpp b/src/content/file-transfer-content.cpp index e2fe5ab4f..2b8e228bb 100644 --- a/src/content/file-transfer-content.cpp +++ b/src/content/file-transfer-content.cpp @@ -43,7 +43,9 @@ public: // ----------------------------------------------------------------------------- -FileTransferContent::FileTransferContent () : Content(*new FileTransferContentPrivate) {} +FileTransferContent::FileTransferContent () : Content(*new FileTransferContentPrivate) { + setContentType(ContentType::FileTransfer); +} FileTransferContent::FileTransferContent (const FileTransferContent &other) : Content(*new FileTransferContentPrivate) { L_D();