From 9326cb6d822732e0b3c403cdacb90455cf6ee1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 31 Oct 2003 19:53:37 +0000 Subject: [PATCH] better error report from BDeskbar::RemoveItem(), though OpenDeskbar should be fixed too git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5219 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Deskbar.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/kits/interface/Deskbar.cpp b/src/kits/interface/Deskbar.cpp index f838616301..d575d47f6c 100644 --- a/src/kits/interface/Deskbar.cpp +++ b/src/kits/interface/Deskbar.cpp @@ -337,6 +337,16 @@ status_t BDeskbar::RemoveItem(int32 id) if (result == B_OK) { result = fMessenger->SendMessage(&requestMessage, &replyMessage); } + /* here R5 returns B_OK always (probably the result of SendMessage()) + * Deskbar itself also always return B_NO_REPLY, so ... + * here add some more checks for the future. + */ + if (result != B_OK) + return(result); + if (replyMessage.what == B_NO_REPLY) + return(B_OK); /* we can only speculate */ + result = B_ERROR; + replyMessage.FindInt32("error", &result); return(result); } //------------------------------------------------------------------------------ @@ -350,7 +360,15 @@ status_t BDeskbar::RemoveItem(const char *name) if (result == B_OK) { result = fMessenger->SendMessage(&requestMessage, &replyMessage); } + /* same as above */ + if (result != B_OK) + return(result); + if (replyMessage.what == B_NO_REPLY) + return(B_OK); + result = B_ERROR; + replyMessage.FindInt32("error", &result); return(result); + } //------------------------------------------------------------------------------