From 641a8290a7db57cf2c61fe2e57eb742e9c1e7d88 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Sun, 12 Mar 2006 13:21:08 +0000 Subject: [PATCH] Fixed converting KMessages, their target and reply info weren't preserved. Fixes bug 295. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16734 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/app/MessagePrivate.h | 8 ++++++++ src/kits/app/Message.cpp | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/headers/private/app/MessagePrivate.h b/headers/private/app/MessagePrivate.h index b944be1097..f28c663dda 100644 --- a/headers/private/app/MessagePrivate.h +++ b/headers/private/app/MessagePrivate.h @@ -116,6 +116,14 @@ class BMessage::Private { fMessage->fHeader->reply_team = messengerPrivate.Team(); } + void + SetReply(team_id team, port_id port, int32 target) + { + fMessage->fHeader->reply_port = port; + fMessage->fHeader->reply_target = target; + fMessage->fHeader->reply_team = team; + } + int32 GetTarget() { diff --git a/src/kits/app/Message.cpp b/src/kits/app/Message.cpp index 3b243dfe05..ab3a072c21 100644 --- a/src/kits/app/Message.cpp +++ b/src/kits/app/Message.cpp @@ -2055,6 +2055,11 @@ convert_message(const KMessage *fromMessage, BMessage *toMessage) toMessage->MakeEmpty(); toMessage->what = fromMessage->What(); + BMessage::Private toPrivate(toMessage); + toPrivate.SetTarget(fromMessage->TargetToken()); + toPrivate.SetReply(B_SYSTEM_TEAM, fromMessage->ReplyPort(), + fromMessage->ReplyToken()); + // iterate through the fields and import them in the target message KMessageField field; while (fromMessage->GetNextField(&field) == B_OK) {