Commits

Anonymous committed 440f13b Merge

Merge viewer 2.7.6 from trunk

  • Participants
  • Parent commits ecf2820, b245a98

Comments (0)

Files changed (25)

 54fd44ac92e4c61435ea33effe093a3527e18d98 2.7.1-start
 0c4d0c24278074f219e5a32e72b449e78301d11b DRTVWR-61_2.7.1-beta1
 0c4d0c24278074f219e5a32e72b449e78301d11b 2.7.1-beta1
+8f2da1701c81a62352df2b8d413d27fb2cade9a6 DRTVWR-46_2.6.3-release
+8f2da1701c81a62352df2b8d413d27fb2cade9a6 2.6.3-release
+77e5a08344c95738ab879f9671b7758cddd712a3 DRTVWR-56_2.6.9-release
 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
+77e5a08344c95738ab879f9671b7758cddd712a3 2.6.9-release
+a9abb9633a266c8d2fe62411cfd1c86d32da72bf DRTVWR-60_2.7.1-release
+a9abb9633a266c8d2fe62411cfd1c86d32da72bf 2.7.1-release
+e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb DRTVWR-63_2.7.2-beta1
+e0dc8b741eaa27dcdfbc9e956bb2579b954d15eb 2.7.2-beta1
+19a498fa62570f352d7d246f17e3c81cc1d82d8b 2.7.5-start
 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
 # ========================================
 # 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
 # =================================================================
 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
-
 # ========================================
 # Simon says
 # ========================================

File doc/contributions.txt

File contents unchanged.

File indra/llcommon/llversionviewer.h

 
 const S32 LL_VERSION_MAJOR = 2;
 const S32 LL_VERSION_MINOR = 7;
-const S32 LL_VERSION_PATCH = 5;
+const S32 LL_VERSION_PATCH = 6;
 const S32 LL_VERSION_BUILD = 0;
 
 const char * const LL_CHANNEL = "Second Life Developer";

File indra/llvfs/CMakeLists.txt

 
 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)
 
 # 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}")
+    include(LLAddBuildTest)
+    # UNIT TESTS
+    SET(llvfs_TEST_SOURCE_FILES
+	lldiriterator.cpp
+	)
 
-	# 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}")
+    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)

File indra/llvfs/lldiriterator.cpp

 	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;
 
 		switch (c)
 		{
-			case '.':
-				regex+="\\.";
-				break;
 			case '*':
 				if (glob.begin() == i)
 				{
 			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;
 		}
 

File indra/llvfs/tests/lldiriterator_test.cpp

+/**
+ * @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();
+    }
+
+}

File indra/newview/lllogchat.cpp

 
 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)
 	{

File indra/newview/llpanellogin.cpp

 #include "llmd5.h"
 #include "llsecondlifeurls.h"
 #include "v4color.h"
-#include "llversionviewer.h"
 
 #include "llappviewer.h"
 #include "llbutton.h"
 								   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);
 

File indra/newview/llpreviewnotecard.cpp

 
 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
 		// 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
 												(void*)info,
 												FALSE);
 			}
+			else // !gAssetStorage
+			{
+				llwarns << "Not connected to an asset storage system." << llendl;
+				return false;
+			}
 		}
 	}
 	return true;

File indra/newview/skins/default/xui/de/floater_about_land.xml

 			<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"/>

File indra/newview/skins/default/xui/de/floater_perm_prefs.xml

 		</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"/>

File indra/newview/skins/default/xui/de/floater_snapshot.xml

 		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>

File indra/newview/skins/default/xui/de/floater_tools.xml

 		<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"/>

File indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml

 			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:

File indra/newview/skins/default/xui/en/floater_model_preview.xml

File contents unchanged.

File indra/newview/skins/default/xui/en/floater_model_wizard.xml

File contents unchanged.

File indra/newview/skins/default/xui/en/floater_tools.xml

      layout="topleft"
      left_pad="2"
      name="unlink_btn"
-     width="50">
+     width="105">
 	  <button.commit_callback
 	     function="BuildTool.UnlinkObjects"/>
     </button>

File indra/newview/skins/default/xui/en/notifications.xml

File contents unchanged.

File indra/newview/skins/default/xui/en/panel_cof_wearables.xml

              multi_select="true"
              name="list_attachments"
              top="0"
-             width="311">
+             width="311"/>
         </accordion_tab>
         <accordion_tab
          layout="topleft"

File indra/newview/skins/default/xui/en/panel_nearby_media.xml

 		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"

File indra/newview/skins/default/xui/es/floater_buy_currency.xml

 	<text name="balance_amount">
 		[AMT] L$
 	</text>
-	<text name="currency_action" width="50">
+	<text name="currency_action">
 		Quiero comprar
 	</text>
 	<text name="currency_label">

File indra/newview/skins/default/xui/es/panel_navigation_bar.xml

 <?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"/>

File indra/newview/skins/default/xui/es/strings.xml

 	<string name="LocationCtrlComboBtnTooltip">
 		Historial de mis localizaciones
 	</string>
+	<string name="LocationCtrlForSaleTooltip">
+		Comprar este terreno
+	</string>
 	<string name="LocationCtrlAdultIconTooltip">
 		Región Adulta
 	</string>

File indra/newview/skins/default/xui/ja/floater_tools.xml

 		両側を延ばす
 	</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"/>
 	<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">
 				譲渡
 				オブジェクトの特徴を編集:
 			</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">
 				実像の種類:
 			</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"/>