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
+
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 @@
+