Forwarding did not work anymore for direct targets, since the header::flags
field was not initialized properly, and the reply target was taken from the wrong header in this case. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22925 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1856,6 +1856,7 @@ BMessage::_SendMessage(port_id port, team_id portOwner, int32 token,
|
|||||||
copy = new BMessage(*this);
|
copy = new BMessage(*this);
|
||||||
if (copy != NULL) {
|
if (copy != NULL) {
|
||||||
header = copy->fHeader;
|
header = copy->fHeader;
|
||||||
|
header->flags = fHeader->flags;
|
||||||
result = B_OK;
|
result = B_OK;
|
||||||
} else {
|
} else {
|
||||||
direct->Release();
|
direct->Release();
|
||||||
@@ -1889,8 +1890,8 @@ BMessage::_SendMessage(port_id port, team_id portOwner, int32 token,
|
|||||||
return result;
|
return result;
|
||||||
|
|
||||||
if (!replyTo.IsValid()) {
|
if (!replyTo.IsValid()) {
|
||||||
BMessenger::Private(replyTo).SetTo(header->reply_team,
|
BMessenger::Private(replyTo).SetTo(fHeader->reply_team,
|
||||||
header->reply_port, header->reply_target);
|
fHeader->reply_port, fHeader->reply_target);
|
||||||
|
|
||||||
if (!replyTo.IsValid())
|
if (!replyTo.IsValid())
|
||||||
replyTo = be_app_messenger;
|
replyTo = be_app_messenger;
|
||||||
|
|||||||
Reference in New Issue
Block a user