diff options
| -rw-r--r-- | BuildParams | 104 | ||||
| -rw-r--r-- | indra/llvfs/CMakeLists.txt | 34 | ||||
| -rw-r--r-- | indra/llvfs/lldiriterator.cpp | 21 | ||||
| -rw-r--r-- | indra/llvfs/tests/lldiriterator_test.cpp | 65 | ||||
| -rw-r--r-- | indra/newview/lllogchat.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpreviewnotecard.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/de/floater_snapshot.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/de/floater_tools.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_tools.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_cof_wearables.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/es/panel_navigation_bar.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/es/strings.xml | 3 | 
13 files changed, 143 insertions, 127 deletions
diff --git a/BuildParams b/BuildParams index 348228784d..db16541aad 100644 --- a/BuildParams +++ b/BuildParams @@ -72,25 +72,6 @@ viewer-pre-release.build_viewer_update_version_manager = true  #viewer-pre-release.release-viewer.jira = DRTVWR-46 -# ======================================= -# brad -# ======================================== -debug-halting.email = cg@lindenlab.com -debug-halting.build_server = false -debug-halting.build_server_tests = false -debug-halting.build_Darwin = false -debug-halting.build_Linux = false -debug-halting.build_CYGWIN_Debug = false -debug-halting.build_CYGWIN_RelWithDebInfo = false - -# ======================================== -# brad -# ======================================== - -brad-parabuild.email = brad@lindenlab.com -brad-parabuild.build_server = false -brad-parabuild.build_server_tests = false -  # ========================================  # mesh-development  # ======================================== @@ -132,53 +113,9 @@ viewer-mesh.email = shining@lists.lindenlab.com  # CG  # ======================================== -cg_viewer-development_lenny.collect_metrics = true  cg_viewer-development_lenny.show_changes_since = 4b140ce7839d  cg_viewer-development_lenny.email = cg@lindenlab.com -# ======================================== -# gooey -# ======================================== - -#gooey.email = james@lindenlab.com -gooey.build_Debug = false -gooey.build_RelWithDebInfo = false -gooey.build_server = false -gooey.build_server_tests = false -gooey.viewer_channel = "Second Life Alpha" -gooey.login_channel = "Second Life Alpha" -gooey.viewer_grid = agni -gooey.build_viewer_update_version_manager = false - -# ======================================== -# Search Project -# ======================================== - -search_project-viewer.build_debug_release_separately = true -search_project-viewer.viewer_channel = "Second Life Project Viewer - Search" -search_project-viewer.login_channel = "Second Life Project Viewer - Search" - -# ======================================== -# palange -# ======================================== - -palange_viewer-2-0.email = palange@lindenlab.com -palange_viewer-2-0.build_server = false -palange_viewer-2-0.build_server_tests = false -palange_viewer-2-0.build_CYGWIN_Debug = false - -# ======================================== -# media -# ======================================== - -media.email = skolb@lindenlab.com -media.build_server = false -media.build_server_tests = false -media.viewer_channel = "Second Life Alpha" -media.login_channel = "Second Life Alpha" -media.viewer_grid = agni -media.build_viewer_update_version_manager = false -  # ================  # oz  # ================ @@ -188,27 +125,23 @@ snowstorm_project-windlight.viewer_channel = "Second Life Project Windlight Regi  snowstorm_project-windlight.login_channel  = "Second Life Project Windlight Region"  oz_viewer-devreview.build_debug_release_separately = true - -viewer-devreview.build_debug_release_separately = true - -oz_viewer-poreview.build_debug_release_separately = true +oz_viewer-devreview.codeticket_add_context = false  oz_project-1.build_debug_release_separately = true - +oz_project-1.codeticket_add_context = false  oz_project-2.build_debug_release_separately = true +oz_project-2.codeticket_add_context = false  oz_project-3.build_debug_release_separately = true +oz_project-3.codeticket_add_context = false +oz_project-4.build_debug_release_separately = true +oz_project-4.codeticket_add_context = false +  oz_viewer-beta-review.build_debug_release_separately = true +oz_viewer-beta-review.codeticket_add_context = false +  oz_viewer-poreview.build_debug_release_separately = true  oz_viewer-poreview.codeticket_add_context = false -# ======================================== -# enus -# ======================================== - -viewer-tut-teamcity.email = enus@lindenlab.com -viewer-tut-teamcity.build_server = false -viewer-tut-teamcity.build_server_tests = false -  # =================================================================  # asset delivery 2010 projects  # ================================================================= @@ -226,23 +159,4 @@ viewer-asset-delivery-metrics.email = monty@lindenlab.com  viewer-asset-delivery-metrics.build_server = false  viewer-asset-delivery-metrics.build_server_tests = false -#============================================================================== -# autobuild viewers -#============================================================================== -viewer-autobuild2010.build_debug_release_separately = true -viewer-autobuild2010.viewer_channel = "Project Viewer - VS2010" -viewer-autobuild2010.login_channel = "Project Viewer - VS2010" -viewer-autobuild2010.viewer_grid = agni -viewer-autobuild2010.build_link_parallel = false - -#========================================  -# VS2010  -#========================================  -viewer-vs2010.viewer_channel = "Project Viewer - VS2010" -viewer-vs2010.login_channel = "Project Viewer - VS2010" -viewer-vs2010.viewer_grid = agni -viewer-vs2010.build_debug_release_separately = true -viewer-vs2010.build_viewer_update_version_manager = false -viewer-vs2010.build_link_parallel = false -  # eof diff --git a/indra/llvfs/CMakeLists.txt b/indra/llvfs/CMakeLists.txt index b6d1ce61e5..2c581cf8d6 100644 --- a/indra/llvfs/CMakeLists.txt +++ b/indra/llvfs/CMakeLists.txt @@ -62,11 +62,15 @@ list(APPEND llvfs_SOURCE_FILES ${llvfs_HEADER_FILES})  add_library (llvfs ${llvfs_SOURCE_FILES}) -target_link_libraries(llvfs +set(vfs_BOOST_LIBRARIES      ${BOOST_FILESYSTEM_LIBRARY}      ${BOOST_SYSTEM_LIBRARY}      ) +target_link_libraries(llvfs +    ${vfs_BOOST_LIBRARIES} +    ) +  if (DARWIN)    include(CMakeFindFrameworks)    find_library(CARBON_LIBRARY Carbon) @@ -76,15 +80,21 @@ endif (DARWIN)  # Add tests  if (LL_TESTS) -	include(LLAddBuildTest) -	# UNIT TESTS -	SET(llvfs_TEST_SOURCE_FILES -	  # none so far -	  ) -	LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}") - -	# INTEGRATION TESTS -	set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) -	# TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. -	LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}") +    include(LLAddBuildTest) +    # UNIT TESTS +    SET(llvfs_TEST_SOURCE_FILES +	lldiriterator.cpp +	) + +    set_source_files_properties(lldiriterator.cpp +	PROPERTIES +	LL_TEST_ADDITIONAL_LIBRARIES "${vfs_BOOST_LIBRARIES}" +	) +    LL_ADD_PROJECT_UNIT_TESTS(llvfs "${llvfs_TEST_SOURCE_FILES}") + +    # INTEGRATION TESTS +    set(test_libs llmath llcommon llvfs ${LLCOMMON_LIBRARIES} ${WINDOWS_LIBRARIES}) + +    # TODO: Some of these need refactoring to be proper Unit tests rather than Integration tests. +    LL_ADD_INTEGRATION_TEST(lldir "" "${test_libs}")  endif (LL_TESTS) diff --git a/indra/llvfs/lldiriterator.cpp b/indra/llvfs/lldiriterator.cpp index 041436ed92..25550321f0 100644 --- a/indra/llvfs/lldiriterator.cpp +++ b/indra/llvfs/lldiriterator.cpp @@ -121,6 +121,14 @@ bool LLDirIterator::Impl::next(std::string &fname)  	return found;  } +/** +Converts the incoming glob into a regex. This involves +converting incoming glob expressions to regex equivilents and +at the same time, escaping any regex meaningful characters which +do not have glob meaning, i.e. +            .()+|^$  +in the input. +*/  std::string glob_to_regex(const std::string& glob)  {  	std::string regex; @@ -135,9 +143,6 @@ std::string glob_to_regex(const std::string& glob)  		switch (c)  		{ -			case '.': -				regex+="\\."; -				break;  			case '*':  				if (glob.begin() == i)  				{ @@ -170,8 +175,16 @@ std::string glob_to_regex(const std::string& glob)  			case '!':  				regex+= square_brace_open ? '^' : c;  				break; +			case '.': // This collection have different regex meaning +			case '^': // and so need escaping. +			case '(':  +			case ')': +			case '+': +			case '|': +			case '$': +				regex += '\\';   			default: -				regex+=c; +				regex += c;  				break;  		} diff --git a/indra/llvfs/tests/lldiriterator_test.cpp b/indra/llvfs/tests/lldiriterator_test.cpp new file mode 100644 index 0000000000..505d86faa7 --- /dev/null +++ b/indra/llvfs/tests/lldiriterator_test.cpp @@ -0,0 +1,65 @@ +/** + * @file lldiriterator_test.cpp + * @date 2011-06 + * @brief LLDirIterator test cases. + * + * $LicenseInfo:firstyear=2011&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2011, Linden Research, Inc. + *  + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only., + *  + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * Lesser General Public License for more details. + *  + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA + *  + * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA + * $/LicenseInfo$ + */ + +#include "linden_common.h" +#include "lltut.h" +#include "../lldiriterator.h" + + +namespace tut +{ +     +    struct LLDirIteratorFixture +    { +        LLDirIteratorFixture() +        { +        } +    }; +    typedef test_group<LLDirIteratorFixture> LLDirIteratorTest_factory; +    typedef LLDirIteratorTest_factory::object LLDirIteratorTest_t; +    LLDirIteratorTest_factory tf("LLDirIterator"); + +    /* +    CHOP-662 was originally introduced to deal with crashes deleting files from +    a directory (VWR-25500). However, this introduced a crash looking for  +    old chat logs as the glob_to_regex function in lldiriterator wasn't escaping lots of regexp characters +    */ +    void test_chop_662(void) +    { +        //  Check a selection of bad group names from the crash reports  +        LLDirIterator iter(".","+bad-group-name]+??-??.*"); +        LLDirIterator iter1(".","))--@---bad-group-name2((??-??.*\\.txt"); +        LLDirIterator iter2(".","__^v--x)Cuide d sua vida(x--v^__??-??.*");  +    } + +    template<> template<> +	void LLDirIteratorTest_t::test<1>() +    { +       test_chop_662(); +    } + +} diff --git a/indra/newview/lllogchat.cpp b/indra/newview/lllogchat.cpp index efc4e23838..ebb5912ace 100644 --- a/indra/newview/lllogchat.cpp +++ b/indra/newview/lllogchat.cpp @@ -230,7 +230,7 @@ std::string LLLogChat::makeLogFileName(std::string filename)  std::string LLLogChat::cleanFileName(std::string filename)  { -	std::string invalidChars = "\"\'\\/?*:.<>|"; +    std::string invalidChars = "\"\'\\/?*:.<>|[]{}~"; // Cannot match glob or illegal filename chars  	std::string::size_type position = filename.find_first_of(invalidChars);  	while (position != filename.npos)  	{ diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp index 9f3ee6ac5d..4974dde282 100644 --- a/indra/newview/llpreviewnotecard.cpp +++ b/indra/newview/llpreviewnotecard.cpp @@ -401,15 +401,14 @@ struct LLSaveNotecardInfo  bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)  { -	if(!gAssetStorage) +	LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor"); + +	if(!editor)  	{ -		llwarns << "Not connected to an asset storage system." << llendl; +		llwarns << "Cannot get handle to the notecard editor." << llendl;  		return false;  	} -	 -	LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("Notecard Editor"); -  	if(!editor->isPristine())  	{  		// We need to update the asset information @@ -436,8 +435,15 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)  		// save it out to database  		if (item)  		{			 -			std::string agent_url = gAgent.getRegion()->getCapability("UpdateNotecardAgentInventory"); -			std::string task_url = gAgent.getRegion()->getCapability("UpdateNotecardTaskInventory"); +			const LLViewerRegion* region = gAgent.getRegion(); +			if (!region) +			{ +				llwarns << "Not connected to a region, cannot save notecard." << llendl; +				return false; +			} +			std::string agent_url = region->getCapability("UpdateNotecardAgentInventory"); +			std::string task_url = region->getCapability("UpdateNotecardTaskInventory"); +  			if (mObjectUUID.isNull() && !agent_url.empty())  			{  				// Saving into agent inventory @@ -472,6 +478,11 @@ bool LLPreviewNotecard::saveIfNeeded(LLInventoryItem* copyitem)  												(void*)info,  												FALSE);  			} +			else // !gAssetStorage +			{ +				llwarns << "Not connected to an asset storage system." << llendl; +				return false; +			}  		}  	}  	return true; diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml index c014b8e040..ae68c71a80 100644 --- a/indra/newview/skins/default/xui/de/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml @@ -4,7 +4,7 @@  		unbekannt  	</floater.string>  	<radio_group label="Fototyp" name="snapshot_type_radio"> -		<radio_item label="Email" name="postcard"/> +		<radio_item label="E-Mail" name="postcard"/>  		<radio_item label="Mein Inventar ([AMOUNT] L$)" name="texture"/>  		<radio_item label="Auf meinem Computer speichern" name="local"/>  	</radio_group> diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index 258e67a138..338b609343 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -64,9 +64,9 @@  		<radio_item label="Fläche auswählen" name="radio select face"/>  	</radio_group>  	<check_box label="Verknüpfte Teile bearbeiten" name="checkbox edit linked parts"/> -	<button label="Link" name="link_btn"/> -	<button label="Verknüpfung auflösen" name="unlink_btn"/> -	<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt"> +	<button label="Link" name="link_btn" width="30"/> +	<button label="Verknüpfung auflösen" name="unlink_btn" width="126"/> +	<text name="RenderingCost" tool_tip="Zeigt die errechneten Wiedergabekosten für dieses Objekt" left_pad="0">  		þ: [COUNT]  	</text>  	<check_box label="" name="checkbox uniform"/> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml index b874074c79..9175ea0bae 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml @@ -60,7 +60,7 @@  			m  		</text>  		<slider label="Max. Partikelzahl:" name="MaxParticleCount"/> -		<slider label="Max. Anzahl an voll dargestellten Avataren:" name="MaxNumberAvatarDrawn"/> +		<slider label="Max. Anzahl an voll dargestellten Avataren:" label_width="230" name="MaxNumberAvatarDrawn" width="315"/>  		<slider label="Post-Processing-Qualität:" name="RenderPostProcess"/>  		<text name="MeshDetailText">  			Darstellungsgrad: diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 7441b2cd9c..8b8f70b940 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -279,7 +279,7 @@       layout="topleft"       left_pad="2"       name="unlink_btn" -     width="50"> +     width="105">  	  <button.commit_callback  	     function="BuildTool.UnlinkObjects"/>      </button> diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml index bbeb592e96..9e70706603 100644 --- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml +++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml @@ -52,7 +52,7 @@               multi_select="true"               name="list_attachments"               top="0" -             width="311"> +             width="311"/>          </accordion_tab>          <accordion_tab           layout="topleft" diff --git a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml index e8e95c3bac..293c9ef1d9 100644 --- a/indra/newview/skins/default/xui/es/panel_navigation_bar.xml +++ b/indra/newview/skins/default/xui/es/panel_navigation_bar.xml @@ -1,7 +1,7 @@  <?xml version="1.0" encoding="utf-8" standalone="yes"?>  <panel name="navigation_bar">  	<panel name="navigation_panel"> -		<pull_button name="back_btn" tool_tip="Volver a lo localización anterior"/> +		<pull_button name="back_btn" tool_tip="Volver a la localización anterior"/>  		<pull_button name="forward_btn" tool_tip="Ir una localización adelante"/>  		<button name="home_btn" tool_tip="Teleportar a mi Base"/>  		<location_input label="Localización" name="location_combo"/> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 3731b6b57c..b759eed738 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -3628,6 +3628,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].  	<string name="LocationCtrlComboBtnTooltip">  		Historial de mis localizaciones  	</string> +	<string name="LocationCtrlForSaleTooltip"> +		Comprar este terreno +	</string>  	<string name="LocationCtrlAdultIconTooltip">  		Región Adulta  	</string>  | 
