Pull and merge from ssh://hg@bitbucket.org/lindenlab/viewer-development.
commit
ed60f5b2d5
10
.hgtags
10
.hgtags
|
|
@ -259,4 +259,14 @@ c6175c955a19e9b9353d242889ec1779b5762522 3.2.5-release
|
|||
3d75c836d178c7c7e788f256afe195f6cab764a2 DRTVWR-111_3.2.7-beta1
|
||||
3d75c836d178c7c7e788f256afe195f6cab764a2 3.2.7-beta1
|
||||
89980333c99dbaf1787fe20784f1d8849e9b5d4f 3.2.8-start
|
||||
16f8e2915f3f2e4d732fb3125daf229cb0fd1875 DRTVWR-114_3.2.8-beta1
|
||||
16f8e2915f3f2e4d732fb3125daf229cb0fd1875 3.2.8-beta1
|
||||
987425b1acf4752379b2e1eb20944b4b35d67a85 DRTVWR-115_3.2.8-beta2
|
||||
987425b1acf4752379b2e1eb20944b4b35d67a85 3.2.8-beta2
|
||||
37dd400ad721e2a89ee820ffc1e7e433c68f3ca2 3.2.9-start
|
||||
e9c82fca5ae6fb8a8af29012d78fb194a29323f3 DRTVWR-117_3.2.9-beta1
|
||||
e9c82fca5ae6fb8a8af29012d78fb194a29323f3 3.2.9-beta1
|
||||
a01ef9bed28627f4ca543fbc1d70c79cc297a90f DRTVWR-118_3.2.9-beta2
|
||||
a01ef9bed28627f4ca543fbc1d70c79cc297a90f 3.2.9-beta2
|
||||
987425b1acf4752379b2e1eb20944b4b35d67a85 3.2.8-beta2
|
||||
d5f263687f43f278107363365938f0a214920a4b 3.3.0-start
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
const S32 LL_VERSION_MAJOR = 3;
|
||||
const S32 LL_VERSION_MINOR = 3;
|
||||
const S32 LL_VERSION_PATCH = 0;
|
||||
const S32 LL_VERSION_PATCH = 1;
|
||||
const S32 LL_VERSION_BUILD = 0;
|
||||
|
||||
const char * const LL_CHANNEL = "Second Life Developer";
|
||||
|
|
|
|||
|
|
@ -1488,6 +1488,9 @@ void LLAppViewer::flushVFSIO()
|
|||
|
||||
bool LLAppViewer::cleanup()
|
||||
{
|
||||
//ditch LLVOAvatarSelf instance
|
||||
gAgentAvatarp = NULL;
|
||||
|
||||
// workaround for DEV-35406 crash on shutdown
|
||||
LLEventPumps::instance().reset();
|
||||
|
||||
|
|
|
|||
|
|
@ -133,6 +133,7 @@ public:
|
|||
PASS_ALPHA,
|
||||
PASS_ALPHA_MASK,
|
||||
PASS_FULLBRIGHT_ALPHA_MASK,
|
||||
PASS_ALPHA_INVISIBLE,
|
||||
NUM_RENDER_TYPES,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -337,6 +337,7 @@ void LLDrawPoolAlpha::render(S32 pass)
|
|||
|
||||
pushBatches(LLRenderPass::PASS_ALPHA_MASK, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE);
|
||||
pushBatches(LLRenderPass::PASS_FULLBRIGHT_ALPHA_MASK, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE);
|
||||
pushBatches(LLRenderPass::PASS_ALPHA_INVISIBLE, LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0, FALSE);
|
||||
|
||||
if(shaders)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ void LLDriverParamInfo::toStream(std::ostream &out)
|
|||
}
|
||||
else
|
||||
{
|
||||
llwarns << "could not get parameter " << driven.mDrivenID << " from avatar " << gAgentAvatarp << " for driver parameter " << getID() << llendl;
|
||||
llwarns << "could not get parameter " << driven.mDrivenID << " from avatar " << gAgentAvatarp.get() << " for driver parameter " << getID() << llendl;
|
||||
}
|
||||
out << std::endl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
#include "llwearablelist.h"
|
||||
|
||||
// Marketplace outbox current disabled
|
||||
#define ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU 0
|
||||
#define ENABLE_MERCHANT_OUTBOX_CONTEXT_MENU 1
|
||||
#define ENABLE_MERCHANT_SEND_TO_MARKETPLACE_CONTEXT_MENU 0
|
||||
#define BLOCK_WORN_ITEMS_IN_OUTBOX 1
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include "llagent.h"
|
||||
#include "llhttpclient.h"
|
||||
#include "lltimer.h"
|
||||
#include "lltrans.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "llviewermedia.h"
|
||||
|
|
@ -115,6 +116,9 @@ namespace LLMarketplaceImport
|
|||
static U32 sImportResultStatus = 0;
|
||||
static LLSD sImportResults = LLSD::emptyMap();
|
||||
|
||||
static LLTimer slmGetTimer;
|
||||
static LLTimer slmPostTimer;
|
||||
|
||||
// Responders
|
||||
|
||||
class LLImportPostResponder : public LLHTTPClient::Responder
|
||||
|
|
@ -124,11 +128,15 @@ namespace LLMarketplaceImport
|
|||
|
||||
void completed(U32 status, const std::string& reason, const LLSD& content)
|
||||
{
|
||||
slmPostTimer.stop();
|
||||
|
||||
if (gSavedSettings.getBOOL("InventoryOutboxLogging"))
|
||||
{
|
||||
llinfos << " SLM POST status: " << status << llendl;
|
||||
llinfos << " SLM POST reason: " << reason << llendl;
|
||||
llinfos << " SLM POST content: " << content.asString() << llendl;
|
||||
|
||||
llinfos << " SLM POST timer: " << slmPostTimer.getElapsedTimeF32() << llendl;
|
||||
}
|
||||
|
||||
if ((status == MarketplaceErrorCodes::IMPORT_REDIRECT) ||
|
||||
|
|
@ -167,11 +175,15 @@ namespace LLMarketplaceImport
|
|||
|
||||
void completed(U32 status, const std::string& reason, const LLSD& content)
|
||||
{
|
||||
slmGetTimer.stop();
|
||||
|
||||
if (gSavedSettings.getBOOL("InventoryOutboxLogging"))
|
||||
{
|
||||
llinfos << " SLM GET status: " << status << llendl;
|
||||
llinfos << " SLM GET reason: " << reason << llendl;
|
||||
llinfos << " SLM GET content: " << content.asString() << llendl;
|
||||
|
||||
llinfos << " SLM GET timer: " << slmGetTimer.getElapsedTimeF32() << llendl;
|
||||
}
|
||||
|
||||
if ((status == MarketplaceErrorCodes::IMPORT_AUTHENTICATION_ERROR) ||
|
||||
|
|
@ -247,6 +259,7 @@ namespace LLMarketplaceImport
|
|||
llinfos << " SLM GET: " << url << llendl;
|
||||
}
|
||||
|
||||
slmGetTimer.start();
|
||||
LLHTTPClient::get(url, new LLImportGetResponder(), LLViewerMedia::getHeaders());
|
||||
|
||||
return true;
|
||||
|
|
@ -277,6 +290,7 @@ namespace LLMarketplaceImport
|
|||
llinfos << " SLM GET: " << url << llendl;
|
||||
}
|
||||
|
||||
slmGetTimer.start();
|
||||
LLHTTPClient::get(url, new LLImportGetResponder(), headers);
|
||||
|
||||
return true;
|
||||
|
|
@ -310,6 +324,7 @@ namespace LLMarketplaceImport
|
|||
llinfos << " SLM POST: " << url << llendl;
|
||||
}
|
||||
|
||||
slmPostTimer.start();
|
||||
LLHTTPClient::post(url, LLSD(), new LLImportPostResponder(), headers);
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -2037,6 +2037,12 @@ void LLViewerWindow::shutdownGL()
|
|||
gSky.cleanup();
|
||||
stop_glerror();
|
||||
|
||||
llinfos << "Cleaning up pipeline" << llendl;
|
||||
gPipeline.cleanup();
|
||||
stop_glerror();
|
||||
|
||||
//MUST clean up pipeline before cleaning up wearables
|
||||
llinfos << "Cleaning up wearables" << llendl;
|
||||
LLWearableList::instance().cleanup() ;
|
||||
|
||||
gTextureList.shutdown();
|
||||
|
|
@ -2047,10 +2053,6 @@ void LLViewerWindow::shutdownGL()
|
|||
|
||||
LLWorldMapView::cleanupTextures();
|
||||
|
||||
llinfos << "Cleaning up pipeline" << llendl;
|
||||
gPipeline.cleanup();
|
||||
stop_glerror();
|
||||
|
||||
LLViewerTextureManager::cleanup() ;
|
||||
LLImageGL::cleanupClass() ;
|
||||
|
||||
|
|
|
|||
|
|
@ -66,10 +66,11 @@
|
|||
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
LLVOAvatarSelf *gAgentAvatarp = NULL;
|
||||
LLPointer<LLVOAvatarSelf> gAgentAvatarp = NULL;
|
||||
|
||||
BOOL isAgentAvatarValid()
|
||||
{
|
||||
return (gAgentAvatarp &&
|
||||
return (gAgentAvatarp.notNull() &&
|
||||
(gAgentAvatarp->getRegion() != NULL) &&
|
||||
(!gAgentAvatarp->isDead()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -383,7 +383,7 @@ private:
|
|||
|
||||
};
|
||||
|
||||
extern LLVOAvatarSelf *gAgentAvatarp;
|
||||
extern LLPointer<LLVOAvatarSelf> gAgentAvatarp;
|
||||
|
||||
BOOL isAgentAvatarValid();
|
||||
|
||||
|
|
|
|||
|
|
@ -4433,10 +4433,10 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
|
|||
else
|
||||
{
|
||||
if (te->getColor().mV[3] > 0.f)
|
||||
{
|
||||
{ //only treat as alpha in the pipeline if < 100% transparent
|
||||
drawablep->setState(LLDrawable::HAS_ALPHA);
|
||||
alpha_faces.push_back(facep);
|
||||
}
|
||||
alpha_faces.push_back(facep);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -4947,7 +4947,11 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
|
|||
if (is_alpha)
|
||||
{
|
||||
// can we safely treat this as an alpha mask?
|
||||
if (facep->canRenderAsMask())
|
||||
if (facep->getFaceColor().mV[3] <= 0.f)
|
||||
{ //100% transparent, don't render unless we're highlighting transparent
|
||||
registerFace(group, facep, LLRenderPass::PASS_ALPHA_INVISIBLE);
|
||||
}
|
||||
else if (facep->canRenderAsMask())
|
||||
{
|
||||
if (te->getFullbright() || LLPipeline::sNoAlpha)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -221,7 +221,7 @@ void LLWearable::createVisualParams()
|
|||
param->resetDrivenParams();
|
||||
if(!param->linkDrivenParams(boost::bind(wearable_function,(LLWearable*)this, _1), false))
|
||||
{
|
||||
if( !param->linkDrivenParams(boost::bind(avatar_function,gAgentAvatarp,_1 ), true))
|
||||
if( !param->linkDrivenParams(boost::bind(avatar_function,gAgentAvatarp.get(),_1 ), true))
|
||||
{
|
||||
llwarns << "could not link driven params for wearable " << getName() << " id: " << param->getID() << llendl;
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -132,16 +132,16 @@
|
|||
</panel>
|
||||
<layout_stack name="import_progress_indicator" orientation="vertical" left="0" height="440" top="0" width="333" follows="all" visible="false">
|
||||
<layout_panel />
|
||||
<layout_panel height="45" auto_resize="false">
|
||||
<layout_stack orientation="horizontal" left="0" height="45" top="0" width="333" follows="all">
|
||||
<layout_panel height="24" auto_resize="false">
|
||||
<layout_stack orientation="horizontal" left="0" height="24" top="0" width="333" follows="all">
|
||||
<layout_panel width="0" />
|
||||
<layout_panel width="45" auto_resize="false">
|
||||
<layout_panel width="24" auto_resize="false">
|
||||
<loading_indicator
|
||||
height="45"
|
||||
height="24"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
top="0"
|
||||
width="45" />
|
||||
width="24" />
|
||||
</layout_panel>
|
||||
<layout_panel width="0" />
|
||||
</layout_stack>
|
||||
|
|
|
|||
|
|
@ -152,6 +152,13 @@
|
|||
<menu_item_call.on_click
|
||||
function="BuyCurrency" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Merchant Outbox..."
|
||||
name="MerchantOutbox">
|
||||
<menu_item_call.on_click
|
||||
function="Floater.ToggleOrBringToFront"
|
||||
parameter="outbox" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Account dashboard..."
|
||||
name="Manage My Account">
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@
|
|||
bg_opaque_color="InventoryBackgroundColor"
|
||||
background_visible="true"
|
||||
background_opaque="true"
|
||||
tool_tip="Drag and drop items to your inventory to manage and use them"
|
||||
tool_tip="Drag and drop items to your inventory to use them"
|
||||
>
|
||||
<text
|
||||
name="inbox_inventory_placeholder"
|
||||
|
|
|
|||
|
|
@ -2037,7 +2037,7 @@ Returns a string with the requested data about the region
|
|||
<string name="PlacesNoMatchingItems">Didn't find what you're looking for? Try [secondlife:///app/search/places/[SEARCH_TERM] Search].</string>
|
||||
<string name="FavoritesNoMatchingItems">Drag a landmark here to add it to your favorites.</string>
|
||||
<string name="InventoryNoTexture">You do not have a copy of this texture in your inventory</string>
|
||||
<string name="InventoryInboxNoItems">Certain items you receive, such as premium gifts, will appear here. You may then drag them into your inventory.</string>
|
||||
<string name="InventoryInboxNoItems">Your Marketplace purchases will appear here. You may then drag them into your inventory to use them.</string>
|
||||
<string name="MarketplaceURL">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/</string>
|
||||
<string name="MarketplaceURL_CreateStore">http://community.secondlife.com/t5/English-Knowledge-Base/Selling-in-the-Marketplace/ta-p/700193#Section_.4</string>
|
||||
<string name="MarketplaceURL_Dashboard">https://marketplace.[MARKETPLACE_DOMAIN_NAME]/merchants/store/dashboard</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue