summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags6
-rw-r--r--autobuild.xml759
-rw-r--r--doc/contributions.txt2
-rw-r--r--indra/cmake/Variables.cmake1
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/llui/lltextbase.cpp103
-rw-r--r--indra/llui/lltextbase.h4
-rw-r--r--indra/newview/character/avatar_lad.xml20
-rw-r--r--indra/newview/llappviewer.cpp8
-rw-r--r--indra/newview/llinventorymodel.cpp19
-rw-r--r--indra/newview/llinventorymodel.h5
-rw-r--r--indra/newview/llinventorymodelbackgroundfetch.cpp6
-rw-r--r--indra/newview/llinventoryobserver.cpp11
-rw-r--r--indra/newview/llinventoryobserver.h1
-rw-r--r--indra/newview/llphysicsmotion.cpp29
-rw-r--r--indra/newview/llsidetraylistener.cpp21
-rw-r--r--indra/newview/llsidetraylistener.h21
-rw-r--r--indra/newview/llsyswellwindow.cpp2
-rw-r--r--indra/newview/llwearabletype.cpp2
-rw-r--r--indra/test_apps/llplugintest/llmediaplugintest.cpp10
20 files changed, 282 insertions, 750 deletions
diff --git a/.hgtags b/.hgtags
index 41bd9a145a..b982a7eea2 100644
--- a/.hgtags
+++ b/.hgtags
@@ -88,8 +88,6 @@ f1827b441e05bf37c68e2c15ebc6d09e9b03f527 2.6.0-start
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-start
c5bdef3aaa2744626aef3c217ce29e1900d357b3 DRTVWR-43_2.6.1-beta1
c5bdef3aaa2744626aef3c217ce29e1900d357b3 2.6.1-beta1
-9e4641f4a7870c0f565a25a2971368d5a29516a1 DRTVWR-41_2.6.0-beta2
-9e4641f4a7870c0f565a25a2971368d5a29516a1 2.6.0-beta2
c9182ed77d427c759cfacf49a7b71a2e20d522aa DRTVWR-42_2.6.1-release
c9182ed77d427c759cfacf49a7b71a2e20d522aa 2.6.1-release
56b2778c743c2a964d82e1caf11084d76a87de2c 2.6.2-start
@@ -97,8 +95,12 @@ c9182ed77d427c759cfacf49a7b71a2e20d522aa 2.6.1-release
42f32494bac475d0737799346f6831558ae8bf5d 2.6.0-release
d1203046bb653b763f835b04d184646949d8dd5c DRTVWR-45_2.6.2-beta1
d1203046bb653b763f835b04d184646949d8dd5c 2.6.2-beta1
+214180ad5714ce8392b82bbebcc92f4babd98300 DRTVWR-44_2.6.2-release
+214180ad5714ce8392b82bbebcc92f4babd98300 2.6.2-release
52b2263ab28f0976c689fd0b76c55a9eb027cdbf end-of-develop.py
ec32f1045e7c2644015245df3a9933620aa194b8 2.6.3-start
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc DRTVWR-47_2.6.3-beta1
d7fcefabdf32bb61a9ea6d6037c1bb26190a85bc 2.6.3-beta1
74cd32a06837b0c2cb793b2e8d4d82f5d49462b2 2.6.4-start
+74cd32a06837b0c2cb793b2e8d4d82f5d49462b2 2.6.4-start
+f632f87bb71b0f13d21f2f64b0c42cedb008c749 2.6.4-start
diff --git a/autobuild.xml b/autobuild.xml
index a31d280b6f..a9ab71da29 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1590,7 +1590,6 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=Debug</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
</array>
@@ -1598,7 +1597,7 @@
<key>name</key>
<string>Debug</string>
</map>
- <key>OpenSourceDebug</key>
+ <key>DebugOS</key>
<map>
<key>configure</key>
<map>
@@ -1607,67 +1606,23 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=Debug</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceDebug</string>
- </map>
- <key>OpenSourceRelWithDebInfo</key>
- <map>
- <key>configure</key>
- <map>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
- <array>
- <string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
- </map>
- <key>name</key>
- <string>OpenSourceRelWithDebInfo</string>
- </map>
- <key>OpenSourceRelease</key>
- <map>
- <key>configure</key>
- <map>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
+ <key>arguments</key>
<array>
- <string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>../indra</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceRelease</string>
+ <string>DebugOS</string>
</map>
- <key>OpenSourceStandAloneDebug</key>
+ <key>RelWithDebInfo</key>
<map>
- <key>configure</key>
+ <key>build</key>
<map>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
- <array>
- <string>-DCMAKE_BUILD_TYPE:STRING=Debug</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
- </array>
</map>
- <key>name</key>
- <string>OpenSourceStandAloneDebug</string>
- </map>
- <key>OpenSourceStandAloneRelWithDebInfo</key>
- <map>
<key>configure</key>
<map>
<key>command</key>
@@ -1675,15 +1630,14 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceStandAloneRelWithDebInfo</string>
+ <string>RelWithDebInfo</string>
</map>
- <key>OpenSourceStandAloneRelease</key>
+ <key>RelWithDebInfoOS</key>
<map>
<key>configure</key>
<map>
@@ -1691,34 +1645,18 @@
<string>cmake</string>
<key>options</key>
<array>
- <string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
+ <string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>-DINSTALL_PROPRIETARY=FALSE</string>
</array>
- </map>
- <key>name</key>
- <string>OpenSourceStandAloneRelease</string>
- </map>
- <key>RelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
- </map>
- <key>configure</key>
- <map>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
+ <key>arguments</key>
<array>
- <string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>../indra</string>
</array>
</map>
<key>name</key>
- <string>RelWithDebInfo</string>
+ <string>RelWithDebInfoOS</string>
</map>
<key>Release</key>
<map>
@@ -1732,83 +1670,38 @@
<key>options</key>
<array>
<string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>-DINSTALL_PROPRIETARY=FALSE</string>
+ <string>-DUSE_PRECOMPILED_HEADERS=ON</string>
+ <string>-DLL_RELEASE_FOR_DOWNLOAD:BOOL=TRUE</string>
</array>
</map>
<key>name</key>
<string>Release</string>
</map>
- <!-- OPEN-1 WORKAROUND begin - to be removed when VC express is detected correctly -->
- <key>VCexpressRelWithDebInfo</key>
+ <key>ReleaseOS</key>
<map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>command</key>
<string>cmake</string>
<key>options</key>
<array>
- <string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
- </array>
- </map>
- <key>name</key>
- <string>VCexpressRelWithDebInfo</string>
- </map>
- <!-- OPEN-1 WORKAROUND end -->
- <!-- OPEN-1a WORKAROUND begin - to be removed when VC 2010 is detected correctly -->
- <key>VC10msbuildRelWithDebInfo</key>
- <map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
- <array>
- <string>-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
+ <string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
<string>-DWORD_SIZE:STRING=32</string>
<string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
+ <string>-DINSTALL_PROPRIETARY=FALSE</string>
+ <string>-DLL_RELEASE_FOR_DOWNLOAD:BOOL=YES</string>
</array>
- </map>
- <key>name</key>
- <string>VC10msbuildRelWithDebInfo</string>
- </map>
- <!-- OPEN-1a WORKAROUND end -->
- <!-- OPEN-1a Release WORKAROUND begin - to be removed when VC 2010 is detected correctly -->
- <key>VC10msbuildRelease</key>
- <map>
- <key>configure</key>
- <map>
<key>arguments</key>
<array>
<string>../indra</string>
</array>
- <key>command</key>
- <string>cmake</string>
- <key>options</key>
- <array>
- <string>-DCMAKE_BUILD_TYPE:STRING=Release</string>
- <string>-DUNATTENDED:BOOL=OFF</string>
- <string>-DWORD_SIZE:STRING=32</string>
- <string>-DROOT_PROJECT_NAME:STRING=SecondLife</string>
- </array>
</map>
<key>name</key>
- <string>VC10msbuildRelease</string>
+ <string>ReleaseOS</string>
</map>
- <!-- OPEN-1a Release WORKAROUND end -->
</map>
<key>name</key>
<string>common</string>
@@ -1848,15 +1741,12 @@
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
<string>Debug</string>
</map>
- <key>OpenSourceDebug</key>
+ <key>DebugOS</key>
<map>
<key>build</key>
<map>
@@ -1870,116 +1760,26 @@
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceDebug</string>
- </map>
- <key>OpenSourceRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>xcodebuild</string>
- <key>options</key>
- <array>
- <string>-configuration RelWithDebInfo</string>
- <string>-project SecondLife.xcodeproj</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceRelWithDebInfo</string>
- </map>
- <key>OpenSourceRelease</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>xcodebuild</string>
- <key>options</key>
- <array>
- <string>-configuration Release</string>
- <string>-project SecondLife.xcodeproj</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceRelease</string>
+ <string>DebugOS</string>
</map>
- <key>OpenSourceStandAloneDebug</key>
+ <key>RelWithDebInfo</key>
<map>
<key>build</key>
<map>
- <key>command</key>
- <string>xcodebuild</string>
- <key>options</key>
- <array>
- <string>-configuration Debug</string>
- <string>-project SecondLife.xcodeproj</string>
- </array>
- </map>
- <key>configure</key>
- <map>
<key>arguments</key>
<array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
+ <string>|</string>
+ <string>grep</string>
+ <string>-v</string>
+ <string>setenv</string>
</array>
- </map>
- <key>name</key>
- <string>OpenSourceStandAloneDebug</string>
- </map>
- <key>OpenSourceStandAloneRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
<key>command</key>
<string>xcodebuild</string>
<key>options</key>
@@ -1998,15 +1798,14 @@
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
+ <key>default</key>
+ <string>True</string>
<key>name</key>
- <string>OpenSourceStandAloneRelWithDebInfo</string>
+ <string>RelWithDebInfo</string>
</map>
- <key>OpenSourceStandAloneRelease</key>
+ <key>RelWithDebInfoOS</key>
<map>
<key>build</key>
<map>
@@ -2014,29 +1813,22 @@
<string>xcodebuild</string>
<key>options</key>
<array>
- <string>-configuration Release</string>
+ <string>-configuration RelWithDebInfo</string>
<string>-project SecondLife.xcodeproj</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceStandAloneRelease</string>
+ <string>RelWithDebInfoOS</string>
</map>
- <key>RelWithDebInfo</key>
+ <key>Release</key>
<map>
<key>build</key>
<map>
@@ -2051,7 +1843,7 @@
<string>xcodebuild</string>
<key>options</key>
<array>
- <string>-configuration RelWithDebInfo</string>
+ <string>-configuration Release</string>
<string>-project SecondLife.xcodeproj</string>
</array>
</map>
@@ -2065,27 +1857,15 @@
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
- <key>default</key>
- <string>True</string>
<key>name</key>
- <string>RelWithDebInfo</string>
+ <string>Release</string>
</map>
- <key>Release</key>
+ <key>ReleaseOS</key>
<map>
<key>build</key>
<map>
- <key>arguments</key>
- <array>
- <string>|</string>
- <string>grep</string>
- <string>-v</string>
- <string>setenv</string>
- </array>
<key>command</key>
<string>xcodebuild</string>
<key>options</key>
@@ -2096,21 +1876,14 @@
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Xcode'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
- <string>Release</string>
+ <string>ReleaseOS</string>
</map>
</map>
<key>name</key>
@@ -2143,102 +1916,12 @@
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
<string>Debug</string>
</map>
- <key>OpenSourceDebug</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>make</string>
- <key>options</key>
- <array>
- <string>-j 12</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceDebug</string>
- </map>
- <key>OpenSourceRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>make</string>
- <key>options</key>
- <array>
- <string>-j 12</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceRelWithDebInfo</string>
- </map>
- <key>OpenSourceRelease</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>make</string>
- <key>options</key>
- <array>
- <string>-j 12</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceRelease</string>
- </map>
- <key>OpenSourceStandAloneDebug</key>
+ <key>DebugOS</key>
<map>
<key>build</key>
<map>
@@ -2246,28 +1929,21 @@
<string>make</string>
<key>options</key>
<array>
- <string>-j 12</string>
+ <string>-j 2</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceStandAloneDebug</string>
+ <string>DebugOS</string>
</map>
- <key>OpenSourceStandAloneRelWithDebInfo</key>
+ <key>RelWithDebInfo</key>
<map>
<key>build</key>
<map>
@@ -2288,15 +1964,14 @@
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
+ <key>default</key>
+ <string>True</string>
<key>name</key>
- <string>OpenSourceStandAloneRelWithDebInfo</string>
+ <string>RelWithDebInfo</string>
</map>
- <key>OpenSourceStandAloneRelease</key>
+ <key>RelWithDebInfoOS</key>
<map>
<key>build</key>
<map>
@@ -2304,28 +1979,21 @@
<string>make</string>
<key>options</key>
<array>
- <string>-j 12</string>
+ <string>-j 2</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceStandAloneRelease</string>
+ <string>RelWithDebInfoOS</string>
</map>
- <key>RelWithDebInfo</key>
+ <key>Release</key>
<map>
<key>build</key>
<map>
@@ -2346,17 +2014,12 @@
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
- <key>default</key>
- <string>True</string>
<key>name</key>
- <string>RelWithDebInfo</string>
+ <string>Release</string>
</map>
- <key>Release</key>
+ <key>ReleaseOS</key>
<map>
<key>build</key>
<map>
@@ -2364,26 +2027,19 @@
<string>make</string>
<key>options</key>
<array>
- <string>-j 12</string>
+ <string>-j 2</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>'Unix Makefiles'</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
- <string>Release</string>
+ <string>ReleaseOS</string>
</map>
<key>default</key>
<map>
@@ -2437,15 +2093,12 @@
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
<string>Debug</string>
</map>
- <key>OpenSourceDebug</key>
+ <key>DebugOS</key>
<map>
<key>build</key>
<map>
@@ -2454,108 +2107,35 @@
<string>SecondLife.sln</string>
</array>
<key>command</key>
- <string>devenv.com</string>
- <key>options</key>
- <array>
- <string>/build</string>
- <string>Debug</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>..\indra</string>
- <string>&amp;&amp;</string>
- <string>..\indra\tools\vstool\VSTool.exe</string>
- <string>--solution</string>
- <string>SecondLife.sln</string>
- <string>--config</string>
- <string>Debug</string>
- <string>--startup</string>
- <string>secondlife-bin</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceDebug</string>
- </map>
- <key>OpenSourceRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
- <key>arguments</key>
- <array>
- <string>SecondLife.sln</string>
- </array>
- <key>command</key>
- <string>devenv.com</string>
- <key>options</key>
- <array>
- <string>/build</string>
- <string>RelWithDebInfo</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceRelWithDebInfo</string>
- </map>
- <key>OpenSourceRelease</key>
- <map>
- <key>build</key>
- <map>
- <key>arguments</key>
- <array>
- <string>SecondLife.sln</string>
- </array>
- <key>command</key>
- <string>devenv.com</string>
+ <string>msbuild.exe</string>
<key>options</key>
<array>
- <string>/build</string>
- <string>Release</string>
+ <string>/p:Configuration=Debug</string>
+ <string>/p:Platform=Win32</string>
+ <string>/t:Build</string>
+ <string>/p:useenv=true</string>
+ <string>/verbosity:minimal</string>
+ <string>/toolsversion:4.0</string>
+ <string>/p:"VCBuildAdditionalOptions= /incremental"</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
+ <string>-DUNATTENDED:BOOL=ON</string>
+ <string>-DUSE_PRECOMPILED_HEADERS=ON</string>
+ <string>-DINSTALL_PROPRIETARY=TRUE</string>
+ <string>-DUSE_KDU=FALSE</string>
<string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>OpenSourceRelease</string>
+ <string>DebugOS</string>
</map>
- <key>OpenSourceStandAloneDebug</key>
+ <key>RelWithDebInfo</key>
<map>
<key>build</key>
<map>
@@ -2564,11 +2144,11 @@
<string>SecondLife.sln</string>
</array>
<key>command</key>
- <string>devenv.com</string>
+ <string>BuildConsole</string>
<key>options</key>
<array>
<string>/build</string>
- <string>Debug</string>
+ <string>"/cfg=RelWithDebInfo|Win32"</string>
</array>
</map>
<key>configure</key>
@@ -2589,83 +2169,14 @@
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceStandAloneDebug</string>
- </map>
- <key>OpenSourceStandAloneRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
- <key>arguments</key>
- <array>
- <string>SecondLife.sln</string>
- </array>
- <key>command</key>
- <string>devenv.com</string>
- <key>options</key>
- <array>
- <string>/build</string>
- <string>RelWithDebInfo</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>OpenSourceStandAloneRelWithDebInfo</string>
- </map>
- <key>OpenSourceStandAloneRelease</key>
- <map>
- <key>build</key>
- <map>
- <key>arguments</key>
- <array>
- <string>SecondLife.sln</string>
- </array>
- <key>command</key>
- <string>devenv.com</string>
- <key>options</key>
- <array>
- <string>/build</string>
- <string>Release</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>arguments</key>
- <array>
- <string>../indra</string>
- </array>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=TRUE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
</array>
</map>
+ <key>default</key>
+ <string>True</string>
<key>name</key>
- <string>OpenSourceStandAloneRelease</string>
+ <string>RelWithDebInfo</string>
</map>
- <key>RelWithDebInfo</key>
+ <key>RelWithDebInfoOS</key>
<map>
<key>build</key>
<map>
@@ -2674,40 +2185,33 @@
<string>SecondLife.sln</string>
</array>
<key>command</key>
- <string>BuildConsole</string>
+ <string>msbuild.exe</string>
<key>options</key>
<array>
- <string>/build</string>
- <string>"/cfg=RelWithDebInfo|Win32"</string>
+ <string>/p:Configuration=RelWithDebInfo</string>
+ <string>/p:Platform=Win32</string>
+ <string>/t:Build</string>
+ <string>/p:useenv=true</string>
+ <string>/verbosity:minimal</string>
+ <string>/toolsversion:4.0</string>
+ <string>/p:"VCBuildAdditionalOptions= /incremental"</string>
</array>
</map>
<key>configure</key>
<map>
- <key>arguments</key>
- <array>
- <string>..\indra</string>
- <string>&amp;&amp;</string>
- <string>..\indra\tools\vstool\VSTool.exe</string>
- <string>--solution</string>
- <string>SecondLife.sln</string>
- <string>--config</string>
- <string>RelWithDebInfo</string>
- <string>--startup</string>
- <string>secondlife-bin</string>
- </array>
<key>options</key>
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
+ <string>-DUNATTENDED:BOOL=ON</string>
+ <string>-DUSE_PRECOMPILED_HEADERS=ON</string>
<string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
+ <string>-DUSE_KDU=FALSE</string>
+ <string>-DFMOD=FALSE</string>
</array>
</map>
- <key>default</key>
- <string>True</string>
<key>name</key>
- <string>RelWithDebInfo</string>
+ <string>RelWithDebInfoOS</string>
</map>
<key>Release</key>
<map>
@@ -2744,95 +2248,31 @@
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=OFF</string>
- <string>-DINSTALL_PROPRIETARY=TRUE</string>
- <string>-DFMOD=TRUE</string>
</array>
</map>
<key>name</key>
<string>Release</string>
</map>
- <!-- OPEN-1 WORKAROUND begin - to be removed when VC express is detected correctly -->
- <key>VCexpressRelWithDebInfo</key>
+ <key>ReleaseOS</key>
<map>
<key>build</key>
<map>
<key>arguments</key>
<array>
- <string>"RelWithDebInfo|Win32"</string>
- </array>
- <key>command</key>
- <string>vcbuild.exe</string>
- <key>options</key>
- <array>
- <string>/u</string>
<string>SecondLife.sln</string>
</array>
- </map>
- <key>configure</key>
- <map>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>VCexpressRelWithDebInfo</string>
- </map>
- <!-- OPEN-1 WORKAROUND end -->
- <!-- OPEN-1a WORKAROUND begin - to be removed when VC 2010 is detected correctly -->
- <key>VC10msbuildRelWithDebInfo</key>
- <map>
- <key>build</key>
- <map>
<key>command</key>
<string>msbuild.exe</string>
<key>options</key>
<array>
- <string>SecondLife.sln</string>
- <string>/verbosity:minimal</string>
- <string>/t:build</string>
- <string>/p:Configuration=RelWithDebInfo</string>
- <string>/p:Platform=Win32</string>
- <string>/p:"VCBuildAdditionalOptions= /useenv"</string>
- <string>/p:"VCBuildAdditionalOptions= /incremental"</string>
- </array>
- </map>
- <key>configure</key>
- <map>
- <key>options</key>
- <array>
- <string>-G</string>
- <string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
- <string>-DFMOD=FALSE</string>
- </array>
- </map>
- <key>name</key>
- <string>VC10msbuildRelWithDebInfo</string>
- </map>
- <!-- OPEN-1a WORKAROUND end -->
- <!-- OPEN-1a Release WORKAROUND begin - to be removed when VC 2010 is detected correctly -->
- <key>VC10msbuildRelease</key>
- <map>
- <key>build</key>
- <map>
- <key>command</key>
- <string>msbuild.exe</string>
- <key>options</key>
- <array>
- <string>SecondLife.sln</string>
- <string>/t:build</string>
<string>/p:Configuration=Release</string>
<string>/p:Platform=Win32</string>
- <string>/p:"VCBuildAdditionalOptions= /useenv"</string>
+ <string>/t:Build</string>
+ <string>/p:useenv=true</string>
+ <string>/verbosity:minimal</string>
+ <string>/toolsversion:4.0</string>
<string>/p:"VCBuildAdditionalOptions= /incremental"</string>
- </array>
+ </array>
</map>
<key>configure</key>
<map>
@@ -2840,15 +2280,16 @@
<array>
<string>-G</string>
<string>"Visual Studio 10"</string>
- <string>-DSTANDALONE:BOOL=FALSE</string>
- <string>-DINSTALL_PROPRIETARY=FALSE</string>
+ <string>-DUNATTENDED:BOOL=ON</string>
+ <string>-DUSE_PRECOMPILED_HEADERS=ON</string>
+ <string>-DINSTALL_PROPRIETARY=TRUE</string>
+ <string>-DUSE_KDU=FALSE</string>
<string>-DFMOD=FALSE</string>
</array>
</map>
<key>name</key>
- <string>VC10msbuildRelease</string>
+ <string>ReleaseOS</string>
</map>
- <!-- OPEN-1a WORKAROUND end -->
</map>
<key>name</key>
<string>windows</string>
diff --git a/doc/contributions.txt b/doc/contributions.txt
index e7db8c0ded..716b030d4e 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -588,7 +588,7 @@ Nicholaz Beresford
VWR-2684
Nicky Perian
OPEN-1
- OPEN-1087
+ STORM-1087
STORM-1090
Nounouch Hapmouche
VWR-238
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index 77dd34d122..8c9c375790 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -135,6 +135,7 @@ set(VIEWER_LOGIN_CHANNEL ${VIEWER_CHANNEL} CACHE STRING "Fake login channel for
set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
set(STANDALONE OFF CACHE BOOL "Do not use Linden-supplied prebuilt libraries.")
+set(UNATTENDED OFF CACHE BOOL "Should be set to ON for building with VC Express editions.")
if (NOT STANDALONE AND EXISTS ${CMAKE_SOURCE_DIR}/llphysics)
set(SERVER ON CACHE BOOL "Build Second Life server software.")
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index bd6df962a1..df5afcbf1c 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 = 6;
-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";
diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp
index 49537ef78f..82269282ef 100644
--- a/indra/llui/lltextbase.cpp
+++ b/indra/llui/lltextbase.cpp
@@ -157,6 +157,7 @@ LLTextBase::Params::Params()
read_only("read_only", false),
v_pad("v_pad", 0),
h_pad("h_pad", 0),
+ clip("clip", true),
clip_partial("clip_partial", true),
line_spacing("line_spacing"),
max_text_length("max_length", 255),
@@ -199,6 +200,7 @@ LLTextBase::LLTextBase(const LLTextBase::Params &p)
mVAlign(p.font_valign),
mLineSpacingMult(p.line_spacing.multiple),
mLineSpacingPixels(p.line_spacing.pixels),
+ mClip(p.clip),
mClipPartial(p.clip_partial && !p.allow_scroll),
mTrackEnd( p.track_end ),
mScrollIndex(-1),
@@ -334,7 +336,7 @@ void LLTextBase::drawSelectionBackground()
// binary search for line that starts before top of visible buffer
line_list_t::const_iterator line_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mTop, compare_bottom());
- line_list_t::const_iterator end_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mBottom, compare_top());
+ line_list_t::const_iterator end_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), content_display_rect.mBottom, compare_top());
bool done = false;
@@ -512,7 +514,6 @@ void LLTextBase::drawText()
selection_right = llmax( mSelectionStart, mSelectionEnd );
}
- LLRect scrolled_view_rect = getVisibleDocumentRect();
std::pair<S32, S32> line_range = getVisibleLines(mClipPartial);
S32 first_line = line_range.first;
S32 last_line = line_range.second;
@@ -545,10 +546,10 @@ void LLTextBase::drawText()
line_end = next_start;
}
- LLRect text_rect(line.mRect.mLeft + mVisibleTextRect.mLeft - scrolled_view_rect.mLeft,
- line.mRect.mTop - scrolled_view_rect.mBottom + mVisibleTextRect.mBottom,
- llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft,
- line.mRect.mBottom - scrolled_view_rect.mBottom + mVisibleTextRect.mBottom);
+ LLRect text_rect(line.mRect);
+ text_rect.mRight = llmin(mDocumentView->getRect().getWidth(), text_rect.mRight); // clamp right edge to document extents
+ text_rect.translate(mVisibleTextRect.mLeft, mVisibleTextRect.mBottom); // translate into display region of text widget
+ text_rect.translate(mDocumentView->getRect().mLeft, mDocumentView->getRect().mBottom); // adjust by scroll position
// draw a single line of text
S32 seg_start = line_start;
@@ -993,14 +994,28 @@ void LLTextBase::draw()
updateScrollFromCursor();
}
- LLRect doc_rect;
+ LLRect text_rect;
if (mScroller)
{
- mScroller->localRectToOtherView(mScroller->getContentWindowRect(), &doc_rect, this);
+ mScroller->localRectToOtherView(mScroller->getContentWindowRect(), &text_rect, this);
}
else
{
- doc_rect = getLocalRect();
+ LLRect visible_lines_rect;
+ std::pair<S32, S32> line_range = getVisibleLines(mClipPartial);
+ for (S32 i = line_range.first; i < line_range.second; i++)
+ {
+ if (visible_lines_rect.isEmpty())
+ {
+ visible_lines_rect = mLineInfoList[i].mRect;
+ }
+ else
+ {
+ visible_lines_rect.unionWith(mLineInfoList[i].mRect);
+ }
+ }
+ text_rect = visible_lines_rect;
+ text_rect.translate(mDocumentView->getRect().mLeft, mDocumentView->getRect().mBottom);
}
if (mBGVisible)
@@ -1010,28 +1025,37 @@ void LLTextBase::draw()
LLRect bg_rect = mVisibleTextRect;
if (mScroller)
{
- bg_rect.intersectWith(doc_rect);
+ bg_rect.intersectWith(text_rect);
}
LLColor4 bg_color = mReadOnly
? mReadOnlyBgColor.get()
: hasFocus()
? mFocusBgColor.get()
: mWriteableBgColor.get();
- gl_rect_2d(doc_rect, bg_color % alpha, TRUE);
+ gl_rect_2d(text_rect, bg_color % alpha, TRUE);
}
- // draw document view
- LLUICtrl::draw();
-
- {
- // only clip if we support scrolling...
- // since convention is that text boxes never vertically truncate their contents
- // regardless of rect bounds
- LLLocalClipRect clip(doc_rect, mScroller != NULL);
+ bool should_clip = mClip || mScroller != NULL;
+ { LLLocalClipRect clip(text_rect, should_clip);
+
+ // draw document view
+ if (mScroller)
+ {
+ drawChild(mScroller);
+ }
+ else
+ {
+ drawChild(mDocumentView);
+ }
+
drawSelectionBackground();
drawText();
drawCursor();
}
+
+ mDocumentView->setVisible(FALSE);
+ LLUICtrl::draw();
+ mDocumentView->setVisible(TRUE);
}
@@ -1415,7 +1439,7 @@ S32 LLTextBase::getFirstVisibleLine() const
return iter - mLineInfoList.begin();
}
-std::pair<S32, S32> LLTextBase::getVisibleLines(bool fully_visible)
+std::pair<S32, S32> LLTextBase::getVisibleLines(bool require_fully_visible)
{
LLRect visible_region = getVisibleDocumentRect();
line_list_t::const_iterator first_iter;
@@ -1424,14 +1448,14 @@ std::pair<S32, S32> LLTextBase::getVisibleLines(bool fully_visible)
// make sure we have an up-to-date mLineInfoList
reflow();
- if (fully_visible)
+ if (require_fully_visible)
{
first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_top());
- last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_bottom());
+ last_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_bottom());
}
else
{
- first_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_bottom());
+ first_iter = std::upper_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mTop, compare_bottom());
last_iter = std::lower_bound(mLineInfoList.begin(), mLineInfoList.end(), visible_region.mBottom, compare_top());
}
return std::pair<S32, S32>(first_iter - mLineInfoList.begin(), last_iter - mLineInfoList.begin());
@@ -2405,14 +2429,41 @@ LLRect LLTextBase::getVisibleDocumentRect() const
{
return mScroller->getVisibleContentRect();
}
- else
+ else if (mClip)
{
- // entire document rect is visible when not scrolling
+ LLRect visible_text_rect = getVisibleTextRect();
+ LLRect doc_rect = mDocumentView->getRect();
+ visible_text_rect.translate(-doc_rect.mLeft, -doc_rect.mBottom);
+
+ // reject partially visible lines
+ LLRect visible_lines_rect;
+ for (line_list_t::const_iterator it = mLineInfoList.begin(), end_it = mLineInfoList.end();
+ it != end_it;
+ ++it)
+ {
+ bool line_visible = mClipPartial ? visible_text_rect.contains(it->mRect) : visible_text_rect.overlaps(it->mRect);
+ if (line_visible)
+ {
+ if (visible_lines_rect.isEmpty())
+ {
+ visible_lines_rect = it->mRect;
+ }
+ else
+ {
+ visible_lines_rect.unionWith(it->mRect);
+ }
+ }
+ }
+ return visible_lines_rect;
+ }
+ else
+ { // entire document rect is visible
// but offset according to height of widget
+
LLRect doc_rect = mDocumentView->getLocalRect();
doc_rect.mLeft -= mDocumentView->getRect().mLeft;
// adjust for height of text above widget baseline
- doc_rect.mBottom = doc_rect.getHeight() - mVisibleTextRect.getHeight();
+ doc_rect.mBottom = llmin(0, doc_rect.getHeight() - mVisibleTextRect.getHeight());
return doc_rect;
}
}
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index aafcf8ceb0..7d545a1ba6 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -265,6 +265,7 @@ public:
use_ellipses,
parse_urls,
parse_highlights,
+ clip,
clip_partial;
Optional<S32> v_pad,
@@ -338,7 +339,7 @@ public:
void addDocumentChild(LLView* view);
void removeDocumentChild(LLView* view);
const LLView* getDocumentView() const { return mDocumentView; }
- LLRect getVisibleTextRect() { return mVisibleTextRect; }
+ LLRect getVisibleTextRect() const { return mVisibleTextRect; }
LLRect getTextBoundingRect();
LLRect getVisibleDocumentRect() const;
@@ -552,6 +553,7 @@ protected:
bool mTrackEnd; // if true, keeps scroll position at end of document during resize
bool mReadOnly;
bool mBGVisible; // render background?
+ bool mClip; // clip text to widget rect
bool mClipPartial; // false if we show lines that are partially inside bounding rect
bool mPlainText; // didn't use Image or Icon segments
S32 mMaxTextByteLength; // Maximum length mText is allowed to be in bytes
diff --git a/indra/newview/character/avatar_lad.xml b/indra/newview/character/avatar_lad.xml
index 85899603ee..ec162e3608 100644
--- a/indra/newview/character/avatar_lad.xml
+++ b/indra/newview/character/avatar_lad.xml
@@ -4339,8 +4339,8 @@
wearable="shape"
edit_group="driven"
value_default="0"
- value_min="-2"
- value_max="2">
+ value_min="-3"
+ value_max="3">
<param_morph />
</param>
@@ -4352,8 +4352,8 @@
wearable="shape"
edit_group="driven"
value_default="0"
- value_min="-1"
- value_max="1">
+ value_min="-1.5"
+ value_max="1.5">
<param_morph />
</param>
@@ -11916,7 +11916,7 @@ render_pass="bump">
edit_group="physics_breasts_updown"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
@@ -11971,7 +11971,7 @@ render_pass="bump">
edit_group="physics_breasts_inout"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
@@ -12058,7 +12058,7 @@ render_pass="bump">
edit_group="physics_belly_updown"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
@@ -12144,7 +12144,7 @@ render_pass="bump">
edit_group="physics_butt_updown"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
@@ -12193,7 +12193,7 @@ render_pass="bump">
edit_group="physics_butt_leftright"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
@@ -12244,7 +12244,7 @@ render_pass="bump">
edit_group="physics_breasts_leftright"
value_default=".1"
value_min="0"
- value_max="1">
+ value_max="3">
<param_driver />
</param>
<param
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index cbd996f909..061ef7268e 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -2467,6 +2467,14 @@ bool LLAppViewer::initConfiguration()
}
}
+ // If automatic login from command line with --login switch
+ // init StartSLURL location. In interactive login, LLPanelLogin
+ // will take care of it.
+ if ((clp.hasOption("login") || clp.hasOption("autologin")) && !clp.hasOption("url") && !clp.hasOption("slurl"))
+ {
+ LLStartUp::setStartSLURL(LLSLURL(gSavedSettings.getString("LoginLocation")));
+ }
+
if (!gSavedSettings.getBOOL("AllowMultipleViewers"))
{
//
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 53835f0166..b1975c7261 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -1059,12 +1059,11 @@ void LLInventoryModel::idleNotifyObservers()
{
return;
}
- notifyObservers("");
+ notifyObservers();
}
// Call this method when it's time to update everyone on a new state.
-// The optional argument 'service_name' is used by Agent Inventory Service [DEV-20328]
-void LLInventoryModel::notifyObservers(const std::string service_name)
+void LLInventoryModel::notifyObservers()
{
if (mIsNotifyObservers)
{
@@ -1081,15 +1080,7 @@ void LLInventoryModel::notifyObservers(const std::string service_name)
{
LLInventoryObserver* observer = *iter;
- if (service_name.empty())
- {
- observer->changed(mModifyMask);
- }
- else
- {
- observer->mMessageName = service_name;
- observer->changed(mModifyMask);
- }
+ observer->changed(mModifyMask);
// safe way to increment since changed may delete entries! (@!##%@!@&*!)
iter = mObservers.upper_bound(observer);
@@ -1187,7 +1178,7 @@ void LLInventoryModel::fetchInventoryResponder::result(const LLSD& content)
{
changes |= gInventory.updateItem(*it);
}
- gInventory.notifyObservers("fetchinventory");
+ gInventory.notifyObservers();
gViewerWindow->getWindow()->decBusyCount();
}
@@ -1196,7 +1187,7 @@ void LLInventoryModel::fetchInventoryResponder::error(U32 status, const std::str
{
llinfos << "fetchInventory::error "
<< status << ": " << reason << llendl;
- gInventory.notifyObservers("fetchinventory");
+ gInventory.notifyObservers();
}
bool LLInventoryModel::fetchDescendentsOf(const LLUUID& folder_id) const
diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h
index f6728fd575..15da09990f 100644
--- a/indra/newview/llinventorymodel.h
+++ b/indra/newview/llinventorymodel.h
@@ -425,9 +425,8 @@ public:
// has been indicated.
void idleNotifyObservers();
- // Call to explicitly update everyone on a new state. The optional argument
- // 'service_name' is used by Agent Inventory Service [DEV-20328]
- void notifyObservers(const std::string service_name="");
+ // Call to explicitly update everyone on a new state.
+ void notifyObservers();
// Allows outsiders to tell the inventory if something has
// been changed 'under the hood', but outside the control of the
diff --git a/indra/newview/llinventorymodelbackgroundfetch.cpp b/indra/newview/llinventorymodelbackgroundfetch.cpp
index e31360fcbc..7b1ff102e7 100644
--- a/indra/newview/llinventorymodelbackgroundfetch.cpp
+++ b/indra/newview/llinventorymodelbackgroundfetch.cpp
@@ -388,7 +388,7 @@ void LLInventoryModelFetchDescendentsResponder::result(const LLSD& content)
titem->setParent(lost_uuid);
titem->updateParentOnServer(FALSE);
gInventory.updateItem(titem);
- gInventory.notifyObservers("fetchDescendents");
+ gInventory.notifyObservers();
}
}
@@ -464,7 +464,7 @@ void LLInventoryModelFetchDescendentsResponder::result(const LLSD& content)
fetcher->setAllFoldersFetched();
}
- gInventory.notifyObservers("fetchDescendents");
+ gInventory.notifyObservers();
}
// If we get back an error (not found, etc...), handle it here.
@@ -496,7 +496,7 @@ void LLInventoryModelFetchDescendentsResponder::error(U32 status, const std::str
fetcher->setAllFoldersFetched();
}
}
- gInventory.notifyObservers("fetchDescendents");
+ gInventory.notifyObservers();
}
BOOL LLInventoryModelFetchDescendentsResponder::getIsRecursive(const LLUUID& cat_id) const
diff --git a/indra/newview/llinventoryobserver.cpp b/indra/newview/llinventoryobserver.cpp
index 0fd4b2bee5..6bf19e346d 100644
--- a/indra/newview/llinventoryobserver.cpp
+++ b/indra/newview/llinventoryobserver.cpp
@@ -572,16 +572,7 @@ void LLInventoryAddedObserver::changed(U32 mask)
// the network, figure out which item was updated.
LLMessageSystem* msg = gMessageSystem;
- std::string msg_name;
- if (mMessageName.empty())
- {
- msg_name = msg->getMessageName();
- }
- else
- {
- msg_name = mMessageName;
- }
-
+ std::string msg_name = msg->getMessageName();
if (msg_name.empty())
{
return;
diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h
index f2a2049a51..2d9021961e 100644
--- a/indra/newview/llinventoryobserver.h
+++ b/indra/newview/llinventoryobserver.h
@@ -63,7 +63,6 @@ public:
LLInventoryObserver();
virtual ~LLInventoryObserver();
virtual void changed(U32 mask) = 0;
- std::string mMessageName; // used by Agent Inventory Service only. [DEV-20328]
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp
index 968e62a8c3..23fa0cbd9c 100644
--- a/indra/newview/llphysicsmotion.cpp
+++ b/indra/newview/llphysicsmotion.cpp
@@ -121,7 +121,8 @@ protected:
return mCharacter->getVisualParamWeight(param_name.c_str());
}
void setParamValue(LLViewerVisualParam *param,
- const F32 new_value_local);
+ const F32 new_value_local,
+ F32 behavior_maxeffect);
F32 toLocal(const LLVector3 &world);
F32 calculateVelocity_local(const F32 time_delta);
@@ -472,9 +473,6 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
F32 behavior_maxeffect = getParamValue("MaxEffect");
if (physics_test)
behavior_maxeffect = 1.0f;
- // Maximum effect is [0,1] range.
- const F32 min_val = 0.5f-behavior_maxeffect/2.0;
- const F32 max_val = 0.5f+behavior_maxeffect/2.0;
// mPositon_local should be in normalized 0,1 range already. Just making sure...
F32 position_current_local = llclamp(mPosition_local,
@@ -572,12 +570,12 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
position_new_local = position_user_local;
// Zero out the velocity if the param is being pushed beyond its limits.
- if ((position_new_local < min_val && velocity_new_local < 0) ||
- (position_new_local > max_val && velocity_new_local > 0))
+ if ((position_new_local < 0 && velocity_new_local < 0) ||
+ (position_new_local > 1 && velocity_new_local > 0))
{
velocity_new_local = 0;
}
-
+
// Check for NaN values. A NaN value is detected if the variables doesn't equal itself.
// If NaN, then reset everything.
if ((mPosition_local != mPosition_local) ||
@@ -595,8 +593,8 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
}
const F32 position_new_local_clamped = llclamp(position_new_local,
- min_val,
- max_val);
+ 0.0f,
+ 1.0f);
LLDriverParam *driver_param = dynamic_cast<LLDriverParam *>(mParamDriver);
llassert_always(driver_param);
@@ -617,7 +615,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
{
LLDrivenEntry &entry = (*iter);
LLViewerVisualParam *driven_param = entry.mParam;
- setParamValue(driven_param,position_new_local_clamped);
+ setParamValue(driven_param,position_new_local_clamped, behavior_maxeffect);
}
}
@@ -699,12 +697,19 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
// Range of new_value_local is assumed to be [0 , 1] normalized.
void LLPhysicsMotion::setParamValue(LLViewerVisualParam *param,
- F32 new_value_normalized)
+ F32 new_value_normalized,
+ F32 behavior_maxeffect)
{
const F32 value_min_local = param->getMinWeight();
const F32 value_max_local = param->getMaxWeight();
+ const F32 min_val = 0.5f-behavior_maxeffect/2.0;
+ const F32 max_val = 0.5f+behavior_maxeffect/2.0;
- const F32 new_value_local = value_min_local + (value_max_local-value_min_local) * new_value_normalized;
+ // Scale from [0,1] to [min_val,max_val]
+ const F32 new_value_rescaled = min_val + (max_val-min_val) * new_value_normalized;
+
+ // Scale from [0,1] to [value_min_local,value_max_local]
+ const F32 new_value_local = value_min_local + (value_max_local-value_min_local) * new_value_rescaled;
mCharacter->setVisualParamWeight(param,
new_value_local,
diff --git a/indra/newview/llsidetraylistener.cpp b/indra/newview/llsidetraylistener.cpp
index 6db13e517d..cd6fa28948 100644
--- a/indra/newview/llsidetraylistener.cpp
+++ b/indra/newview/llsidetraylistener.cpp
@@ -4,8 +4,25 @@
* @date 2011-02-15
* @brief Implementation for llsidetraylistener.
*
- * $LicenseInfo:firstyear=2011&license=lgpl$
- * Copyright (c) 2011, Linden Research, Inc.
+ * $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$
*/
diff --git a/indra/newview/llsidetraylistener.h b/indra/newview/llsidetraylistener.h
index 0dd2067433..51e2137762 100644
--- a/indra/newview/llsidetraylistener.h
+++ b/indra/newview/llsidetraylistener.h
@@ -4,8 +4,25 @@
* @date 2011-02-15
* @brief
*
- * $LicenseInfo:firstyear=2011&license=lgpl$
- * Copyright (c) 2011, Linden Research, Inc.
+ * $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$
*/
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index e7b5c13860..cb49976e5f 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -310,7 +310,7 @@ void LLIMWellWindow::RowPanel::onChicletSizeChanged(LLChiclet* ctrl, const LLSD&
S32 new_text_left = mChiclet->getRect().mRight + CHICLET_HPAD;
LLRect text_rect = text->getRect();
text_rect.mLeft = new_text_left;
- text->setRect(text_rect);
+ text->setShape(text_rect);
}
//---------------------------------------------------------------------------------
diff --git a/indra/newview/llwearabletype.cpp b/indra/newview/llwearabletype.cpp
index f933be4d8f..9e95604712 100644
--- a/indra/newview/llwearabletype.cpp
+++ b/indra/newview/llwearabletype.cpp
@@ -144,6 +144,7 @@ BOOL LLWearableType::getDisableCameraSwitch(LLWearableType::EType type)
{
const LLWearableDictionary *dict = LLWearableDictionary::getInstance();
const WearableEntry *entry = dict->lookup(type);
+ if (!entry) return FALSE;
return entry->mDisableCameraSwitch;
}
@@ -152,6 +153,7 @@ BOOL LLWearableType::getAllowMultiwear(LLWearableType::EType type)
{
const LLWearableDictionary *dict = LLWearableDictionary::getInstance();
const WearableEntry *entry = dict->lookup(type);
+ if (!entry) return FALSE;
return entry->mAllowMultiwear;
}
diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp
index e9d4d99753..7164934b26 100644
--- a/indra/test_apps/llplugintest/llmediaplugintest.cpp
+++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp
@@ -4,7 +4,7 @@
*
* $LicenseInfo:firstyear=2008&license=viewerlgpl$
* Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
+ * 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
@@ -2233,7 +2233,13 @@ void LLMediaPluginTest::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent e
case MEDIA_EVENT_LINK_HOVERED:
{
std::cerr << "Media event: MEDIA_EVENT_LINK_HOVERED, hover text is: " << self->getHoverText() << std::endl;
- };
+ }
+ break;
+
+ default:
+ {
+ std::cerr << "Media event: <unknown>, code is: " << int(event) << std::endl;
+ }
break;
}
}