Merge branch 'master' of github-hazim:HazimGazov/Inertia
This commit is contained in:
@@ -478,7 +478,7 @@ BOOL LLImageJ2C::validate(U8 *data, U32 file_size)
|
|||||||
if ( res )
|
if ( res )
|
||||||
{
|
{
|
||||||
// Check to make sure that this instance has been initialized with data
|
// Check to make sure that this instance has been initialized with data
|
||||||
if (!getData() || (0 == getDataSize()))
|
if (!getData() || (getDataSize() < 16))
|
||||||
{
|
{
|
||||||
setLastError("LLImageJ2C uninitialized");
|
setLastError("LLImageJ2C uninitialized");
|
||||||
res = FALSE;
|
res = FALSE;
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ LLJ2cParser::LLJ2cParser(U8* data,int data_size)
|
|||||||
if(data && data_size)
|
if(data && data_size)
|
||||||
{
|
{
|
||||||
mData.resize(data_size);
|
mData.resize(data_size);
|
||||||
memcpy(&(mData[0]), data, data_size);
|
//memcpy(&(mData[0]), data, data_size);
|
||||||
//std::copy(data,data+data_size,mData.begin());
|
std::copy(data,data+data_size,mData.begin());
|
||||||
}
|
}
|
||||||
mIter = mData.begin();
|
mIter = mData.begin();
|
||||||
}
|
}
|
||||||
@@ -83,7 +83,8 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size)
|
|||||||
//llinfos << "FOUND PAYLOAD" << llendl;
|
//llinfos << "FOUND PAYLOAD" << llendl;
|
||||||
std::vector<U8> payload(128);
|
std::vector<U8> payload(128);
|
||||||
S32 i;
|
S32 i;
|
||||||
memcpy(&(payload[0]), &(comment[2]), 128);
|
//memcpy(&(payload[0]), &(comment[2]), 128);
|
||||||
|
std::copy(comment.begin()+2,comment.end(),payload.begin());
|
||||||
if (payload[2] == payload[127])
|
if (payload[2] == payload[127])
|
||||||
{
|
{
|
||||||
// emkdu.dll
|
// emkdu.dll
|
||||||
@@ -114,6 +115,7 @@ std::string LLImageMetaDataReader::ExtractEncodedComment(U8* data,int data_size)
|
|||||||
{
|
{
|
||||||
if (payload[i] == 0) break;
|
if (payload[i] == 0) break;
|
||||||
}
|
}
|
||||||
|
if(i < 4) break;
|
||||||
std::string result(payload.begin()+4,payload.begin()+i);
|
std::string result(payload.begin()+4,payload.begin()+i);
|
||||||
//llinfos << "FOUND COMMENT: " << result << llendl;
|
//llinfos << "FOUND COMMENT: " << result << llendl;
|
||||||
delete parser;
|
delete parser;
|
||||||
|
|||||||
@@ -10331,6 +10331,17 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>TemporaryUpload</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Whether or not a upload is temporary</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
<key>TerrainColorHeightRange</key>
|
<key>TerrainColorHeightRange</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -505,8 +505,12 @@ void LLPanelActiveSpeakers::refreshSpeakers()
|
|||||||
// draw inactive speakers in gray
|
// draw inactive speakers in gray
|
||||||
name_cell->setColor(LLColor4::grey4);
|
name_cell->setColor(LLColor4::grey4);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
name_cell->setColor(LLColor4::black);
|
||||||
|
}
|
||||||
// <edit>
|
// <edit>
|
||||||
else if(speakerp->mType == LLSpeaker::SPEAKER_AGENT && speakerp->mID != gAgent.getID())
|
if(!mShowTextChatters && !(speakerp->mStatus == LLSpeaker::STATUS_NOT_IN_CHANNEL) && speakerp->mID != gAgent.getID())
|
||||||
{
|
{
|
||||||
// let us check to see if they are actually in the sim
|
// let us check to see if they are actually in the sim
|
||||||
LLViewerRegion* regionp = gAgent.getRegion();
|
LLViewerRegion* regionp = gAgent.getRegion();
|
||||||
@@ -519,10 +523,6 @@ void LLPanelActiveSpeakers::refreshSpeakers()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// </edit>
|
// </edit>
|
||||||
else
|
|
||||||
{
|
|
||||||
name_cell->setColor(LLColor4::black);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string speaker_name;
|
std::string speaker_name;
|
||||||
if (speakerp->mDisplayName.empty())
|
if (speakerp->mDisplayName.empty())
|
||||||
|
|||||||
@@ -1203,13 +1203,15 @@ void LLFloaterAvatarList::sound_trigger_hook(LLMessageSystem* msg,void **)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// static
|
// static
|
||||||
void LLFloaterAvatarList::onConfirmRadarChatKeys(S32 option, LLSD payload)
|
bool LLFloaterAvatarList::onConfirmRadarChatKeys(const LLSD& notification, const LLSD& response )
|
||||||
{
|
{
|
||||||
|
S32 option = LLNotification::getSelectedOption(notification, response);
|
||||||
if(option == 0) // yes
|
if(option == 0) // yes
|
||||||
{
|
{
|
||||||
gSavedSettings.setBOOL("RadarChatKeys",TRUE);
|
gSavedSettings.setBOOL("RadarChatKeys",TRUE);
|
||||||
LLFloaterAvatarList::getInstance()->sendKeys();
|
LLFloaterAvatarList::getInstance()->sendKeys();
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
//static
|
//static
|
||||||
void LLFloaterAvatarList::onClickSendKeys(void *userdata)
|
void LLFloaterAvatarList::onClickSendKeys(void *userdata)
|
||||||
|
|||||||
@@ -265,7 +265,7 @@ private:
|
|||||||
|
|
||||||
static void onCommitUpdateRate(LLUICtrl*, void *userdata);
|
static void onCommitUpdateRate(LLUICtrl*, void *userdata);
|
||||||
static void onClickSendKeys(void *userdata);
|
static void onClickSendKeys(void *userdata);
|
||||||
static void onConfirmRadarChatKeys(S32 option, LLSD payload);
|
static bool onConfirmRadarChatKeys(const LLSD& notification, const LLSD& response );
|
||||||
|
|
||||||
static void callbackIdle(void *userdata);
|
static void callbackIdle(void *userdata);
|
||||||
|
|
||||||
|
|||||||
@@ -58,6 +58,9 @@
|
|||||||
#include "lluictrlfactory.h"
|
#include "lluictrlfactory.h"
|
||||||
#include "llviewerimagelist.h"
|
#include "llviewerimagelist.h"
|
||||||
#include "llstring.h"
|
#include "llstring.h"
|
||||||
|
// <edit>
|
||||||
|
#include "llviewercontrol.h"
|
||||||
|
// </edit>
|
||||||
|
|
||||||
//static
|
//static
|
||||||
S32 LLFloaterImagePreview::sUploadAmount = 10;
|
S32 LLFloaterImagePreview::sUploadAmount = 10;
|
||||||
@@ -131,6 +134,11 @@ BOOL LLFloaterImagePreview::postBuild()
|
|||||||
|
|
||||||
if (mRawImagep->getWidth() * mRawImagep->getHeight () <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF)
|
if (mRawImagep->getWidth() * mRawImagep->getHeight () <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF)
|
||||||
childEnable("lossless_check");
|
childEnable("lossless_check");
|
||||||
|
|
||||||
|
// <edit>
|
||||||
|
gSavedSettings.setBOOL("TemporaryUpload",FALSE);
|
||||||
|
childSetValue("temp_check",FALSE);
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -810,10 +810,11 @@ BOOL LLFloaterMessageLog::onClickCloseCircuit(void* user_data)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
// static
|
// static
|
||||||
void LLFloaterMessageLog::onConfirmCloseCircuit(S32 option, LLSD payload)
|
bool LLFloaterMessageLog::onConfirmCloseCircuit(const LLSD& notification, const LLSD& response )
|
||||||
{
|
{
|
||||||
LLCircuitData* cdp = gMessageSystem->mCircuitInfo.findCircuit(LLHost(payload["circuittoclose"].asString()));
|
S32 option = LLNotification::getSelectedOption(notification, response);
|
||||||
if(!cdp) return;
|
LLCircuitData* cdp = gMessageSystem->mCircuitInfo.findCircuit(LLHost(notification["payload"]["circuittoclose"].asString()));
|
||||||
|
if(!cdp) return false;
|
||||||
LLViewerRegion* regionp = LLWorld::getInstance()->getRegion(cdp->getHost());
|
LLViewerRegion* regionp = LLWorld::getInstance()->getRegion(cdp->getHost());
|
||||||
switch(option)
|
switch(option)
|
||||||
{
|
{
|
||||||
@@ -822,7 +823,7 @@ void LLFloaterMessageLog::onConfirmCloseCircuit(S32 option, LLSD payload)
|
|||||||
gMessageSystem->sendReliable(cdp->getHost());
|
gMessageSystem->sendReliable(cdp->getHost());
|
||||||
break;
|
break;
|
||||||
case 2: // cancel
|
case 2: // cancel
|
||||||
return;
|
return false;
|
||||||
break;
|
break;
|
||||||
case 1: // no
|
case 1: // no
|
||||||
default:
|
default:
|
||||||
@@ -841,12 +842,15 @@ void LLFloaterMessageLog::onConfirmCloseCircuit(S32 option, LLSD payload)
|
|||||||
payload["regionhost"] = myhost.getString();
|
payload["regionhost"] = myhost.getString();
|
||||||
LLNotifications::instance().add("GenericAlertYesCancel", args, payload, onConfirmRemoveRegion);
|
LLNotifications::instance().add("GenericAlertYesCancel", args, payload, onConfirmRemoveRegion);
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
// static
|
// static
|
||||||
void LLFloaterMessageLog::onConfirmRemoveRegion(S32 option, LLSD payload)
|
bool LLFloaterMessageLog::onConfirmRemoveRegion(const LLSD& notification, const LLSD& response )
|
||||||
{
|
{
|
||||||
|
S32 option = LLNotification::getSelectedOption(notification, response);
|
||||||
if(option == 0) // yes
|
if(option == 0) // yes
|
||||||
LLWorld::getInstance()->removeRegion(LLHost(payload["regionhost"].asString()));
|
LLWorld::getInstance()->removeRegion(LLHost(notification["payload"]["regionhost"].asString()));
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
// static
|
// static
|
||||||
void LLFloaterMessageLog::onClickFilterApply(void* user_data)
|
void LLFloaterMessageLog::onClickFilterApply(void* user_data)
|
||||||
|
|||||||
@@ -61,8 +61,8 @@ public:
|
|||||||
static void onCommitMessageLog(LLUICtrl* ctrl, void* user_data);
|
static void onCommitMessageLog(LLUICtrl* ctrl, void* user_data);
|
||||||
static void onCommitFilter(LLUICtrl* ctrl, void* user_data);
|
static void onCommitFilter(LLUICtrl* ctrl, void* user_data);
|
||||||
static BOOL onClickCloseCircuit(void* user_data);
|
static BOOL onClickCloseCircuit(void* user_data);
|
||||||
static void onConfirmCloseCircuit(S32 option, LLSD payload);
|
static bool onConfirmCloseCircuit(const LLSD& notification, const LLSD& response );
|
||||||
static void onConfirmRemoveRegion(S32 option, LLSD payload);
|
static bool onConfirmRemoveRegion(const LLSD& notification, const LLSD& response );
|
||||||
static void onClickFilterApply(void* user_data);
|
static void onClickFilterApply(void* user_data);
|
||||||
void startApplyingFilter(std::string filter, BOOL force);
|
void startApplyingFilter(std::string filter, BOOL force);
|
||||||
void stopApplyingFilter();
|
void stopApplyingFilter();
|
||||||
|
|||||||
@@ -2039,6 +2039,11 @@ BOOL LLFloaterSnapshot::postBuild()
|
|||||||
sInstance->getRootView()->addChild(previewp);
|
sInstance->getRootView()->addChild(previewp);
|
||||||
sInstance->getRootView()->addChild(gSnapshotFloaterView);
|
sInstance->getRootView()->addChild(gSnapshotFloaterView);
|
||||||
|
|
||||||
|
// <edit>
|
||||||
|
gSavedSettings.setBOOL("TemporaryUpload",FALSE);
|
||||||
|
childSetValue("temp_check",FALSE);
|
||||||
|
// </edit>
|
||||||
|
|
||||||
Impl::sPreviewHandle = previewp->getHandle();
|
Impl::sPreviewHandle = previewp->getHandle();
|
||||||
|
|
||||||
impl.updateControls(this);
|
impl.updateControls(this);
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
#include "llassettype.h"
|
#include "llassettype.h"
|
||||||
#include "llinventorytype.h"
|
#include "llinventorytype.h"
|
||||||
#include "llbvhloader.h"
|
#include "llbvhloader.h"
|
||||||
|
#include "lllocalinventory.h"
|
||||||
// </edit>
|
// </edit>
|
||||||
|
|
||||||
|
|
||||||
@@ -310,6 +311,51 @@ class LLFileUploadAnim : public view_listener_t
|
|||||||
|
|
||||||
class LLFileUploadBulk : public view_listener_t
|
class LLFileUploadBulk : public view_listener_t
|
||||||
{
|
{
|
||||||
|
static bool onConfirmBulkUploadTemp(const LLSD& notification, const LLSD& response )
|
||||||
|
{
|
||||||
|
S32 option = LLNotification::getSelectedOption(notification, response);
|
||||||
|
BOOL enabled;
|
||||||
|
if(option == 0) // yes
|
||||||
|
enabled = TRUE;
|
||||||
|
else if(option == 1) //no
|
||||||
|
enabled = FALSE;
|
||||||
|
else //cancel
|
||||||
|
return false;
|
||||||
|
|
||||||
|
LLFilePicker& picker = LLFilePicker::instance();
|
||||||
|
if (picker.getMultipleOpenFiles())
|
||||||
|
{
|
||||||
|
//const std::string& filename = picker.getFirstFile();
|
||||||
|
std::string filename;
|
||||||
|
while(!(filename = picker.getNextFile()).empty())
|
||||||
|
{
|
||||||
|
std::string name = gDirUtilp->getBaseFileName(filename, true);
|
||||||
|
|
||||||
|
std::string asset_name = name;
|
||||||
|
LLStringUtil::replaceNonstandardASCII( asset_name, '?' );
|
||||||
|
LLStringUtil::replaceChar(asset_name, '|', '?');
|
||||||
|
LLStringUtil::stripNonprintable(asset_name);
|
||||||
|
LLStringUtil::trim(asset_name);
|
||||||
|
|
||||||
|
std::string display_name = LLStringUtil::null;
|
||||||
|
LLAssetStorage::LLStoreAssetCallback callback = NULL;
|
||||||
|
S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
|
||||||
|
void *userdata = NULL;
|
||||||
|
gSavedSettings.setBOOL("TemporaryUpload",enabled);
|
||||||
|
upload_new_resource(filename, asset_name, asset_name, 0, LLAssetType::AT_NONE, LLInventoryType::IT_NONE,
|
||||||
|
LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
|
||||||
|
display_name,
|
||||||
|
callback, expected_upload_cost, userdata);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
llinfos << "Couldn't import objects from file" << llendl;
|
||||||
|
gSavedSettings.setBOOL("TemporaryUpload",FALSE);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||||
{
|
{
|
||||||
if( gAgent.cameraMouselook() )
|
if( gAgent.cameraMouselook() )
|
||||||
@@ -326,11 +372,20 @@ class LLFileUploadBulk : public view_listener_t
|
|||||||
// If an upload fails, refund the user for that one
|
// If an upload fails, refund the user for that one
|
||||||
//
|
//
|
||||||
// Also fix single upload to charge first, then refund
|
// Also fix single upload to charge first, then refund
|
||||||
|
// <edit>
|
||||||
|
S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
|
||||||
|
LLSD args;
|
||||||
|
std::string msg = "Would you like to bulk upload the files as temporary files?\nOnly textures will upload as temporary on Agni and Aditi.";
|
||||||
|
if(expected_upload_cost)
|
||||||
|
msg.append(llformat("\nWARNING: Each upload costs L$%d if it's not temporary.",expected_upload_cost));
|
||||||
|
args["MESSAGE"] = msg;
|
||||||
|
LLNotifications::instance().add("GenericAlertYesNoCancel", args, LLSD(), onConfirmBulkUploadTemp);
|
||||||
|
/* moved to the callback for the above
|
||||||
LLFilePicker& picker = LLFilePicker::instance();
|
LLFilePicker& picker = LLFilePicker::instance();
|
||||||
if (picker.getMultipleOpenFiles())
|
if (picker.getMultipleOpenFiles())
|
||||||
{
|
{
|
||||||
// <edit>
|
// <edit>
|
||||||
|
|
||||||
//const std::string& filename = picker.getFirstFile();
|
//const std::string& filename = picker.getFirstFile();
|
||||||
std::string filename;
|
std::string filename;
|
||||||
while(!(filename = picker.getNextFile()).empty())
|
while(!(filename = picker.getNextFile()).empty())
|
||||||
@@ -362,6 +417,7 @@ class LLFileUploadBulk : public view_listener_t
|
|||||||
{
|
{
|
||||||
llinfos << "Couldn't import objects from file" << llendl;
|
llinfos << "Couldn't import objects from file" << llendl;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -1008,7 +1064,49 @@ void upload_new_resource(const std::string& src_filename, std::string name,
|
|||||||
LLFilePicker::instance().reset();
|
LLFilePicker::instance().reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// <edit>
|
||||||
|
void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExtStat ext_status) // StoreAssetData callback (fixed)
|
||||||
|
{
|
||||||
|
LLResourceData* data = (LLResourceData*)user_data;
|
||||||
|
|
||||||
|
if(result >= 0)
|
||||||
|
{
|
||||||
|
LLUUID item_id;
|
||||||
|
item_id.generate();
|
||||||
|
LLPermissions* perms = new LLPermissions();
|
||||||
|
perms->set(LLPermissions::DEFAULT);
|
||||||
|
perms->setOwnerAndGroup(LLUUID::null, LLUUID::null, LLUUID::null, false);
|
||||||
|
perms->setMaskBase(0);
|
||||||
|
perms->setMaskEveryone(0);
|
||||||
|
perms->setMaskGroup(0);
|
||||||
|
perms->setMaskNext(0);
|
||||||
|
perms->setMaskOwner(0);
|
||||||
|
LLViewerInventoryItem* item = new LLViewerInventoryItem(
|
||||||
|
item_id,
|
||||||
|
gLocalInventoryRoot,
|
||||||
|
*perms,
|
||||||
|
uuid,
|
||||||
|
(LLAssetType::EType)data->mAssetInfo.mType,
|
||||||
|
(LLInventoryType::EType)data->mInventoryType,
|
||||||
|
data->mAssetInfo.getName(),
|
||||||
|
data->mAssetInfo.getDescription(),
|
||||||
|
LLSaleInfo::DEFAULT,
|
||||||
|
0,
|
||||||
|
0);
|
||||||
|
LLLocalInventory::addItem(item);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LLSD args;
|
||||||
|
args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType);
|
||||||
|
args["REASON"] = std::string(LLAssetStorage::getErrorString(result));
|
||||||
|
LLNotifications::instance().add("CannotUploadReason", args);
|
||||||
|
}
|
||||||
|
|
||||||
|
LLUploadDialog::modalUploadFinished();
|
||||||
|
delete data;
|
||||||
|
}
|
||||||
|
// <edit>
|
||||||
void upload_done_callback(const LLUUID& uuid, void* user_data, S32 result, LLExtStat ext_status) // StoreAssetData callback (fixed)
|
void upload_done_callback(const LLUUID& uuid, void* user_data, S32 result, LLExtStat ext_status) // StoreAssetData callback (fixed)
|
||||||
{
|
{
|
||||||
LLResourceData* data = (LLResourceData*)user_data;
|
LLResourceData* data = (LLResourceData*)user_data;
|
||||||
@@ -1190,7 +1288,11 @@ void upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
|
|||||||
lldebugs << "Folder: " << gInventory.findCategoryUUIDForType((destination_folder_type == LLAssetType::AT_NONE) ? asset_type : destination_folder_type) << llendl;
|
lldebugs << "Folder: " << gInventory.findCategoryUUIDForType((destination_folder_type == LLAssetType::AT_NONE) ? asset_type : destination_folder_type) << llendl;
|
||||||
lldebugs << "Asset Type: " << LLAssetType::lookup(asset_type) << llendl;
|
lldebugs << "Asset Type: " << LLAssetType::lookup(asset_type) << llendl;
|
||||||
std::string url = gAgent.getRegion()->getCapability("NewFileAgentInventory");
|
std::string url = gAgent.getRegion()->getCapability("NewFileAgentInventory");
|
||||||
if (!url.empty())
|
// <edit>
|
||||||
|
BOOL temporary = gSavedSettings.getBOOL("TemporaryUpload");
|
||||||
|
gSavedSettings.setBOOL("TemporaryUpload",FALSE);
|
||||||
|
if (!url.empty() && !temporary)
|
||||||
|
// </edit>
|
||||||
{
|
{
|
||||||
llinfos << "New Agent Inventory via capability" << llendl;
|
llinfos << "New Agent Inventory via capability" << llendl;
|
||||||
LLSD body;
|
LLSD body;
|
||||||
@@ -1211,6 +1313,9 @@ void upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
|
|||||||
LLHTTPClient::post(url, body, new LLNewAgentInventoryResponder(body, uuid, asset_type));
|
LLHTTPClient::post(url, body, new LLNewAgentInventoryResponder(body, uuid, asset_type));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
// <edit>
|
||||||
|
if(!temporary)
|
||||||
{
|
{
|
||||||
llinfos << "NewAgentInventory capability not found, new agent inventory via asset system." << llendl;
|
llinfos << "NewAgentInventory capability not found, new agent inventory via asset system." << llendl;
|
||||||
// check for adequate funds
|
// check for adequate funds
|
||||||
@@ -1227,6 +1332,7 @@ void upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LLResourceData* data = new LLResourceData;
|
LLResourceData* data = new LLResourceData;
|
||||||
data->mAssetInfo.mTransactionID = tid;
|
data->mAssetInfo.mTransactionID = tid;
|
||||||
@@ -1240,16 +1346,21 @@ void upload_new_resource(const LLTransactionID &tid, LLAssetType::EType asset_ty
|
|||||||
data->mAssetInfo.setName(name);
|
data->mAssetInfo.setName(name);
|
||||||
data->mAssetInfo.setDescription(desc);
|
data->mAssetInfo.setDescription(desc);
|
||||||
data->mPreferredLocation = destination_folder_type;
|
data->mPreferredLocation = destination_folder_type;
|
||||||
|
// <edit>
|
||||||
LLAssetStorage::LLStoreAssetCallback asset_callback = &upload_done_callback;
|
LLAssetStorage::LLStoreAssetCallback asset_callback = temporary ? &temp_upload_callback : &upload_done_callback;
|
||||||
|
// </edit>
|
||||||
if (callback)
|
if (callback)
|
||||||
{
|
{
|
||||||
asset_callback = callback;
|
asset_callback = callback;
|
||||||
}
|
}
|
||||||
|
// <edit>
|
||||||
gAssetStorage->storeAssetData(data->mAssetInfo.mTransactionID, data->mAssetInfo.mType,
|
gAssetStorage->storeAssetData(data->mAssetInfo.mTransactionID, data->mAssetInfo.mType,
|
||||||
asset_callback,
|
asset_callback,
|
||||||
(void*)data,
|
(void*)data,
|
||||||
FALSE);
|
temporary,
|
||||||
|
TRUE,
|
||||||
|
temporary);
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,10 @@ Try saving image as 24 bit Targa (.tga).
|
|||||||
follows="bottom|left" font="SansSerifSmall" height="16"
|
follows="bottom|left" font="SansSerifSmall" height="16"
|
||||||
initial_value="false" label="Use lossless compression" left="10"
|
initial_value="false" label="Use lossless compression" left="10"
|
||||||
left_delta="2" name="lossless_check" width="280" />
|
left_delta="2" name="lossless_check" width="280" />
|
||||||
|
<check_box bottom="37" control_name="TemporaryUpload" enabled="true"
|
||||||
|
follows="bottom|left" font="SansSerifSmall" height="16"
|
||||||
|
initial_value="false" label="Temporary (Free)"
|
||||||
|
left_delta="155" name="temp_check" width="280" tooltip="Sets the asset to be temporary, meaning its free, but in return, only good for a short time before it ceases to exist." />
|
||||||
<button bottom="10" follows="bottom|right" height="20" label="Cancel" left="165"
|
<button bottom="10" follows="bottom|right" height="20" label="Cancel" left="165"
|
||||||
name="cancel_btn" width="125" />
|
name="cancel_btn" width="125" />
|
||||||
<button bottom="10" follows="bottom|left" height="20" label="Upload (L$[AMOUNT])"
|
<button bottom="10" follows="bottom|left" height="20" label="Upload (L$[AMOUNT])"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
<floater bottom="-300" can_close="true" can_drag_on_left="false" can_minimize="false"
|
<floater bottom="-300" can_close="true" can_drag_on_left="false" can_minimize="false"
|
||||||
can_resize="false" follows="left|top" height="526" name="Snapshot"
|
can_resize="false" follows="left|top" height="546" name="Snapshot"
|
||||||
rect_control="FloaterSnapshotRect" title="Snapshot Preview" width="215">
|
rect_control="FloaterSnapshotRect" title="Snapshot Preview" width="215">
|
||||||
<text bottom_delta="-40" follows="top|left" height="15" left="10" name="type_label"
|
<text bottom_delta="-40" follows="top|left" height="15" left="10" name="type_label"
|
||||||
width="195">
|
width="195">
|
||||||
@@ -165,6 +165,9 @@
|
|||||||
left="10" name="freeze_frame_check" />
|
left="10" name="freeze_frame_check" />
|
||||||
<check_box bottom_delta="-20" follows="left|top" label="Auto-refresh" left="10"
|
<check_box bottom_delta="-20" follows="left|top" label="Auto-refresh" left="10"
|
||||||
name="auto_snapshot_check" />
|
name="auto_snapshot_check" />
|
||||||
|
<check_box bottom_delta="-20" follows="left|top" control_name="TemporaryUpload" enabled="true"
|
||||||
|
initial_value="false" label="Temporary Image (Free)" left="10"
|
||||||
|
name="temp_check" tooltip="Sets the asset to be temporary, meaning its free, but in return, only good for a short time before it ceases to exist." />
|
||||||
<string name="unknown">
|
<string name="unknown">
|
||||||
unknown
|
unknown
|
||||||
</string>
|
</string>
|
||||||
|
|||||||
@@ -334,7 +334,7 @@
|
|||||||
<on_check control="ShowMiniMap" />
|
<on_check control="ShowMiniMap" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
<menu_item_check bottom="-273" enabled="true" height="19" label="Radar" left="0"
|
<menu_item_check bottom="-273" enabled="true" height="19" label="Radar" left="0"
|
||||||
mouse_opaque="true" name="Radar" shortcut="control|alt|shift|R" width="211">
|
mouse_opaque="true" name="Radar" shortcut="control|shift|A" width="211">
|
||||||
<on_click function="View.ToggleAvatarList" userdata="radar" />
|
<on_click function="View.ToggleAvatarList" userdata="radar" />
|
||||||
<on_check control="ShowRadar" />
|
<on_check control="ShowRadar" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
@@ -349,7 +349,7 @@
|
|||||||
<menu_item_separator bottom="-300" enabled="true" height="8" label="-----------" left="0"
|
<menu_item_separator bottom="-300" enabled="true" height="8" label="-----------" left="0"
|
||||||
mouse_opaque="true" name="separator100" width="211" />
|
mouse_opaque="true" name="separator100" width="211" />
|
||||||
<menu_item_check bottom="-300" enabled="false" height="20" label="Area Search" left="0"
|
<menu_item_check bottom="-300" enabled="false" height="20" label="Area Search" left="0"
|
||||||
mouse_opaque="true" name="Area Search" shortcut="control|shift|A" width="155">
|
mouse_opaque="true" name="Area Search" width="155">
|
||||||
<on_click function="ShowFloater" userdata="areasearch" />
|
<on_click function="ShowFloater" userdata="areasearch" />
|
||||||
<on_check function="FloaterVisible" userdata="areasearch" />
|
<on_check function="FloaterVisible" userdata="areasearch" />
|
||||||
</menu_item_check>
|
</menu_item_check>
|
||||||
|
|||||||
@@ -146,6 +146,18 @@ No tutorial is currently available.
|
|||||||
yestext="Yes"/>
|
yestext="Yes"/>
|
||||||
</notification>
|
</notification>
|
||||||
|
|
||||||
|
<notification
|
||||||
|
icon="alertmodal.tga"
|
||||||
|
name="GenericAlertYesNoCancel"
|
||||||
|
type="alertmodal">
|
||||||
|
[MESSAGE]
|
||||||
|
<usetemplate
|
||||||
|
name="yesnocancelbuttons"
|
||||||
|
notext="No"
|
||||||
|
yestext="Yes"
|
||||||
|
canceltext="Cancel"/>
|
||||||
|
</notification>
|
||||||
|
|
||||||
<notification
|
<notification
|
||||||
icon="alertmodal.tga"
|
icon="alertmodal.tga"
|
||||||
name="BadInstallation"
|
name="BadInstallation"
|
||||||
|
|||||||
@@ -214,16 +214,16 @@
|
|||||||
<key>linux</key>
|
<key>linux</key>
|
||||||
<map>
|
<map>
|
||||||
<key>md5sum</key>
|
<key>md5sum</key>
|
||||||
<string>d58ac1a8396ac983b67cc3e3541457e3</string>
|
<string>4db3d74e40d149eeec06f4d97a609bb1</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux-20100222a.tar.bz2</uri>
|
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-linux-20100624.tar.bz2</uri>
|
||||||
</map>
|
</map>
|
||||||
<key>windows</key>
|
<key>windows</key>
|
||||||
<map>
|
<map>
|
||||||
<key>md5sum</key>
|
<key>md5sum</key>
|
||||||
<string>ed53511382d0fd9fec59a9f6544d9672</string>
|
<string>eb4a503020a0573e7303f9066109fdcc</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<uri>http://s3.amazonaws.com/viewer-source-downloads/install_pkgs/boost-1.39.0-windows-20091029.tar.bz2</uri>
|
<uri>http://modularsystems.sl/libraries/boost-1.39.0-windows-20100318.tar.bz2</uri>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
</map>
|
</map>
|
||||||
|
|||||||
Reference in New Issue
Block a user