summaryrefslogtreecommitdiff
path: root/indra/llvfs
AgeCommit message (Collapse)Author
2013-01-04Automated merge with http://bitbucket.org/lindenlab/viewer-developmentRichard Linden
2012-12-16MergedAura Linden
2012-12-16Fixed small one-time memory leaks.Aura Linden
2012-12-14BOOL vs bool FIGHTAura Linden
2012-12-13Fixes from Oz's merge.Aura Linden
2012-12-13merge changes for DRTVWR-244Oz Linden
2012-12-11Merged from viewer-releaseAura Linden
2012-12-11Crash reporter fixed, debugging removed.Aura Linden
2012-12-11Interim debug checkin to test from teamcityAura Linden
2012-11-30Removed logging.Aura Linden
2012-11-29Crashlogger only runs when it comes from teamcity so I must checkin debug ↵Aura Linden
and wait. What fun.
2012-11-27New VFS objects included in every bite!Aura Linden
2012-11-19merge with viewer-developmentRichard Linden
2012-11-16Some Mac header #defines macros like check and equivalent -- gack!!Nat Goodspeed
Given that third-party libraries (such as Boost) can and do use those names, properly namespace-scoped, it's unpardonable to break any such innocent usage with a macro. Given the pervasiveness of the need, introduce a header file with the requisite #undef directives.
2012-11-16Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
cleaning up build moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc streamlined Time class and consolidated functionality in BlockTimer class llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-11-12Ported slplugin and some other missing components for cocoa.Aura Linden
2012-11-12First round of fixes to make viewer work with Boost 1.52callum_linden
2012-11-06Automated merge with http://hg.secondlife.com/viewer-developmentNat Goodspeed
2012-11-01SH-3405 FIX convert existing stats to lltrace systemRichard Linden
final removal of remaining LLStat code
2012-10-23Allow user to override either English, or localized, skinned file.Nat Goodspeed
Original LLDir::findSkinnedFilenames() implementation used a tricky rule: a given skin directory was only considered if it provided a default-language override for the sought filename, regardless of whether it also provided localizations for that filename. Discussion with Richard clarifies that we want to allow the user to override neither, either or both. Change findSkinnedFilenames() accordingly; update unit tests to verify new semantics.
2012-10-12Fix LLUI::locateSkin() failure case; clarify lldir.cpp static init.Nat Goodspeed
Per code review: Previous refactoring of LLUI::locateSkin() preserved odd failure behavior: it would return last-considered pathname, whether or not it exists. Changed to emit LL_WARNS log message and return empty string. Use Boost.Assign to simplify initialization of a couple static containers in lldir.cpp.
2012-10-11Change LLDir::findSkinnedFilenames() to use enum instead of bool.Nat Goodspeed
At Richard's suggestion, changed the bool merge parameter to new enum ESkinConstraint with values CURRENT_SKIN and ALL_SKINS. This clarifies what we're requesting at the point of the call.
2012-10-10Introduce new LLDir::findSkinnedFilenames() method. Use as needed.Nat Goodspeed
In a number of different places, for different reasons, the viewer wants to load a UI-related file that might be overridden by a non-default skin; and within that skin, might further be overridden by a non-default language. Apparently, for each of those use cases, every individual developer approached it as an entirely new problem, solving it idiosyncratically for that one case. Not only is this a maintenance problem, but it rubs one's nose in the fact that most such solutions consider only a subset of the relevant skin directories. Richard and I evolved an API intended to address all such cases: a central LLDir method returning a list of relevant pathnames, from most general to most localized, filtered to present only existing files; plus a couple of convenience methods to specifically obtain the most general and most localized available file. There were several load-skinned-file methods (LLFloater::buildFromFile(), LLPanel::buildFromFile() and LLUICtrlFactory::createFromFile() -- apparently cloned-and-modified from each other) that contained funky bolted-on logic to output the loaded data to an optional passed LLXMLNodePtr param. The trouble is that passing that param forced each of these methods to subvert its normal search: specifically for that case, it needed to find the baseline XML file instead of the localized one. Richard agreed that for the intended usage (reformatting XML files) we should use XML schema instead, and that the hacky functionality should be removed. Remove it. Also remove LLUICtrlFactory::getLocalizedXMLNode(), only used for those three special cases. Some callers explicitly passed the optional LLXMLNodePtr param as NULL. Remove that. Remove LLFloaterUIPreview::displayFloater(save) param, which relied on the optional output LLXMLNodePtr param. Make onClickSaveFloater() and onClickSaveAll() emit popupAndPrintWarning() about discontinued functionality. Recast LLFloater::buildFromFile(), LLPanel::buildFromFile(), LLUICtrlFactory::createFromFile(), LLNotifications::loadTemplates(), LLUI::locateSkin(), LLFontRegistry::parseFontInfo(), LLUIColorTable::loadFromSettings(), LLUICtrlFactory::loadWidgetTemplate(), LLUICtrlFactory::getLayeredXMLNode(), LLUIImageList::initFromFile(), LLAppViewer::launchUpdater() and LLMediaCtrl::navigateToLocalPage() to use findSkinnedFilenames(). (Is LLAppViewer::launchUpdater() ever called any more? Apparently so -- though the linux-updater.bin logic to process the relevant command-line switch has been disabled. Shrug.) (Is LLMediaCtrl::navigateToLocalPage() ever used?? If so, why?) Remove LLUI::setupPaths(), getXUIPaths(), getSkinPath() and getLocalizedSkinPath(). Remove the skins/paths.xml file read by setupPaths(). The only configuration it contained was the pair of partial paths "xui/en" and "xui/[LANGUAGE]" -- hardly likely to change. getSkinPath() specifically returned the first of these, while getLocalizedSkinPath() specifically returned the second. This knowledge is now embedded in findSkinnedFilenames(). Also remove paths.xml from viewer_manifest.py. Remove injected xui_paths from LLFontGL::initClass() and LLFontRegistry::LLFontRegistry(). These are no longer needed since LLFontRegistry can now directly consult LLDir for its path search. Stop passing LLUI::getXUIPaths() to LLFontGL::initClass() in LLViewerWindow's constructor and initFonts() method. Add LLDir::append() and add() methods for the simple task of combining two path components separated by getDirDelimiter() -- but only if they're both non-empty. Amazing how often that logic is replicated. Replace some existing concatenations with add() or append(). New LLDir::findSkinnedFilenames() method must know current language. Allow injecting current language by adding an LLDir::setSkinFolder(language) param, and pass it where LLAppViewer::init() and initConfiguration() currently call setSkinFolder(). Also add LLDir::getSkinFolder() and getLanguage() methods. Change LLFLoaterUIPreview's LLLocalizationResetForcer helper to "forcibly reset language" using LLDir::setSkinFolder() instead of LLUI::setupPaths(). Update LLDir stubs in lldir_stub.cpp and llupdaterservice_test.cpp. Add LLDir::getUserDefaultSkinDir() to obtain often-overlooked possible skin directory -- like getUserSkinDir() but with "default" in place of the current skin name as the last path component. (However, we hope findSkinnedFilenames() obviates most explicit use of such individual skin directory pathnames.) Add LLDir unit tests for new findSkinnedFilenames() and add() methods -- the latter exercises append() as well. Tweak indra/integration_tests/llui_libtest/llui_libtest.cpp for all the above. Notably, comment out its export_test_floaters() function, since the essential LLFloater::buildFromFile(optional LLXMLNodePtr) functionality has been removed. This may mean that llui_libtest.cpp has little remaining value, not sure.
2012-07-25Reverted boost/cocoa changes to purely Mountain Lion fixes.Aura Linden
2012-07-25Some cocoa that doesn't workAura Linden
2012-07-24Eliminated countFilesInDir boostified getCurPath for OSXAura Linden
2012-04-26Automated merge with http://hg.secondlife.com/viewer-releaseNat Goodspeed
2012-03-19MAINT-141, MAINT-95, MAINT-62 FIXED Don't delete files using masks starting ↵Vadim ProductEngine
with "/". Encountering such a mask will show a warning message and throw a debug assertion.
2012-02-01converted a bunch of narrowing implicit conversions to explicitRichard Linden
2011-08-17convert tabs to spaces where they are forbiddenOz Linden
2011-07-07STORM-1476 FIXED Replaced non-fatal errors in LLDirIterator constructor with ↵seth_productengine
warnings to avoid viewer crashes. Added exception handling case.
2011-06-21CHOP-662 cleanup in response to code review.Squire
2011-06-20CHOP-662 Coupl of fixes to extended unit-testSquire
2011-06-20Added more tests to cover the common examples in the crash logsSquire
2011-06-17CHOP-662 Added booost library to unittest for lldiriterator.cppSquire
2011-06-17COP-662 Added newline at end of file for Linux buildSquire
2011-06-17CHOP-662 - initial fix to problems with regex characters in Group namesSquire
causing the LLDirIterator to crash the viewer when opening chat logs
2011-05-27VWR-25861 VWR-25862 Removed LLDir_Mac::deleteFilesInDir() virtual method.Logan Dethrow
The LLDir base class method will now be used instead. The handling of the mask parameter was inconsistent between the two implementations, and the failure to remove the old method was probably just an oversight.
2011-05-17pull back fix for STORM-1260 from beta branchOz Linden
2011-05-17STORM-1260 FIXED Replaced llerrs messages with llwarns in directory iterator ↵seth_productengine
code to avoid viewer halt when a cache dir is not found.
2011-05-16mergeDave Parks
2011-05-12mergeDave Parks
2011-05-11STORM-477 Restored the backed out changeset: b62b260aa04dSeth ProductEngine
2011-05-11STORM-477 Restored the backed out changeset: c9cc202293b7Seth ProductEngine
2011-05-03Merge.brad kittenbrink
2011-05-02mergeDave Parks
2011-04-27Fix for mac compile error in VWR-25608 fix.brad kittenbrink
2011-04-26FIX VWR-25608 error on shutdow due to buffer overflow in LLVFS::auditbrad kittenbrink
2011-04-26STORM-1182 Use string::rfind instead of string::findBoroondas Gupte
... so the last occurance of the build prefix in the executable path will be matched. This should avoid cuttung too much subdirs away if someone checks out the source to a path already containing "/build-darwin-" or "/build-linux-".