diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index 4c8ea563e1..a320d61209 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -177,7 +177,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(CMAKE_OSX_SYSROOT macosx10.9) message(STATUS "OS X SDK 10.9 found.") else(IS_DIRECTORY "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk") - error("Unable to determine which OS X SDK to use. Giving up.") + message(FATAL_ERROR "Unable to determine which OS X SDK to use. Giving up.") endif(IS_DIRECTORY "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk") set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") diff --git a/indra/llui/llfolderviewitem.cpp b/indra/llui/llfolderviewitem.cpp index 92ab2ed10e..7a59e11d08 100644 --- a/indra/llui/llfolderviewitem.cpp +++ b/indra/llui/llfolderviewitem.cpp @@ -179,7 +179,10 @@ LLFolderViewItem::LLFolderViewItem(const LLFolderViewItem::Params& p) sMouseOverColor = LLUIColorTable::instance().getColor("InventoryMouseOverColor", DEFAULT_WHITE); sFilterBGColor = LLUIColorTable::instance().getColor("FilterBackgroundColor", DEFAULT_WHITE); sFilterTextColor = LLUIColorTable::instance().getColor("FilterTextColor", DEFAULT_WHITE); - sSuffixColor = LLUIColorTable::instance().getColor("InventoryItemColor", DEFAULT_WHITE); + // Fix misleading color name + //sSuffixColor = LLUIColorTable::instance().getColor("InventoryItemColor", DEFAULT_WHITE); + sSuffixColor = LLUIColorTable::instance().getColor("InventoryItemSuffixColor", DEFAULT_WHITE); + // sSearchStatusColor = LLUIColorTable::instance().getColor("InventorySearchStatusColor", DEFAULT_WHITE); // Special for protected items sProtectedColor = LLUIColorTable::instance().getColor("InventoryProtectedColor", DEFAULT_WHITE); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index dbbade44dd..58bc5bc50f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -24511,6 +24511,17 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 + FSAppearanceShowHints + + Comment + If enabled, show visual hints (avatar images) in appearance editor + Persist + 1 + Type + Boolean + Value + 1 + diff --git a/indra/newview/chatbar_as_cmdline.cpp b/indra/newview/chatbar_as_cmdline.cpp index b2392b1fed..9e6a86afeb 100644 --- a/indra/newview/chatbar_as_cmdline.cpp +++ b/indra/newview/chatbar_as_cmdline.cpp @@ -805,6 +805,16 @@ bool cmd_line_chat(const std::string& revised_text, EChatType type, bool from_ge } return false; } + else if (command == "/zoffset_up") + { + gSavedPerAccountSettings.setF32("AvatarHoverOffsetZ", gSavedPerAccountSettings.getF32("AvatarHoverOffsetZ") + 0.05f); + return false; + } + else if (command == "/zoffset_down") + { + gSavedPerAccountSettings.setF32("AvatarHoverOffsetZ", gSavedPerAccountSettings.getF32("AvatarHoverOffsetZ") - 0.05f); + return false; + } else if (command == sFSCmdLineOfferTp()) { LLUUID target_key; diff --git a/indra/newview/fonts/CelestiaMediumRedux-NOTICE.txt b/indra/newview/fonts/CelestiaMediumRedux-NOTICE.txt new file mode 100644 index 0000000000..fc18dcce3b --- /dev/null +++ b/indra/newview/fonts/CelestiaMediumRedux-NOTICE.txt @@ -0,0 +1 @@ +This font is released into the Public Domain, so you can freely use it how you want, you can freely redistribute it, and you can freely modify it. \ No newline at end of file diff --git a/indra/newview/fonts/CelestiaMediumRedux1.55.ttf b/indra/newview/fonts/CelestiaMediumRedux1.55.ttf new file mode 100644 index 0000000000..4745164286 Binary files /dev/null and b/indra/newview/fonts/CelestiaMediumRedux1.55.ttf differ diff --git a/indra/newview/fonts/fonts_celestia_medium_redux.xml b/indra/newview/fonts/fonts_celestia_medium_redux.xml new file mode 100644 index 0000000000..b65209f2ea --- /dev/null +++ b/indra/newview/fonts/fonts_celestia_medium_redux.xml @@ -0,0 +1,189 @@ + + + + + CelestiaMediumRedux1.55.ttf + + YuGothR.ttc + MSGOTHIC.TTC + gulim.ttc + simhei.ttf + ArialUni.ttf + seguisym.ttf + nirmala.ttf + tahoma.ttf + + + ヒラギノ角ゴシック W3.ttc + ヒラギノ角ゴ Pro W3.otf + ヒラギノ角ゴ ProN W3.otf + ヒラギノ明朝 ProN W3.ttc + + AppleSDGothicNeo.ttc + + AppleGothic.dfont + AppleGothic.ttf + AppleSDGothicNeo-Regular.otf + 华文细黑.ttf + + + + + CelestiaMediumRedux1.55.ttf + + arialbd.ttf + + + Helvetica.dfont + + + + + CelestiaMediumRedux1.55.ttf + + arial.ttf + + + Helvetica.dfont + + + + + CelestiaMediumRedux1.55.ttf + + + + CelestiaMediumRedux1.55.ttf + + + + CelestiaMediumRedux1.55.ttf + + + + DejaVuSansMono.ttf + + + + SourceCodePro-Regular.ttf + + + + ocra.ttf + + + + DejaVuSans.ttf + + + + DejaVuSans-Bold.ttf + + + + DejaVuSans-Oblique.ttf + + + + DejaVuSans-BoldOblique.ttf + + + + DejaVuSans.ttf + + arial.ttf + + + arial.ttf + + + + + DejaVuSans-Bold.ttf + + arialbd.ttf + + + arialbd.ttf + + + + + DejaVuSans-Oblique.ttf + + ariali.ttf + + + ariali.ttf + + + + + DejaVuSans-BoldOblique.ttf + + arialbi.ttf + + + arialbi.ttf + + + + + times.ttf + DejaVuSans.ttf + + + + + + + + + + diff --git a/indra/newview/fscommon.cpp b/indra/newview/fscommon.cpp index 222a147d7f..54ac09b229 100644 --- a/indra/newview/fscommon.cpp +++ b/indra/newview/fscommon.cpp @@ -163,7 +163,7 @@ S32 FSCommon::secondsSinceEpochFromString(const std::string& format, const std:: void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object) { - if (!object) + if (!object || !object->getRegion()) { return; } @@ -173,28 +173,28 @@ void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object) texture_entry.setColor(gSavedSettings.getColor4("FSBuildPrefs_Color")); texture_entry.setAlpha((100.f - gSavedSettings.getF32("FSBuildPrefs_Alpha")) / 100.f); texture_entry.setGlow(gSavedSettings.getF32("FSBuildPrefs_Glow")); - if(gSavedSettings.getBOOL("FSBuildPrefs_FullBright")) + if (gSavedSettings.getBOOL("FSBuildPrefs_FullBright")) { texture_entry.setFullbright(TEM_FULLBRIGHT_MASK); } U8 shiny = 0; // Default none std::string shininess = gSavedSettings.getString("FSBuildPrefs_Shiny"); - if(shininess == "Low") + if (shininess == "Low") { shiny = 1; } - else if(shininess == "Medium") + else if (shininess == "Medium") { shiny = 2; } - else if(shininess == "High") + else if (shininess == "High") { shiny = 3; } texture_entry.setShiny(shiny); - for(U8 face = 0; face < object->getNumTEs(); face++) + for (U8 face = 0; face < object->getNumTEs(); face++) { object->setTE(face, texture_entry); } @@ -234,10 +234,10 @@ void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object) { gMessageSystem->newMessageFast(_PREHASH_ObjectPermissions); gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); + gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgentID); + gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgentSessionID); gMessageSystem->nextBlockFast(_PREHASH_HeaderData); - gMessageSystem->addBOOLFast(_PREHASH_Override, (BOOL)FALSE); + gMessageSystem->addBOOLFast(_PREHASH_Override, FALSE); gMessageSystem->nextBlockFast(_PREHASH_ObjectData); gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); gMessageSystem->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER); @@ -258,13 +258,13 @@ void FSCommon::applyDefaultBuildPreferences(LLViewerObject* object) gMessageSystem->newMessage(_PREHASH_ObjectFlagUpdate); gMessageSystem->nextBlockFast(_PREHASH_AgentData); - gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); - gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); + gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgentID); + gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgentSessionID); gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, object_local_id); gMessageSystem->addBOOLFast(_PREHASH_UsePhysics, gSavedSettings.getBOOL("FSBuildPrefs_Physical")); gMessageSystem->addBOOL(_PREHASH_IsTemporary, gSavedSettings.getBOOL("FSBuildPrefs_Temporary")); gMessageSystem->addBOOL(_PREHASH_IsPhantom, gSavedSettings.getBOOL("FSBuildPrefs_Phantom")); - gMessageSystem->addBOOL("CastsShadows", FALSE ); + gMessageSystem->addBOOL("CastsShadows", FALSE); gMessageSystem->sendReliable(object->getRegion()->getHost()); } diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index ee4cec2a09..b06362fe4b 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -895,7 +895,7 @@ void LLFavoritesBarCtrl::updateButtons() return; } - if(mGetPrevItems) + if(mGetPrevItems && gInventory.isCategoryComplete(mFavoriteFolderId)) { for (LLInventoryModel::item_array_t::iterator it = mItems.begin(); it != mItems.end(); it++) { diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index a54553ecb0..9cc5f23ebc 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -689,12 +689,6 @@ BOOL LLFloaterPreference::postBuild() //getChild("NearbyChatOptions")->setCommitCallback(boost::bind(&LLFloaterPreference::onNotificationsChange, this,"NearbyChatOptions")); //getChild("ObjectIMOptions")->setCommitCallback(boost::bind(&LLFloaterPreference::onNotificationsChange, this,"ObjectIMOptions")); // - - // Optional Edit Appearance Lighting - gSavedSettings.getControl("AppearanceCameraMovement")->getCommitSignal()->connect(boost::bind(&LLFloaterPreference::onAppearanceCameraChanged, this)); - onAppearanceCameraChanged(); - // Optional Edit Appearance Lighting - // if floater is opened before login set default localized do not disturb message if (LLStartUp::getStartupState() < STATE_STARTED) @@ -889,14 +883,6 @@ void LLFloaterPreference::onDoNotDisturbResponseChanged() // } -// Optional Edit Appearance Lighting -void LLFloaterPreference::onAppearanceCameraChanged() -{ - BOOL enable = gSavedSettings.getBOOL("AppearanceCameraMovement"); - getChild("EditAppearanceLighting")->setEnabled(enable); -} -// Optional Edit Appearance Lighting - LLFloaterPreference::~LLFloaterPreference() { /* Dead code - "windowsize combo" is not in any of the skin files, except for the diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h index 88bbf593eb..20bf1c1bc4 100644 --- a/indra/newview/llfloaterpreference.h +++ b/indra/newview/llfloaterpreference.h @@ -36,7 +36,6 @@ #include "llfloater.h" #include "llavatarpropertiesprocessor.h" #include "llconversationlog.h" -#include "lllineeditor.h" // #include "llsearcheditor.h" namespace nd @@ -57,6 +56,7 @@ class LLSliderCtrl; class LLSD; class LLTextBox; class LLComboBox; +class LLLineEditor; typedef std::map notifications_map; @@ -150,11 +150,6 @@ protected: void updateClickActionControls(); // updates UI Sounds controls depending on values from settings.xml void updateUISoundsControls(); - - // Optional Edit Appearance Lighting - // make sure controls get greyed out or enabled when appearance camera movement is toggled - void onAppearanceCameraChanged(); - // Optional Edit Appearance Lighting // Font Selection void populateFontSelectionCombo(); diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 16cdc28060..fe3b72d86f 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -314,7 +314,7 @@ void LLFloaterRegionInfo::requestRegionInfo() void LLFloaterRegionInfo::processEstateOwnerRequest(LLMessageSystem* msg,void**) { static LLDispatcher dispatch; - LLFloaterRegionInfo* floater = LLFloaterReg::getTypedInstance("region_info"); + LLFloaterRegionInfo* floater = LLFloaterReg::findTypedInstance("region_info"); if(!floater) { return; @@ -350,7 +350,7 @@ void LLFloaterRegionInfo::processEstateOwnerRequest(LLMessageSystem* msg,void**) void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg) { LLPanel* panel; - LLFloaterRegionInfo* floater = LLFloaterReg::getTypedInstance("region_info"); + LLFloaterRegionInfo* floater = LLFloaterReg::findTypedInstance("region_info"); if(!floater) { return; diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 476b6e9548..fc5665231c 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -608,6 +608,7 @@ void LLInventoryPanel::modelChanged(U32 mask) { setSelection(item_id, FALSE); } + updateFolderLabel(model_item->getParentUUID()); } ////////////////////////////// @@ -619,6 +620,7 @@ void LLInventoryPanel::modelChanged(U32 mask) // Don't process the item if it is the root if (old_parent) { + LLFolderViewModelItemInventory* viewmodel_folder = static_cast(old_parent->getViewModelItem()); LLFolderViewFolder* new_parent = (LLFolderViewFolder*)getItemByID(model_item->getParentUUID()); // Item has been moved. if (old_parent != new_parent) @@ -636,6 +638,7 @@ void LLInventoryPanel::modelChanged(U32 mask) setSelection(item_id, FALSE); } } + updateFolderLabel(model_item->getParentUUID()); } else { @@ -647,6 +650,10 @@ void LLInventoryPanel::modelChanged(U32 mask) // doesn't include trash). Just remove the item's UI. view_item->destroyView(); } + if(viewmodel_folder) + { + updateFolderLabel(viewmodel_folder->getUUID()); + } old_parent->getViewModelItem()->dirtyDescendantsFilter(); } } @@ -664,6 +671,11 @@ void LLInventoryPanel::modelChanged(U32 mask) if(parent) { parent->getViewModelItem()->dirtyDescendantsFilter(); + LLFolderViewModelItemInventory* viewmodel_folder = static_cast(parent->getViewModelItem()); + if(viewmodel_folder) + { + updateFolderLabel(viewmodel_folder->getUUID()); + } } } } @@ -1234,6 +1246,23 @@ void LLInventoryPanel::onSelectionChange(const std::deque& it } +void LLInventoryPanel::updateFolderLabel(const LLUUID& folder_id) +{ + if(folder_id != mPreviousSelectedFolder) return; + + LLFolderViewItem* folder_item = getItemByID(mPreviousSelectedFolder); + if(folder_item) + { + LLFolderBridge* bridge = (LLFolderBridge*)folder_item->getViewModelItem(); + if(bridge) + { + bridge->clearDisplayName(); + bridge->setShowDescendantsCount(true); + folder_item->refresh(); + } + } +} + void LLInventoryPanel::doCreate(const LLSD& userdata) { // FIRE-20108: Can't create new folder in secondary inventory if view is filtered diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index 58604276a5..4e420a753e 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -218,6 +218,8 @@ public: // Optional hiding of Inbox folder void updateShowInboxFolder(const LLSD &data); + void updateFolderLabel(const LLUUID& folder_id); + // DEBUG ONLY: static void dumpSelectionInformation(void* user_data); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 71de6ae3aa..ef336ceb2b 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -1634,6 +1634,9 @@ void LLPanelEditWearable::getSortedParams(value_map_t &sorted_params, const std: void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab, LLJoint* jointp) { + // FIRE-21936: Option to disable visual hints for appearance editor + BOOL show_hints = gSavedSettings.getBOOL("FSAppearanceShowHints"); + // sorted_params is sorted according to magnitude of effect from // least to greatest. Adding to the front of the child list // reverses that order. @@ -1647,7 +1650,10 @@ void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value p.name("LLScrollingPanelParam"); LLViewerWearable *wearable = this->getWearable(); LLScrollingPanelParamBase *panel_param = NULL; - if (wearable && wearable->getType() == LLWearableType::WT_PHYSICS) // Hack to show a different panel for physics. Should generalize this later. + // FIRE-21936: Option to disable visual hints for appearance editor + //if (wearable && wearable->getType() == LLWearableType::WT_PHYSICS) // Hack to show a different panel for physics. Should generalize this later. + if (!show_hints || (wearable && wearable->getType() == LLWearableType::WT_PHYSICS)) // Hack to show a different panel for physics. Should generalize this later. + // { panel_param = new LLScrollingPanelParamBase( p, NULL, (*it).second, TRUE, this->getWearable(), jointp); } diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 4cd66c9f40..24c33b7c2e 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -3099,7 +3099,8 @@ BOOL LLPanelGroupBanListSubTab::postBuildSubTab(LLView* root) // Fix Baker's NameListCtrl un-fix //mBanList->setOnNameListCompleteCallback(boost::bind(&LLPanelGroupBanListSubTab::onBanListCompleted, this, _1)); - populateBanList(); + // Don't do this - it will cause populateBanList() being called twice because activate() is being called when switching to a tab, also calling populateBanList() + //populateBanList(); setFooterEnabled(FALSE); return TRUE; diff --git a/indra/newview/llpanelmarketplaceinbox.cpp b/indra/newview/llpanelmarketplaceinbox.cpp index 79e079f6bd..2842e5fda3 100644 --- a/indra/newview/llpanelmarketplaceinbox.cpp +++ b/indra/newview/llpanelmarketplaceinbox.cpp @@ -69,11 +69,17 @@ BOOL LLPanelMarketplaceInbox::postBuild() return TRUE; } -void LLPanelMarketplaceInbox::onSelectionChange() +// FIRE-21948: Show element count in Received Items folder +//void LLPanelMarketplaceInbox::onSelectionChange() +void LLPanelMarketplaceInbox::onSelectionChange(const std::deque& items, BOOL user_action) +// { LLSidepanelInventory* sidepanel_inventory = LLFloaterSidePanelContainer::getPanel("inventory"); sidepanel_inventory->updateVerbs(); + + // FIRE-21948: Show element count in Received Items folder + mInventoryPanel->onSelectionChange(items, user_action); } @@ -98,7 +104,10 @@ LLInventoryPanel * LLPanelMarketplaceInbox::setupInventoryPanel() mInventoryPanel->getFilter().markDefault(); // Set selection callback for proper update of inventory status buttons - mInventoryPanel->setSelectCallback(boost::bind(&LLPanelMarketplaceInbox::onSelectionChange, this)); + // FIRE-21948: Show element count in Received Items folder + //mInventoryPanel->setSelectCallback(boost::bind(&LLPanelMarketplaceInbox::onSelectionChange, this)); + mInventoryPanel->setSelectCallback(boost::bind(&LLPanelMarketplaceInbox::onSelectionChange, this, _1, _2)); + // // Set up the note to display when the inbox is empty mInventoryPanel->getFilter().setEmptyLookupMessage("InventoryInboxNoItems"); diff --git a/indra/newview/llpanelmarketplaceinbox.h b/indra/newview/llpanelmarketplaceinbox.h index 9eb74581a2..3da68368f6 100644 --- a/indra/newview/llpanelmarketplaceinbox.h +++ b/indra/newview/llpanelmarketplaceinbox.h @@ -28,6 +28,7 @@ #define LL_LLPANELMARKETPLACEINBOX_H #include "llpanel.h" +#include "llfolderview.h" class LLButton; class LLInventoryPanel; @@ -63,7 +64,10 @@ public: private: - void onSelectionChange(); + // FIRE-21948: Show element count in Received Items folder + //void onSelectionChange(); + void onSelectionChange(const std::deque& items, BOOL user_action); + // void onFocusReceived(); diff --git a/indra/newview/llsurfacepatch.cpp b/indra/newview/llsurfacepatch.cpp index c956b58c75..3913180c06 100644 --- a/indra/newview/llsurfacepatch.cpp +++ b/indra/newview/llsurfacepatch.cpp @@ -1004,14 +1004,26 @@ void LLSurfacePatch::updateVisibility() if (mVObjp) { mVObjp->dirtyGeom(); - if (getNeighborPatch(WEST)) + // FIRE-19720: Crash when teleporting on Littlefield grid - LLVOSurfacePatch::dirtyGeom() + //if (getNeighborPatch(WEST)) + //{ + // getNeighborPatch(WEST)->mVObjp->dirtyGeom(); + //} + //if (getNeighborPatch(SOUTH)) + //{ + // getNeighborPatch(SOUTH)->mVObjp->dirtyGeom(); + //} + LLSurfacePatch* neighbor = getNeighborPatch(WEST); + if (neighbor && neighbor->mVObjp.notNull()) { - getNeighborPatch(WEST)->mVObjp->dirtyGeom(); + neighbor->mVObjp->dirtyGeom(); } - if (getNeighborPatch(SOUTH)) + neighbor = getNeighborPatch(SOUTH); + if (neighbor && neighbor->mVObjp.notNull()) { - getNeighborPatch(SOUTH)->mVObjp->dirtyGeom(); + neighbor->mVObjp->dirtyGeom(); } + // } } mVisInfo.mbIsVisible = TRUE; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 979a6ec33d..56d73c108c 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -743,7 +743,7 @@ void LLVOVolume::updateTextures() if (mDrawable.notNull() && !isVisible() && !mDrawable->isActive()) { //delete vertex buffer to free up some VRAM LLSpatialGroup* group = mDrawable->getSpatialGroup(); - if (group) + if (group && (group->mVertexBuffer.notNull() || !group->mBufferMap.empty() || !group->mDrawMap.empty())) { group->destroyGL(true); diff --git a/indra/newview/skins/ansastorm/colors.xml b/indra/newview/skins/ansastorm/colors.xml index 923bbf11b6..dc22112b8d 100644 --- a/indra/newview/skins/ansastorm/colors.xml +++ b/indra/newview/skins/ansastorm/colors.xml @@ -70,6 +70,9 @@ + @@ -756,6 +759,9 @@ + diff --git a/indra/newview/skins/ansastorm/themes/classic_brown/colors.xml b/indra/newview/skins/ansastorm/themes/classic_brown/colors.xml index dcc7814cbc..b803184af8 100644 --- a/indra/newview/skins/ansastorm/themes/classic_brown/colors.xml +++ b/indra/newview/skins/ansastorm/themes/classic_brown/colors.xml @@ -70,6 +70,9 @@ + @@ -756,6 +759,9 @@ + diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 5b0d04a202..43af60767a 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -70,6 +70,9 @@ + @@ -696,6 +699,9 @@ + diff --git a/indra/newview/skins/default/xui/de/panel_preferences_move.xml b/indra/newview/skins/default/xui/de/panel_preferences_move.xml index 96c9b1039c..1ef6c8bed3 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_move.xml @@ -14,7 +14,8 @@ - + + diff --git a/indra/newview/skins/default/xui/en/panel_preferences_move.xml b/indra/newview/skins/default/xui/en/panel_preferences_move.xml index fc150a3419..07dd53dcec 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_move.xml @@ -148,7 +148,7 @@ follows="left|top" label="Build/Edit" layout="topleft" - left_delta="30" + left_delta="10" name="edit_camera_movement" tool_tip="Use automatic camera positioning when entering and exiting edit mode" width="280" @@ -163,6 +163,7 @@ tool_tip="Use automatic camera positioning while in edit mode" width="100" /> + OpenDyslexic Deja Vu All Caps Noto Sans + Celestia Medium Redux Unknown Mode Firestorm Phoenix diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_move.xml b/indra/newview/skins/default/xui/pl/panel_preferences_move.xml index 5b07d98e40..129da4a433 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_move.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_move.xml @@ -14,6 +14,7 @@ + diff --git a/indra/newview/skins/firestorm/colors.xml b/indra/newview/skins/firestorm/colors.xml index 0bd58b93bb..21fcb51cdb 100644 --- a/indra/newview/skins/firestorm/colors.xml +++ b/indra/newview/skins/firestorm/colors.xml @@ -67,6 +67,9 @@ + @@ -552,6 +555,9 @@ +