diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 91b89e669..89b66672e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -117,6 +117,28 @@ Value 0.0 + AscentUseSystemFolder + + Comment + Enables the System folder for setting and non-permanent asset storage. + Persist + 1 + Type + Boolean + Value + 0 + + AscentSystemTemporary + + Comment + When enabled, temporary uploads are put in the System Asset folder (if System Folder exists). + Persist + 1 + Type + Boolean + Value + 0 + AscentShowFriendsTag Comment diff --git a/indra/newview/ascentprefssys.cpp b/indra/newview/ascentprefssys.cpp index 73aaca900..965ce2181 100644 --- a/indra/newview/ascentprefssys.cpp +++ b/indra/newview/ascentprefssys.cpp @@ -77,6 +77,8 @@ private: BOOL mAlwaysShowFly; //Disable camera minimum distance BOOL mPowerUser; + BOOL mUseSystemFolder; + BOOL mUploadToSystem; //Chat/IM ----------------------------------------------------------------------------- BOOL mHideNotificationsInChat; BOOL mPlayTypingSound; @@ -109,6 +111,8 @@ LLPrefsAscentSysImpl::LLPrefsAscentSysImpl() { LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_ascent_system.xml"); childSetCommitCallback("speed_rez_check", onCommitCheckBox, this); + childSetCommitCallback("double_click_teleport_check", onCommitCheckBox, this); + childSetCommitCallback("system_folder_check", onCommitCheckBox, this); childSetCommitCallback("show_look_at_check", onCommitCheckBox, this); childSetCommitCallback("enable_clouds", onCommitCheckBox, this); mEnableClouds = gSavedSettings.getBOOL("CloudsEnabled"); @@ -125,16 +129,9 @@ void LLPrefsAscentSysImpl::onCommitCheckBox(LLUICtrl* ctrl, void* user_data) if (ctrl->getControlName() == "SpeedRez") { - if (self->childGetValue("speed_rez_check").asBoolean()) - { - self->childEnable("speed_rez_interval"); - self->childEnable("speed_rez_seconds"); - } - else - { - self->childDisable("speed_rez_interval"); - self->childDisable("speed_rez_seconds"); - } + bool enabled = self->childGetValue("speed_rez_check").asBoolean(); + self->childSetEnabled("speed_rez_interval", enabled); + self->childSetEnabled("speed_rez_seconds", enabled); } else if (ctrl->getName() == "show_look_at_check") { @@ -142,6 +139,17 @@ void LLPrefsAscentSysImpl::onCommitCheckBox(LLUICtrl* ctrl, void* user_data) LLHUDEffectLookAt::sDebugLookAt = lookAt; gSavedSettings.setBOOL("AscentShowLookAt", lookAt); } + else if (ctrl->getName() == "double_click_teleport_check") + { + bool enabled = self->childGetValue("double_click_teleport_check").asBoolean(); + self->childSetEnabled("center_after_teleport_check", enabled); + self->childSetEnabled("offset_teleport_check", enabled); + } + else if (ctrl->getName() == "system_folder_check") + { + bool enabled = self->childGetValue("system_folder_check").asBoolean(); + self->childSetEnabled("temp_in_system_check", enabled); + } } void LLPrefsAscentSysImpl::refreshValues() @@ -159,6 +167,8 @@ void LLPrefsAscentSysImpl::refreshValues() mAlwaysShowFly = gSavedSettings.getBOOL("AscentFlyAlwaysEnabled"); //Disable camera minimum distance mPowerUser = gSavedSettings.getBOOL("AscentPowerfulWizard"); + mUseSystemFolder = gSavedSettings.getBOOL("AscentUseSystemFolder"); + mUploadToSystem = gSavedSettings.getBOOL("AscentSystemTemporary"); //Chat/IMs ---------------------------------------------------------------------------- mHideNotificationsInChat = gSavedSettings.getBOOL("HideNotificationsInChat"); mHideTypingNotification = gSavedSettings.getBOOL("AscentHideTypingNotification"); @@ -198,7 +208,9 @@ void LLPrefsAscentSysImpl::refresh() //General ----------------------------------------------------------------------------- childSetValue("double_click_teleport_check", mDoubleClickTeleport); childSetValue("center_after_teleport_check", mResetCameraAfterTP); + childSetEnabled("center_after_teleport_check", mDoubleClickTeleport); childSetValue("offset_teleport_check", mOffsetTPByUserHeight); + childSetEnabled("offset_teleport_check", mDoubleClickTeleport); childSetValue("preview_anim_in_world_check", mPreviewAnimInWorld); childSetValue("save_scripts_as_mono_check", mSaveScriptsAsMono); childSetValue("always_rez_in_group_check", mAlwaysRezInGroup); @@ -209,6 +221,9 @@ void LLPrefsAscentSysImpl::refresh() //Disable camera minimum distance childSetValue("power_user_check", mPowerUser); childSetValue("power_user_confirm_check", mPowerUser); + childSetValue("system_folder_check", mUseSystemFolder); + childSetValue("temp_in_system_check", mUploadToSystem); + childSetEnabled("temp_in_system_check", mUseSystemFolder); //Chat -------------------------------------------------------------------------------- childSetValue("hide_notifications_in_chat_check", mHideNotificationsInChat); childSetValue("play_typing_sound_check", mPlayTypingSound); @@ -279,16 +294,8 @@ void LLPrefsAscentSysImpl::refresh() childSetValue("enable_clouds", mEnableClouds); gLLWindEnabled = mEnableLLWind; childSetValue("speed_rez_check", mSpeedRez); - if (mSpeedRez) - { - childEnable("speed_rez_interval"); - childEnable("speed_rez_seconds"); - } - else - { - childDisable("speed_rez_interval"); - childDisable("speed_rez_seconds"); - } + childSetEnabled("speed_rez_interval", mSpeedRez); + childSetEnabled("speed_rez_seconds", mSpeedRez); //Command Line ------------------------------------------------------------------------ //Privacy ----------------------------------------------------------------------------- diff --git a/indra/newview/dofloaterhex.cpp b/indra/newview/dofloaterhex.cpp index 04f297879..3da718bba 100644 --- a/indra/newview/dofloaterhex.cpp +++ b/indra/newview/dofloaterhex.cpp @@ -21,7 +21,7 @@ #include "llviewerregion.h" // getCapability #include "llassetuploadresponders.h" // LLUpdateAgentInventoryResponder #include "llinventorymodel.h" // gInventory.updateItem -#include "llappviewer.h" // gLocalInventoryRoot +#include "llappviewer.h" // System Folders #include "llfloaterperms.h" //get default perms std::list DOFloaterHex::sInstances; @@ -261,7 +261,7 @@ void DOFloaterHex::assetCallback(LLVFS *vfs, } // Never enable save if it's a pretend item - if(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot)) + if(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot)) { floater->childSetEnabled("save_btn", false); } diff --git a/indra/newview/hgfloatertexteditor.cpp b/indra/newview/hgfloatertexteditor.cpp index 1001fed1b..6c558296e 100644 --- a/indra/newview/hgfloatertexteditor.cpp +++ b/indra/newview/hgfloatertexteditor.cpp @@ -21,7 +21,7 @@ #include "llviewerregion.h" // getCapability #include "llassetuploadresponders.h" // LLUpdateAgentInventoryResponder #include "llinventorymodel.h" // gInventory.updateItem -#include "llappviewer.h" // gLocalInventoryRoot +#include "llappviewer.h" // System Folders #include "llfloaterperms.h" //get default perms #include "lllocalinventory.h" @@ -225,7 +225,7 @@ void HGFloaterTextEditor::assetCallback(LLVFS *vfs, } // Never enable save if it's a pretend item - if(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot)) + if(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot)) { floater->childSetEnabled("save_btn", false); } diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 3b9034f75..05509fa02 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -259,7 +259,9 @@ F32 gLogoutMaxTime = LOGOUT_REQUEST_TIME; LLUUID gInventoryLibraryOwner; LLUUID gInventoryLibraryRoot; // -LLUUID gLocalInventoryRoot; +LLUUID gSystemFolderRoot; +LLUUID gSystemFolderSettings; +LLUUID gSystemFolderAssets; // BOOL gDisconnected = FALSE; @@ -632,8 +634,12 @@ bool LLAppViewer::init() writeSystemInfo(); // Build a string representing the current version number. - // meh - gCurrentVersion = "1.0.0.0"; + gCurrentVersion = llformat("%s %d.%d.%d.%d", + LL_CHANNEL, + LL_VERSION_MAJOR, + LL_VERSION_MINOR, + LL_VERSION_PATCH, + LL_VERSION_BUILD ); ////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index a2de996d8..b0563e984 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -308,7 +308,9 @@ extern F32 gSimFrames; extern LLUUID gInventoryLibraryOwner; extern LLUUID gInventoryLibraryRoot; // -extern LLUUID gLocalInventoryRoot; +extern LLUUID gSystemFolderRoot; +extern LLUUID gSystemFolderSettings; +extern LLUUID gSystemFolderAssets; // extern BOOL gDisconnected; diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index b35efe1f0..15b7400e5 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -777,7 +777,7 @@ BOOL LLFolderViewItem::handleHover( S32 x, S32 y, MASK mask ) src = LLToolDragAndDrop::SOURCE_LIBRARY; } // - else if(mListener && gInventory.isObjectDescendentOf(mListener->getUUID(), gLocalInventoryRoot)) + else if(mListener && gInventory.isObjectDescendentOf(mListener->getUUID(), gSystemFolderRoot)) { // Note: this is only ok if all future pretend folders are subcategories of Pretend Inventory src = LLToolDragAndDrop::SOURCE_LIBRARY; } @@ -2941,7 +2941,6 @@ void LLFolderView::filter( LLInventoryFilter& filter ) LLFastTimer t2(LLFastTimer::FTM_FILTER); filter.setFilterCount(llclamp(gSavedSettings.getS32("FilterItemsPerFrame"), 1, 5000)); - if (getCompletedFilterGeneration() < filter.getCurrentGeneration()) { mFiltered = FALSE; diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 8e2f775a5..c019c33fe 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -92,7 +92,7 @@ #include "llselectmgr.h" #include "llfloateropenobject.h" // -#include "llappviewer.h" // gLocalInventoryRoot +#include "llappviewer.h" // System Folders #include "llfloateranimpreview.h" // for reuploads #include "llfloaterimagepreview.h" // for reuploads #include "llimportobject.h" // for disabling options during import @@ -364,7 +364,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArraygetParentUUID()]; ++update[trash_id]; // - if(!gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot)) + if(!gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot)) { // if(start_new_message) @@ -411,7 +411,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArraygetParentUUID()]; ++update[trash_id]; // - if(!gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot)) + if(!gInventory.isObjectDescendentOf(cat->getUUID(), gSystemFolderRoot)) { // if(start_new_message) @@ -450,7 +450,7 @@ void LLInvFVBridge::removeBatchNoCheck(LLDynamicArray trash problem - if(gInventory.isObjectDescendentOf(*it, gLocalInventoryRoot)) + if(gInventory.isObjectDescendentOf(*it, gSystemFolderRoot)) { // if it's a category, delete descendents if(gInventory.getCategory(*it)) @@ -1148,7 +1148,7 @@ void LLItemBridge::selectItem() if(item && !item->isComplete()) { // - if(!(gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot))) + if(!(gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot))) // item->fetchFromServer(); } @@ -1298,10 +1298,6 @@ std::string LLItemBridge::getLabelSuffix() const else stempo = EMPTY; suffix = llformat("%s%s%s%s",scopy,smod,sxfer,stempo); } - else if (!perm.isOwned()) - { - suffix = " (temporary)"; - } } return suffix; } @@ -1380,7 +1376,7 @@ BOOL LLItemBridge::removeItem() if(item && !model->isObjectDescendentOf(mUUID, trash_id)) { // trash problem - if(gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot)) + if(gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot)) { LLInventoryModel::LLCategoryUpdate up(item->getParentUUID(), -1); gInventory.deleteObject(mUUID); @@ -1641,7 +1637,7 @@ BOOL LLFolderBridge::isUpToDate() const // trying to make it stop trying to fetch Local Inventory //return category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN; - return (category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN) || (mUUID == gLocalInventoryRoot) || (gInventory.isObjectDescendentOf(mUUID, gLocalInventoryRoot)); + return (category->getVersion() != LLViewerInventoryCategory::VERSION_UNKNOWN) || (mUUID == gSystemFolderRoot) || (gInventory.isObjectDescendentOf(mUUID, gSystemFolderRoot)); // } @@ -2355,7 +2351,7 @@ BOOL LLFolderBridge::removeItem() if(cat) { // trash problem - if(gInventory.isObjectDescendentOf(cat->getUUID(), gLocalInventoryRoot)) + if(gInventory.isObjectDescendentOf(cat->getUUID(), gSystemFolderRoot)) { S32 descendents = cat->getDescendentCount(); if(descendents > 0) @@ -4942,10 +4938,8 @@ void wear_inventory_category_on_avatar_step2( BOOL proceed, void* userdata ) } for(i = 0; i < wearable_count; ++i) { - gAddToOutfit = wear_info->mAppend; - found = found_container.get(i); gWearableList.getAsset(found->mAssetID, found->mName, diff --git a/indra/newview/lllocalinventory.cpp b/indra/newview/lllocalinventory.cpp index b969f72f2..7988667c1 100644 --- a/indra/newview/lllocalinventory.cpp +++ b/indra/newview/lllocalinventory.cpp @@ -44,7 +44,7 @@ LLUUID LLLocalInventory::addItem(std::string name, int type, LLUUID asset_id) perms->setMaskOwner(0); LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, - gLocalInventoryRoot, + gSystemFolderAssets, *perms, asset_id, (LLAssetType::EType)type, @@ -63,7 +63,6 @@ void LLLocalInventory::addItem(LLViewerInventoryItem* item) //gInventory.addPretendItem(item); LLInventoryModel::update_map_t update; ++update[item->getParentUUID()]; - item->updateServer(TRUE); gInventory.accountForUpdate(update); gInventory.updateItem(item); gInventory.notifyObservers(); @@ -185,7 +184,7 @@ void LLLocalInventory::loadInvCache(std::string filename) LLUUID container_id; container_id.generate(); container->setUUID(container_id); - container->setParent(gLocalInventoryRoot); + container->setParent(gSystemFolderRoot); container->setPreferredType(LLAssetType::AT_NONE); LLInventoryModel::update_map_t container_update; ++container_update[container->getParentUUID()]; @@ -229,7 +228,7 @@ void LLLocalInventory::loadInvCache(std::string filename) // If the parent exists and outside of pretend inventory, generate a new uuid else if(gInventory.getCategory((*cat_iter)->getParentUUID())) { - if(!gInventory.isObjectDescendentOf((*cat_iter)->getParentUUID(), gLocalInventoryRoot, TRUE)) + if(!gInventory.isObjectDescendentOf((*cat_iter)->getParentUUID(), gSystemFolderRoot, TRUE)) { std::map::iterator itr = conflicting_cats.find((*cat_iter)->getParentUUID()); if(itr == conflicting_cats.end()) @@ -276,7 +275,7 @@ void LLLocalInventory::loadInvCache(std::string filename) // If the parent exists and outside of pretend inventory, generate a new uuid if(gInventory.getCategory((*item_iter)->getParentUUID())) { - if(!gInventory.isObjectDescendentOf((*item_iter)->getParentUUID(), gLocalInventoryRoot, TRUE)) + if(!gInventory.isObjectDescendentOf((*item_iter)->getParentUUID(), gSystemFolderRoot, TRUE)) { std::map::iterator itr = conflicting_cats.find((*item_iter)->getParentUUID()); if(itr == conflicting_cats.end()) @@ -536,7 +535,7 @@ void LLFloaterNewLocalInventory::onClickOK(void* user_data) LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, - gLocalInventoryRoot, + gSystemFolderRoot, *perms, asset_id, type, diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 3d3ae1969..2befe35fb 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2148,19 +2148,6 @@ bool idle_startup() } } - // testing adding a local inventory folder... - LLViewerInventoryCategory* test_cat = new LLViewerInventoryCategory(gAgent.getID()); - test_cat->rename(std::string("Pretend Inventory")); - LLUUID test_cat_id; - test_cat_id.generate(); - test_cat->setUUID(test_cat_id); - gLocalInventoryRoot = test_cat_id; - test_cat->setParent(LLUUID::null); - test_cat->setPreferredType(LLAssetType::AT_NONE); - - gInventory.addCategory(test_cat); - // - // OGPX login-flags : we don't currently get those passed back (there is a gendered hack in the code elsewhere) // unsure if OGPX should be getting all these. if (LLUserAuth::getInstance()->mResult["login-flags"].isArray()) @@ -2965,6 +2952,40 @@ bool idle_startup() } } + // testing adding a local inventory folder... + if (gSavedSettings.getBOOL("AscentUseSystemFolder")) + { + LLViewerInventoryCategory* system_folder = new LLViewerInventoryCategory(gAgent.getID()); + system_folder->rename(std::string("System Inventory")); + LLUUID system_folder_id = LLUUID("00000000-0000-F113-7357-000000000100"); + system_folder->setUUID(system_folder_id); + gSystemFolderRoot = system_folder_id; + system_folder->setParent(LLUUID::null); + system_folder->setPreferredType(LLAssetType::AT_NONE); + gInventory.addCategory(system_folder); + + LLViewerInventoryCategory* settings_folder = new LLViewerInventoryCategory(gAgent.getID()); + settings_folder->rename(std::string("Settings")); + LLUUID settings_folder_id; + settings_folder_id.generate(); + settings_folder->setUUID(settings_folder_id); + gSystemFolderSettings = settings_folder_id; + settings_folder->setParent(gSystemFolderRoot); + settings_folder->setPreferredType(LLAssetType::AT_NONE); + gInventory.addCategory(settings_folder); + + LLViewerInventoryCategory* assets_folder = new LLViewerInventoryCategory(gAgent.getID()); + assets_folder->rename(std::string("Assets")); + LLUUID assets_folder_id; + assets_folder_id.generate(); + assets_folder->setUUID(assets_folder_id); + gSystemFolderAssets = assets_folder_id; + assets_folder->setParent(gSystemFolderRoot); + assets_folder->setPreferredType(LLAssetType::AT_NONE); + gInventory.addCategory(assets_folder); + } + // + options.clear(); if(LLUserAuth::getInstance()->getOptions("buddy-list", options)) { diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp index e939a47e2..175f8b695 100644 --- a/indra/newview/lltooldraganddrop.cpp +++ b/indra/newview/lltooldraganddrop.cpp @@ -70,7 +70,7 @@ #include "object_flags.h" #include "llimview.h" // -#include "llappviewer.h" // gLocalInventoryRoot +#include "llappviewer.h" // System Folders #include "llparcel.h" // always rez #include "llviewerparcelmgr.h" // always rez // @@ -1161,13 +1161,11 @@ void LLToolDragAndDrop::dropTextureAllFaces(LLViewerObject* hit_obj, return; } LLUUID asset_id = item->getAssetUUID(); - // - /*BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id); + BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id); if(!success) { return; - }*/ - // + } LLViewerImage* image = gImageList.getImage(asset_id); LLViewerStats::getInstance()->incStat(LLViewerStats::ST_EDIT_TEXTURE_COUNT ); S32 num_faces = hit_obj->getNumTEs(); @@ -1205,13 +1203,11 @@ void LLToolDragAndDrop::dropTextureOneFace(LLViewerObject* hit_obj, return; } LLUUID asset_id = item->getAssetUUID(); - // - /*BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id); + BOOL success = handleDropTextureProtections(hit_obj, item, source, src_id); if(!success) { return; - }*/ - // + } // update viewer side image in anticipation of update from simulator LLViewerImage* image = gImageList.getImage(asset_id); LLViewerStats::getInstance()->incStat(LLViewerStats::ST_EDIT_TEXTURE_COUNT ); @@ -1383,8 +1379,11 @@ void LLToolDragAndDrop::dropObject(LLViewerObject* raycast_target, msg->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID()); else if(gAgent.isInGroup(parcel->getOwnerID())) msg->addUUIDFast(_PREHASH_GroupID, parcel->getOwnerID()); - else msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); - } else msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); + else + msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); + } + else + msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); msg->nextBlock("RezData"); // if it's being rezzed from task inventory, we need to enable @@ -1994,7 +1993,7 @@ EAcceptance LLToolDragAndDrop::willObjectAcceptInventory(LLViewerObject* obj, LL LLViewerInventoryItem* vitem = (LLViewerInventoryItem*)item; // //if(!vitem->isComplete()) return ACCEPT_NO; - if(!vitem->isComplete() && !(gInventory.isObjectDescendentOf(vitem->getUUID(), gLocalInventoryRoot))) return ACCEPT_NO; + if(!vitem->isComplete() && !(gInventory.isObjectDescendentOf(vitem->getUUID(), gSystemFolderRoot))) return ACCEPT_NO; // if (vitem->getIsLinkType()) return ACCEPT_NO; // No giving away links @@ -2054,10 +2053,7 @@ EAcceptance LLToolDragAndDrop::willObjectAcceptInventory(LLViewerObject* obj, LL { return ACCEPT_NO_LOCKED; } - // allow dropping textures onto objects - //return ACCEPT_NO; - return ACCEPT_YES_SINGLE; - // + return ACCEPT_NO; } @@ -2404,7 +2400,7 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject( locateInventory(item, cat); // //if(!item || !item->isComplete()) return ACCEPT_NO; - if( !item || (!item->isComplete() && !(gInventory.isObjectDescendentOf(item->getUUID(), gLocalInventoryRoot))) ) return ACCEPT_NO; + if( !item || (!item->isComplete() && !(gInventory.isObjectDescendentOf(item->getUUID(), gSystemFolderRoot))) ) return ACCEPT_NO; // EAcceptance rv = willObjectAcceptInventory(obj, item); if((mask & MASK_CONTROL)) @@ -2415,9 +2411,6 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject( } return rv; } - // - /* - // if(!obj->permModify()) { return ACCEPT_NO_LOCKED; @@ -2427,9 +2420,6 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject( { return ACCEPT_NO; } - // - */ - // if(drop && (ACCEPT_YES_SINGLE <= rv)) { @@ -2857,13 +2847,11 @@ EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnLand( locateInventory(item, cat); if(!item || !item->isComplete()) return ACCEPT_NO; - // - //if(!gAgent.allowOperation(PERM_COPY, item->getPermissions()) - // || !item->getPermissions().allowTransferTo(LLUUID::null)) - //{ - // return ACCEPT_NO_LOCKED; - //} - // + if(!gAgent.allowOperation(PERM_COPY, item->getPermissions()) + || !item->getPermissions().allowTransferTo(LLUUID::null)) + { + return ACCEPT_NO_LOCKED; + } if(drop) { dropObject(obj, TRUE, TRUE, FALSE); @@ -2893,14 +2881,12 @@ EAcceptance LLToolDragAndDrop::dad3dRezFromObjectOnObject( //} //return rv; } - // - //if(!item->getPermissions().allowCopyBy(gAgent.getID(), - // gAgent.getGroupID()) - // || !item->getPermissions().allowTransferTo(LLUUID::null)) - //{ - // return ACCEPT_NO_LOCKED; - //} - // a + if(!item->getPermissions().allowCopyBy(gAgent.getID(), + gAgent.getGroupID()) + || !item->getPermissions().allowTransferTo(LLUUID::null)) + { + return ACCEPT_NO_LOCKED; + } if(drop) { dropObject(obj, FALSE, TRUE, FALSE); diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp index 4793cf964..444cd47b4 100644 --- a/indra/newview/llviewermenufile.cpp +++ b/indra/newview/llviewermenufile.cpp @@ -468,167 +468,6 @@ void upload_error(const std::string& error_message, const std::string& label, co LLFilePicker::instance().reset(); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - class LLFileEnableCloseWindow : public view_listener_t { bool handleEvent(LLPointer event, const LLSD& userdata) @@ -959,6 +798,13 @@ void upload_new_resource(const std::string& src_filename, std::string name, return; } } + // + else if(exten == "ogg") + { + asset_type = LLAssetType::AT_SOUND; // tag it as audio + filename = src_filename; + } + // else if(exten == "tmp") { // This is a generic .lin resource file @@ -1124,13 +970,6 @@ void upload_new_resource(const std::string& src_filename, std::string name, // } // - // - else if(exten == "ogg") - { - asset_type = LLAssetType::AT_SOUND; // tag it as audio - filename = src_filename; - } - // else if (exten == "animatn") { asset_type = LLAssetType::AT_ANIMATION; @@ -1265,9 +1104,14 @@ void temp_upload_callback(const LLUUID& uuid, void* user_data, S32 result, LLExt perms->setMaskGroup(PERM_ALL); perms->setMaskNext(PERM_ALL); + LLUUID destination = gInventory.findCategoryUUIDForType(LLAssetType::AT_TEXTURE); + if (gSavedSettings.getBOOL("AscentUseSystemFolder") && gSavedSettings.getBOOL("AscentSystemTemporary")) + { + destination = gSystemFolderAssets; + } LLViewerInventoryItem* item = new LLViewerInventoryItem( item_id, - gLocalInventoryRoot, + destination, *perms, uuid, (LLAssetType::EType)data->mAssetInfo.mType, diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 6132094ae..7eedf9583 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -2001,7 +2001,7 @@ BOOL LLVOVolume::lineSegmentIntersect(const LLVector3& start, const LLVector3& e if (face_hit >= 0 && mDrawable->getNumFaces() > face_hit) { - LLFace* face = mDrawable->getFace(face_hit); + LLFace* face = mDrawable->getFace(face_hit); if (pick_transparent || !face->getTexture() || face->getTexture()->getMask(face->surfaceToTexture(tc, p, n))) { @@ -2414,7 +2414,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group) if (group->isState(LLSpatialGroup::MESH_DIRTY)) { - S32 num_mapped_veretx_buffer = LLVertexBuffer::sMappedCount ; + S32 num_mapped_vertex_buffer = LLVertexBuffer::sMappedCount ; group->mBuilt = 1.f; @@ -2473,7 +2473,7 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group) } //if not all buffers are unmapped - if(num_mapped_veretx_buffer != LLVertexBuffer::sMappedCount) + if(num_mapped_vertex_buffer != LLVertexBuffer::sMappedCount) { if (++warningsCount > 20) // Do not spam the log file uselessly... { diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml index a9d40c95b..45f936464 100644 --- a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml +++ b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml @@ -83,6 +83,18 @@ tool_tip="Confirms Power User activation. Turn this on at your own risk, and use any features it enables responsibly. Ascent devs will not replace anything you break if you ruin something important. Unlike most checkboxes, you must apply/ok changes before this will activate." mouse_opaque="true" name="power_user_confirm_check" radio_style="false" width="400" /> + +