diff options
29 files changed, 260 insertions, 205 deletions
| @@ -122,12 +122,22 @@ dac76a711da5f1489a01c1fa62ec97d99c25736d 2.6.6-release  8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release  8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release  77e5a08344c95738ab879f9671b7758cddd712a3 DRTVWR-56_2.6.9-release +77e5a08344c95738ab879f9671b7758cddd712a3 2.6.9-release  8835e0e3c0d3a48244c287bc05811dfc2fba43ec 2.7.0-start  43c7ee846b7eed80786acbbf35d03bd016a3e85d DRTVWR-59_2.7.0-beta1  43c7ee846b7eed80786acbbf35d03bd016a3e85d 2.7.0-beta1 -77e5a08344c95738ab879f9671b7758cddd712a3 2.6.9-release  54fd44ac92e4c61435ea33effe093a3527e18d98 2.7.1-start  0c4d0c24278074f219e5a32e72b449e78301d11b DRTVWR-61_2.7.1-beta1  0c4d0c24278074f219e5a32e72b449e78301d11b 2.7.1-beta1  9f79a6ed8fdcd2f3dac33ea6b3236eeb278dccfe 2.7.2-start +e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb DRTVWR-63_2.7.2-beta1 +e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb 2.7.2-beta1  6a3e7e403bd19e45fdfc2fcc716867af3ab80861 2.7.3-start +6af10678de4736222b2c3f7e010e984fb5b327de 2.7.4-start +be963a4eef635542f9617d7f5fd22ba48fb71958 DRTVWR-67_2.7.4-beta1 +be963a4eef635542f9617d7f5fd22ba48fb71958 2.7.4-beta1 +a9abb9633a266c8d2fe62411cfd1c86d32da72bf DRTVWR-60_2.7.1-release +be963a4eef635542f9617d7f5fd22ba48fb71958 DRTVWR-67_2.7.4-beta1 +be963a4eef635542f9617d7f5fd22ba48fb71958 2.7.4-beta1 +a9abb9633a266c8d2fe62411cfd1c86d32da72bf 2.7.1-release +19a498fa62570f352d7d246f17e3c81cc1d82d8b 2.7.5-start diff --git a/BuildParams b/BuildParams index f34b262913..88d2c02780 100644 --- a/BuildParams +++ b/BuildParams @@ -69,29 +69,9 @@ viewer-pre-release.viewer_channel = "Second Life Release"  viewer-pre-release.login_channel = "Second Life Release"  viewer-pre-release.build_debug_release_separately = true  viewer-pre-release.build_viewer_update_version_manager = true -#viewer-pre-release.release-viewer.jira = DRTVWR-13 -viewer-pre-release.release-viewer.jira = DRTVWR-46 +#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  # ======================================== @@ -133,73 +113,31 @@ 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  # ================  oz_viewer-devreview.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-3.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  # ================================================================= @@ -217,23 +155,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/doc/contributions.txt b/doc/contributions.txt index 97f4bf516a..dc5bf53c1c 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -443,6 +443,7 @@ Jonathan Yap  	STORM-1236  	STORM-1259  	STORM-787 +	STORM-1334  	STORM-1313  	STORM-899  	STORM-1273 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index cfafbf0470..69720bb903 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -29,7 +29,7 @@  const S32 LL_VERSION_MAJOR = 2;  const S32 LL_VERSION_MINOR = 7; -const S32 LL_VERSION_PATCH = 4; +const S32 LL_VERSION_PATCH = 6;  const S32 LL_VERSION_BUILD = 0;  const char * const LL_CHANNEL = "Second Life Developer"; diff --git a/indra/llrender/llshadermgr.cpp b/indra/llrender/llshadermgr.cpp index e51ef8cfe7..bdc103b917 100644 --- a/indra/llrender/llshadermgr.cpp +++ b/indra/llrender/llshadermgr.cpp @@ -403,7 +403,7 @@ void LLShaderMgr::dumpObjectLog(GLhandleARB ret, BOOL warns)  		}  		else  		{ -			LL_INFOS("ShaderLoading") << log << LL_ENDL; +			LL_DEBUGS("ShaderLoading") << log << LL_ENDL;  		}  	}  } @@ -462,8 +462,15 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade  	GLcharARB* text[1024];  	GLuint count = 0; -	//set version to 1.20 -	text[count++] = strdup("#version 120\n"); +	if (gGLManager.mGLVersion < 3.f) +	{ +		//set version to 1.20 +		text[count++] = strdup("#version 120\n"); +	} +	else +	{  //set version to 1.30 +		text[count++] = strdup("#version 130\n"); +	}  	//copy preprocessor definitions into buffer  	for (std::map<std::string,std::string>::iterator iter = mDefinitions.begin(); iter != mDefinitions.end(); ++iter) @@ -515,17 +522,43 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade  		text[count++] = strdup("varying float vary_texture_index;\n");  		text[count++] = strdup("vec4 diffuseLookup(vec2 texcoord)\n");  		text[count++] = strdup("{\n"); -		text[count++] = strdup("\tswitch (int(vary_texture_index+0.25))\n"); -		text[count++] = strdup("\t{\n"); -		//switch body -		for (S32 i = 0; i < texture_index_channels; ++i) -		{ -			std::string case_str = llformat("\t\tcase %d: return texture2D(tex%d, texcoord);\n", i, i); -			text[count++] = strdup(case_str.c_str()); +		 +		if (gGLManager.mGLVersion >= 3.f) +		{  +			text[count++] = strdup("\tswitch (int(vary_texture_index+0.25))\n"); +			text[count++] = strdup("\t{\n"); +		 +			//switch body +			for (S32 i = 0; i < texture_index_channels; ++i) +			{ +				std::string case_str = llformat("\t\tcase %d: return texture2D(tex%d, texcoord);\n", i, i); +				text[count++] = strdup(case_str.c_str()); +			} + +			text[count++] = strdup("\t}\n");  		} +		else +		{ +			//switches aren't supported, make block that looks like: +			/* +				int ti = int(vary_texture_index+0.25); +				if (ti == 0) return texture2D(tex0, texcoord); +				if (ti == 1) return texture2D(tex1, texcoord); +				. +				. +				. +				if (ti == N) return texture2D(texN, texcoord); +			*/ +				 +			text[count++] = strdup("int ti = int(vary_texture_index+0.25);\n"); +			for (S32 i = 0; i < texture_index_channels; ++i) +			{ +				std::string if_str = llformat("if (ti == %d) return texture2D(tex%d, texcoord);\n", i, i); +				text[count++] = strdup(if_str.c_str()); +			} +		}			 -		text[count++] = strdup("\t}\n");  		text[count++] = strdup("\treturn vec4(0,0,0,0);\n");  		text[count++] = strdup("}\n");  	} diff --git a/indra/llui/llconsole.cpp b/indra/llui/llconsole.cpp index 06bad1f371..04040200d0 100644 --- a/indra/llui/llconsole.cpp +++ b/indra/llui/llconsole.cpp @@ -132,6 +132,9 @@ void LLConsole::setFontSize(S32 size_index)  void LLConsole::draw()  { +	// Units in pixels +	static const F32 padding_horizontal = 10; +	static const F32 padding_vertical = 3;  	LLGLSUIDefault gls_ui;  	// skip lines added more than mLinePersistTime ago @@ -176,11 +179,9 @@ void LLConsole::draw()  	// draw remaining lines  	F32 y_pos = 0.f; -	LLUIImagePtr imagep = LLUI::getUIImage("Rounded_Square"); +	LLUIImagePtr imagep = LLUI::getUIImage("transparent"); -//	F32 console_opacity = llclamp(gSavedSettings.getF32("ConsoleBackgroundOpacity"), 0.f, 1.f);  	F32 console_opacity = llclamp(LLUI::sSettingGroups["config"]->getF32("ConsoleBackgroundOpacity"), 0.f, 1.f); -//	LLColor4 color = LLUIColorTable::instance().getColor("ConsoleBackground");  	LLColor4 color = LLUIColorTable::instance().getColor("ConsoleBackground");  	color.mV[VALPHA] *= console_opacity; @@ -188,8 +189,8 @@ void LLConsole::draw()  	for(paragraph_it = mParagraphs.rbegin(); paragraph_it != mParagraphs.rend(); paragraph_it++)  	{ -		S32 target_height = llfloor( (*paragraph_it).mLines.size() * line_height + 8); -		S32 target_width =  llfloor( (*paragraph_it).mMaxWidth +15); +		S32 target_height = llfloor( (*paragraph_it).mLines.size() * line_height + padding_vertical); +		S32 target_width =  llfloor( (*paragraph_it).mMaxWidth + padding_horizontal);  		y_pos += ((*paragraph_it).mLines.size()) * line_height;  		imagep->drawSolid(-14, (S32)(y_pos + line_height - target_height), target_width, target_height, color); @@ -234,7 +235,7 @@ void LLConsole::draw()  				y_off += line_height;  			}  		} -		y_pos  += 8; +		y_pos  += padding_vertical;  	}  } 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/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 76fecdf05e..594285b92b 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5576,7 +5576,7 @@      <key>Type</key>      <string>Boolean</string>      <key>Value</key> -    <real>1</real> +    <real>0</real>    </map>    <key>MeshImportUseSLM</key>    <map> diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp index b6d67899f8..aa5d4fc922 100644 --- a/indra/newview/lldebugview.cpp +++ b/indra/newview/lldebugview.cpp @@ -59,10 +59,12 @@ LLDebugView::LLDebugView(const LLDebugView::Params& p)  void LLDebugView::init()  { +	// Horizontal percentage of screen (not window) to draw debug data in +	static const F32 debug_console_percentage = 0.75;  	LLRect r;  	LLRect rect = getLocalRect(); -	r.set(10, rect.getHeight() - 100, rect.getWidth()/2, 100); +	r.set(10, rect.getHeight() - 100, rect.getWidth() * debug_console_percentage, 100);  	LLConsole::Params cp;  	cp.name("debug console");  	cp.max_lines(20); 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/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index d0810d0772..27f341b4f6 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -34,7 +34,6 @@  #include "llmd5.h"  #include "llsecondlifeurls.h"  #include "v4color.h" -#include "llversionviewer.h"  #include "llappviewer.h"  #include "llbutton.h" @@ -748,20 +747,12 @@ void LLPanelLogin::loadLoginPage()  								   LLVersionInfo::getShortVersion().c_str(),  								   LLVersionInfo::getBuild()); -	char* curl_channel ; +	char* curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0);  	char* curl_version = curl_escape(version.c_str(), 0); -	if(strcmp(LLVersionInfo::getChannel().c_str(), LL_CHANNEL)) -	{ -		curl_channel = curl_escape(LLVersionInfo::getChannel().c_str(), 0); -	} -	else //if LL_CHANNEL, direct it to "Second Life Beta Viewer". -	{ -		curl_channel = curl_escape("Second Life Beta Viewer", 0);		 -	}  	oStr << "&channel=" << curl_channel;  	oStr << "&version=" << curl_version; -	 +  	curl_free(curl_channel);  	curl_free(curl_version); 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/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index e3ed2d0649..da4d0548d0 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -1288,7 +1288,6 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()  		gDeferredAvatarEyesProgram.mFeatures.calculatesAtmospherics = true;  		gDeferredAvatarEyesProgram.mFeatures.hasGamma = true;  		gDeferredAvatarEyesProgram.mFeatures.hasTransport = true; -		gDeferredAvatarEyesProgram.mFeatures.isFullbright = true;  		gDeferredAvatarEyesProgram.mFeatures.disableTextureIndex = true;  		gDeferredAvatarEyesProgram.mShaderFiles.clear();  		gDeferredAvatarEyesProgram.mShaderFiles.push_back(make_pair("deferred/avatarEyesV.glsl", GL_VERTEX_SHADER_ARB)); diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp index bbb19a63f1..f0b5b50feb 100644 --- a/indra/newview/llvocache.cpp +++ b/indra/newview/llvocache.cpp @@ -137,10 +137,6 @@ LLVOCacheEntry::LLVOCacheEntry(LLAPRFile* apr_file)  LLVOCacheEntry::~LLVOCacheEntry()  { -	if(mBuffer != mDP.getBuffer()) -	{ -		delete[] mBuffer ; //just in case -	}  	mDP.freeBuffer();  } diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index f1e42232c8..f0fa4386d2 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -219,38 +219,38 @@ werden.  			<text name="objects_available">  				[COUNT] von [MAX] ([AVAILABLE] verfügbar)  			</text> -			<text name="Primitives parcel supports:" width="200"> +			<text name="Primitives parcel supports:">  				Von Parzelle unterstützte Prims:  			</text> -			<text left="204" name="object_contrib_text" width="152"> +			<text name="object_contrib_text">  				[COUNT]  			</text>  			<text name="Primitives on parcel:">  				Prims auf Parzelle:  			</text> -			<text left="204" name="total_objects_text" width="48"> +			<text name="total_objects_text">  				[COUNT]  			</text> -			<text left="14" name="Owned by parcel owner:" width="200"> +			<text name="Owned by parcel owner:" width="200">  				Im Eigentum des Parzellenbesitzers:  			</text> -			<text left="204" left_delta="200" name="owner_objects_text" width="48"> +			<text left_delta="204" name="owner_objects_text">  				[COUNT]  			</text> -			<button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60"/> -			<button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnOwner..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/> -			<text left="14" name="Set to group:"> +			<button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner"/> +			<button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnOwner..." tool_tip="Objekte an ihre Eigentümer zurückgeben."/> +			<text name="Set to group:">  				Der Gruppe zugeordnet:  			</text> -			<text left="204" name="group_objects_text" width="48"> +			<text name="group_objects_text">  				[COUNT]  			</text> -			<button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" width="60"/> -			<button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnGroup..." right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119"/> -			<text left="14" name="Owned by others:" width="128"> +			<button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup"/> +			<button label="Zurückgeben" label_selected="Zurückgeben..." name="ReturnGroup..." tool_tip="Objekte an ihre Eigentümer zurückgeben."/> +			<text name="Owned by others:">  				Im Eigentum anderer:  			</text> -			<text left="204" name="other_objects_text" width="48"> +			<text name="other_objects_text">  				[COUNT]  			</text>  			<button label="Anzeigen" label_selected="Anzeigen" name="ShowOther"/> diff --git a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml b/indra/newview/skins/default/xui/de/floater_perm_prefs.xml index fd65987aa9..9be22f3ccb 100644 --- a/indra/newview/skins/default/xui/de/floater_perm_prefs.xml +++ b/indra/newview/skins/default/xui/de/floater_perm_prefs.xml @@ -9,7 +9,7 @@  		</text>  		<check_box label="Bearbeiten" name="next_owner_modify"/>  		<check_box label="Kopieren" name="next_owner_copy"/> -		<check_box label="Verkaufen/Weggeben" left_delta="80" name="next_owner_transfer"/> +		<check_box label="Verkaufen/Weggeben" name="next_owner_transfer"/>  	</panel>  	<button label="OK" label_selected="OK" name="ok"/>  	<button label="Abbrechen" label_selected="Abbrechen" name="cancel"/> 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/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 3ead67ca57..a7d1aa963c 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -135,6 +135,14 @@           name="login_panel_holder"           width="1024"/> +      <debug_view follows="all" +                  left="0" +                  top="0" +                  mouse_opaque="false" +                  height="500" +                  name="DebugView" +                  width="1024"/> +        <panel follows="all"                      height="500"                      left="0" @@ -154,13 +162,6 @@                        top="0"                        width="1024"/>        </panel> -      <debug_view follows="all" -                  left="0" -                  top="0" -                  mouse_opaque="false" -                  height="500" -                  name="DebugView" -                  width="1024"/>      </layout_panel>    </layout_stack>    <panel mouse_opaque="false" 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/en/panel_nearby_media.xml b/indra/newview/skins/default/xui/en/panel_nearby_media.xml index 9bd60b935f..bfc503f05b 100644 --- a/indra/newview/skins/default/xui/en/panel_nearby_media.xml +++ b/indra/newview/skins/default/xui/en/panel_nearby_media.xml @@ -104,12 +104,12 @@  		top_pad="15"  		left="10"  		name="show_text" -		width="40"> +		width="62">  	  Show:  	</text>  	<combo_box  		height="23" -		left="50" +		left="72"  		width="140"  		top_delta="-5"  		follows="left|top" diff --git a/indra/newview/skins/default/xui/es/floater_buy_currency.xml b/indra/newview/skins/default/xui/es/floater_buy_currency.xml index 2f92cb55eb..43bbf0b70f 100644 --- a/indra/newview/skins/default/xui/es/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/es/floater_buy_currency.xml @@ -18,7 +18,7 @@  	<text name="balance_amount">  		[AMT] L$  	</text> -	<text name="currency_action" width="50"> +	<text name="currency_action">  		Quiero comprar  	</text>  	<text name="currency_label"> 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> diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml index b29f744a68..f7d77d351e 100644 --- a/indra/newview/skins/default/xui/ja/floater_tools.xml +++ b/indra/newview/skins/default/xui/ja/floater_tools.xml @@ -74,8 +74,8 @@  		両側を延ばす  	</text>  	<check_box initial_value="true" label="テクスチャを引き延ばす" name="checkbox stretch textures"/> -	<check_box initial_value="true" label="グリッドにスナップ" left_delta="27" name="checkbox snap to grid"/> -	<combo_box left_delta="60" name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択します" width="76"> +	<check_box initial_value="true" label="グリッドにスナップ" name="checkbox snap to grid"/> +	<combo_box name="combobox grid mode" tool_tip="オブジェクトの配置に使うグリッドルーラを選択します" >  		<combo_box.item label="インワールドグリッド" name="World"/>  		<combo_box.item label="ローカルグリッド" name="Local"/>  		<combo_box.item label="リファレンスグリッド" name="Reference"/> @@ -137,7 +137,7 @@  	<text name="object_cost" tool_tip="[prims] / [physics complexity] として現在選択されているオブジェクトのコスト">  		料金: [COST] / [PHYSICS]  	</text> -	<tab_container name="Object Info Tabs" tab_max_width="150" tab_min_width="30"> +	<tab_container name="Object Info Tabs" >  		<panel label="一般" name="General">  			<panel.string name="text deed continued">  				譲渡 @@ -379,22 +379,22 @@  				オブジェクトの特徴を編集:  			</text>  			<check_box label="フレキシブルパス" name="Flexible1D Checkbox Ctrl" tool_tip="Z 軸を中心にオブジェクトの屈曲を有効にします(クライアント側のみ)"/> -			<spinner label="柔軟性" label_width="72" name="FlexNumSections" width="135"/> -			<spinner label="重力" label_width="72" name="FlexGravity" width="135"/> -			<spinner label="ドラッグ" label_width="72" name="FlexFriction" width="135"/> -			<spinner label="風" label_width="72" name="FlexWind" width="135"/> -			<spinner label="緊張" label_width="72" name="FlexTension" width="135"/> -			<spinner label="X 軸方向の力" label_width="72" name="FlexForceX" width="135"/> -			<spinner label="Y 軸方向の力" label_width="72" name="FlexForceY" width="135"/> -			<spinner label="Z 軸方向の力" label_width="72" name="FlexForceZ" width="135"/> +			<spinner label="柔軟性" name="FlexNumSections" /> +			<spinner label="重力" name="FlexGravity" /> +			<spinner label="ドラッグ" name="FlexFriction" /> +			<spinner label="風" name="FlexWind" /> +			<spinner label="緊張" name="FlexTension" /> +			<spinner label="X 軸方向の力" name="FlexForceX" /> +			<spinner label="Y 軸方向の力" name="FlexForceY" /> +			<spinner label="Z 軸方向の力" name="FlexForceZ" />  			<check_box label="光" name="Light Checkbox Ctrl" tool_tip="オブジェクトが発光します"/> -			<color_swatch label="" left_delta="74" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/> +			<color_swatch label="" name="colorswatch" tool_tip="クリックしてカラーピッカーを開きます"/>  			<texture_picker label="" name="light texture control" tool_tip="クリックで投影画を選択します(遅延レンダリング有効時のみ)"/> -			<spinner label="輝度" label_width="72" name="Light Intensity" width="135"/> +			<spinner label="輝度" name="Light Intensity" />  			<spinner label="FOV" name="Light FOV"/> -			<spinner label="半径" label_width="72" name="Light Radius" width="135"/> +			<spinner label="半径" name="Light Radius" />  			<spinner label="焦点" name="Light Focus"/> -			<spinner label="弱まる" label_width="72" name="Light Falloff" width="135"/> +			<spinner label="弱まる" name="Light Falloff" />  			<spinner label="環境" name="Light Ambiance"/>  			<text name="label physicsshapetype">  				実像の種類: @@ -496,18 +496,18 @@  			</panel>  		</panel>  		<panel label="中身" name="Contents"> -			<button label="新しいスクリプト" label_selected="新規スクリプト" name="button new script" width="120"/> -			<button label="権限" left_delta="130" name="button permissions" width="80"/> +			<button label="新しいスクリプト" label_selected="新規スクリプト" name="button new script" /> +			<button label="権限" name="button permissions" />  		</panel>  	</tab_container>  	<panel name="land info panel">  		<text name="label_parcel_info">  			区画情報  		</text> -		<text name="label_area_price" width="200"> +		<text name="label_area_price" >  			価格: [AREA] 平方メートル L$ [PRICE]  		</text> -		<text name="label_area" width="200"> +		<text name="label_area" >  			面積: [AREA] 平方メートル  		</text>  		<button label="土地情報" label_selected="土地情報" name="button about land"/> | 
