From 577fe1f9a1e362193170bcc26f819a7fc429552c Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Mon, 10 Nov 2008 05:52:43 +0000 Subject: [PATCH] Implement missing B_CREATE_PROPERTY. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28589 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/interface/Shelf.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/kits/interface/Shelf.cpp b/src/kits/interface/Shelf.cpp index 8baa144b61..236e90642a 100644 --- a/src/kits/interface/Shelf.cpp +++ b/src/kits/interface/Shelf.cpp @@ -613,6 +613,17 @@ BShelf::MessageReceived(BMessage *msg) break; } return BHandler::MessageReceived(msg); + + case B_CREATE_PROPERTY: + { + BMessage replicantMsg; + BPoint pos; + if (msg->FindMessage("data", &replicantMsg) == B_OK + && msg->FindPoint("location", &pos) == B_OK) { + err = AddReplicant(&replicantMsg, pos); + } + } + break; } if (err < B_OK) { @@ -678,10 +689,8 @@ BShelf::ResolveSpecifier(BMessage *msg, int32 index, BMessage *specifier, switch (shelfPropInfo.FindMatch(msg, 0, specifier, form, property)) { case 0: - if (msg->what == B_COUNT_PROPERTIES) { - target = this; - break; - } + target = this; + break; case 1: if (msg->PopSpecifier() != B_OK) { target = this;