From 66156adf92f73c77f919f2cfb9f7cf72d38b858d Mon Sep 17 00:00:00 2001 From: Adi Oanca Date: Mon, 24 Oct 2005 16:21:49 +0000 Subject: [PATCH] In case SendMessageToClient() fails, it's good to know why git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14492 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/app/ServerWindow.cpp | 11 +++++++---- src/servers/app/ServerWindow.h | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) 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;