From caf3e27a081048bf721a271db3ca63efd0e3ae4c Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 6 Jan 2015 17:07:52 +0100 Subject: [PATCH] BMessage: fix unflattening from a KMessage buffer The BDataIO version of MessagePrivate::Unflatten only handles the R5 and Dano formats, so we must call the buffer version for KMessages. --- src/kits/app/Message.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index 76b0b8b670..15751b13bf 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -1274,6 +1274,10 @@ BMessage::Unflatten(const char* flatBuffer) if (flatBuffer == NULL) return B_BAD_VALUE; + uint32 format = *(uint32*)flatBuffer; + if (format != MESSAGE_FORMAT_HAIKU) + return BPrivate::MessageAdapter::Unflatten(format, this, flatBuffer); + BMemoryIO io(flatBuffer, SIZE_MAX); return Unflatten(&io); }