// static void LLFloaterPay::payViaObject(money_callback callback, const LLUUID& object_id) { LLViewerObject* object = gObjectList.findObject(object_id); if (!object) return; LLFloaterPay *floater = new LLFloaterPay("Give L$", callback, object_id, TRUE); if (!floater) return; LLSelectNode* node = floater->mObjectSelection->getFirstRootNode(); if (!node) { //FIXME: notify user object no longer exists floater->close(); return; } LLHost target_region = object->getRegion()->getHost(); LLMessageSystem* msg = gMessageSystem; msg->newMessageFast(_PREHASH_RequestPayPrice); msg->nextBlockFast(_PREHASH_ObjectData); msg->addUUIDFast(_PREHASH_ObjectID, object_id); msg->sendReliable(target_region); msg->setHandlerFuncFast(_PREHASH_PayPriceReply, processPayPriceReply,(void **)floater); LLUUID owner_id; BOOL is_group = FALSE; node->mPermissions->getOwnership(owner_id, is_group); floater->childSetText("object_name_text",node->mName); floater->finishPayUI(owner_id, is_group); }
// static void LLFloaterPay::onCancel(void* data) { LLFloaterPay* self = reinterpret_cast<LLFloaterPay*>(data); if(self) { self->close(); } }