From a58450492adaa707bade05fc3be3758ae3dd6895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Wed, 14 Jun 2006 12:40:27 +0000 Subject: [PATCH] now handles also the case when all specifiers are solved, and behaves as if we were asked the Messenger git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17837 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/app/Handler.cpp | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/src/kits/app/Handler.cpp b/src/kits/app/Handler.cpp index b9d502b39d..3f87f5f802 100644 --- a/src/kits/app/Handler.cpp +++ b/src/kits/app/Handler.cpp @@ -184,26 +184,24 @@ BHandler::MessageReceived(BMessage *message) const char *prop; status_t err = message->GetCurrentSpecifier(&cur, &specifier, &form, &prop); - if (err == B_OK) { - bool known = false; - if (strcmp(prop, "Suites") == 0) { - err = GetSupportedSuites(&reply); - known = true; - } else if (strcmp(prop, "Messenger") == 0) { - err = reply.AddMessenger("result", this); - known = true; - } else if (strcmp(prop, "InternalName") == 0) { - err = reply.AddString("result", Name()); - known = true; - } - - if (known) { - reply.AddInt32("error", B_OK); - message->SendReply(&reply); - return; - } - // let's try next handler + bool known = false; + if (index < 0 || (strcmp(prop, "Messenger") == 0)) { + err = reply.AddMessenger("result", this); + known = true; + } else if (strcmp(prop, "Suites") == 0) { + err = GetSupportedSuites(&reply); + known = true; + } else if (strcmp(prop, "InternalName") == 0) { + err = reply.AddString("result", Name()); + known = true; } + + if (known) { + reply.AddInt32("error", B_OK); + message->SendReply(&reply); + return; + } + // let's try next handler break; }