Merged in lindenlab/viewer-bear

meow-7.2.2
AndreyL ProductEngine 2016-04-06 01:37:09 +03:00
commit 2907cfa6f1
2 changed files with 30 additions and 23 deletions

View File

@ -795,6 +795,15 @@ void LLMarketplaceData::getMerchantStatusCoro()
log_SLM_infos("Get /merchant", httpCode, std::string("Merchant is not migrated"));
setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_NOT_MIGRATED_MERCHANT);
}
else if (httpCode == HTTP_INTERNAL_ERROR)
{
// 499 includes timeout and ssl error - marketplace is down or having issues, we do not show it in this request according to MAINT-5938
LL_WARNS("SLM") << "SLM Merchant Request failed with status: " << httpCode
<< ", reason : " << status.toString()
<< ", code : " << result["error_code"].asString()
<< ", description : " << result["error_description"].asString() << LL_ENDL;
LLMarketplaceData::instance().setSLMStatus(MarketplaceStatusCodes::MARKET_PLACE_CONNECTION_FAILURE);
}
else
{
std::string err_code = result["error_code"].asString();

View File

@ -1080,30 +1080,28 @@ void LLPanelPermissions::setAllSaleInfo()
LLSaleInfo new_sale_info(sale_type, price);
LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(new_sale_info);
U8 old_click_action = 0;
LLSelectMgr::getInstance()->selectionGetClickAction(&old_click_action);
bool selection_set_for_sale = new_sale_info.isForSale();
bool selection_was_for_sale = old_sale_info.isForSale();
if (selection_was_for_sale != selection_set_for_sale)
{
// sale state changed, switch click-actions
// but don't touch user changed actions
U8 old_action = selection_set_for_sale ? CLICK_ACTION_TOUCH : CLICK_ACTION_BUY;
U8 new_action = selection_set_for_sale ? CLICK_ACTION_BUY : CLICK_ACTION_TOUCH;
struct f : public LLSelectedObjectFunctor
{
U8 mActionOld, mActionNew;
f(const U8& t_old, const U8& t_new) : mActionOld(t_old), mActionNew(t_new) {}
virtual bool apply(LLViewerObject* object)
{
if (object->getClickAction() == mActionOld)
{
object->setClickAction(mActionNew);
}
return true;
}
} func(old_action, new_action);
LLSelectMgr::getInstance()->getSelection()->applyToObjects(&func);
}
if (old_sale_info.isForSale()
&& !new_sale_info.isForSale()
&& old_click_action == CLICK_ACTION_BUY)
{
// If turned off for-sale, make sure click-action buy is turned
// off as well
LLSelectMgr::getInstance()->
selectionSetClickAction(CLICK_ACTION_TOUCH);
}
else if (new_sale_info.isForSale()
&& !old_sale_info.isForSale()
&& old_click_action == CLICK_ACTION_TOUCH)
{
// If just turning on for-sale, preemptively turn on one-click buy
// unless user have a different click action set
LLSelectMgr::getInstance()->
selectionSetClickAction(CLICK_ACTION_BUY);
}
}
struct LLSelectionPayable : public LLSelectedObjectFunctor