From 00c3e84a23974667cb48cf3e403e9aed61fde92f Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sat, 8 Nov 2008 22:59:22 +0000 Subject: [PATCH] When previously fixing shelf scripting for BSnow, I accidentally broke nested specifiers (i.e. Get ID of Replicant). This should fix ticket #3087. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28571 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Shelf.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/kits/interface/Shelf.cpp b/src/kits/interface/Shelf.cpp index 210bb961d3..7572867c69 100644 --- a/src/kits/interface/Shelf.cpp +++ b/src/kits/interface/Shelf.cpp @@ -575,17 +575,17 @@ BShelf::MessageReceived(BMessage *msg) if (err == B_OK ) repMessage = ReplicantAt(i, &replicant, &ID, &err); if (err == B_OK && replicant) { + msg->PopSpecifier(); BMessage archive; err = replicant->Archive(&archive); - if (err == B_OK) + if (err == B_OK && msg->GetCurrentSpecifier(&index, &specifier, &what, &prop) != B_OK) { err = replyMsg.AddMessage("result", &archive); - break; + break; + } // now handles the replicant suite err = B_BAD_SCRIPT_SYNTAX; if (msg->what != B_GET_PROPERTY) break; - if (msg->GetCurrentSpecifier(&index, &specifier, &what, &prop) != B_OK) - break; if (strcmp(prop, "ID") == 0) { err = replyMsg.AddInt32("result", ID); } else if (strcmp(prop, "Name") == 0) {