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) {