Got rid of the temporary BMessage in BMessage::_send_().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11450 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1893,11 +1893,9 @@ status_t BMessage::_send_(port_id port, int32 token, bool preferred,
|
|||||||
{
|
{
|
||||||
PRINT(("BMessage::_send_(port: %ld, token: %ld, preferred: %d): "
|
PRINT(("BMessage::_send_(port: %ld, token: %ld, preferred: %d): "
|
||||||
"what: %lx (%.4s)\n", port, token, preferred, what, (char*)&what));
|
"what: %lx (%.4s)\n", port, token, preferred, what, (char*)&what));
|
||||||
BMessage tmp_msg;
|
bool oldPreferred = fPreferred;
|
||||||
tmp_msg.fPreferred = fPreferred;
|
int32 oldTarget = fTarget;
|
||||||
tmp_msg.fTarget = fTarget;
|
reply_to_info oldReplyTo = fReplyTo;
|
||||||
tmp_msg.fReplyRequired = fReplyRequired;
|
|
||||||
tmp_msg.fReplyTo = fReplyTo;
|
|
||||||
|
|
||||||
if (!reply_to.IsValid()) {
|
if (!reply_to.IsValid()) {
|
||||||
BMessenger::Private(reply_to).SetTo(fReplyTo.team, fReplyTo.port, fReplyTo.target, fReplyTo.preferred);
|
BMessenger::Private(reply_to).SetTo(fReplyTo.team, fReplyTo.port, fReplyTo.target, fReplyTo.preferred);
|
||||||
@@ -1929,11 +1927,12 @@ PRINT(("BMessage::_send_(port: %ld, token: %ld, preferred: %d): "
|
|||||||
{
|
{
|
||||||
delete[] p;
|
delete[] p;
|
||||||
}
|
}
|
||||||
self->fPreferred = tmp_msg.fPreferred;
|
self->fPreferred = oldPreferred;
|
||||||
self->fTarget = tmp_msg.fTarget;
|
self->fTarget = oldTarget;
|
||||||
self->fReplyRequired = false; //tmp_msg.fReplyRequired;
|
self->fReplyRequired = false; // To this copy, no reply is required.
|
||||||
self->fReplyTo = tmp_msg.fReplyTo;
|
// Only relevant when forwarding anyway.
|
||||||
tmp_msg.init_data();
|
self->fReplyTo = oldReplyTo;
|
||||||
|
|
||||||
PRINT(("BMessage::_send_() done: %lx\n", err));
|
PRINT(("BMessage::_send_() done: %lx\n", err));
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user