diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp index 4f14af1e6e..4c09f20daf 100644 --- a/src/servers/app/ServerWindow.cpp +++ b/src/servers/app/ServerWindow.cpp @@ -2329,21 +2329,24 @@ ServerWindow::_CopyBits(RootLayer* rootLayer, Layer* layer, }*/ -void +status_t ServerWindow::SendMessageToClient(const BMessage* msg, int32 target, bool usePreferred) const { ssize_t size = msg->FlattenedSize(); char* buffer = new char[size]; + status_t ret; - if (msg->Flatten(buffer, size) == B_OK) { - status_t ret = BMessage::Private::SendFlattenedMessage(buffer, size, - fClientLooperPort, target, usePreferred, 100000); + if ((ret = msg->Flatten(buffer, size)) == B_OK) { + ret = BMessage::Private::SendFlattenedMessage(buffer, size, + fClientLooperPort, target, usePreferred, 100000); if (ret < B_OK) fprintf(stderr, "ServerWindow::SendMessageToClient(): %s\n", strerror(ret)); } else printf("PANIC: ServerWindow %s: can't flatten message in 'SendMessageToClient()'\n", fTitle); delete[] buffer; + + return ret; } // MakeWinBorder diff --git a/src/servers/app/ServerWindow.h b/src/servers/app/ServerWindow.h index 73867eb50a..592a43dbcd 100644 --- a/src/servers/app/ServerWindow.h +++ b/src/servers/app/ServerWindow.h @@ -71,7 +71,7 @@ public: const color_space cspace); // util methods. - virtual void SendMessageToClient(const BMessage* msg, + status_t SendMessageToClient(const BMessage* msg, int32 target = B_NULL_TOKEN, bool usePreferred = false) const;