From 37a95ce589c39ff50528092580ca767556272a64 Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Sat, 3 Jul 2010 10:50:26 -0700 Subject: If controls are missing from a skin's colors_base.xml, use the values in the default skin instead of crashing (from Emerald) --- linden/indra/newview/llappviewer.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index b810abe..7d2dac8 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -652,6 +652,17 @@ bool LLAppViewer::init() { LLError::setPrintLocation(true); } + + // ZWAGOTH: This resolves a bunch of skin updating problems and makes skinning + // SIGNIFICANLTLY easier. User colors > skin colors > default skin colors. + // This also will get rid of the Invalid control... spam when a skin doesn't have that color + // setting defined as long as we keep the default skin up to date. Maybe make invalid controls + // errors again? + std::string default_base_filename = gDirUtilp->getExpandedFilename(LL_PATH_SKINS, + "default", + "colors_base.xml"); + LL_DEBUGS("InitInfo") << "Loading default base colors from " << default_base_filename << LL_ENDL; + gColors.loadFromFileLegacy(default_base_filename, FALSE, TYPE_COL4U); // Load art UUID information, don't require these strings to be declared in code. std::string colors_base_filename = gDirUtilp->findSkinnedFilename("colors_base.xml"); -- cgit v1.1