aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorJacek Antonelli2008-08-15 23:45:38 -0500
committerJacek Antonelli2008-08-15 23:45:38 -0500
commitd7f00c03e236098b10ad5e30d35a0f159eb17255 (patch)
treed45c68b3a638b0545c88c1f644a6b9a689ce58e0 /linden/indra
parentSecond Life viewer sources 1.19.1.2 (diff)
downloadmeta-impy-d7f00c03e236098b10ad5e30d35a0f159eb17255.zip
meta-impy-d7f00c03e236098b10ad5e30d35a0f159eb17255.tar.gz
meta-impy-d7f00c03e236098b10ad5e30d35a0f159eb17255.tar.bz2
meta-impy-d7f00c03e236098b10ad5e30d35a0f159eb17255.tar.xz
Second Life viewer sources 1.19.1.3
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/llcommon/llares.cpp32
-rw-r--r--linden/indra/llcommon/llversionserver.h2
-rw-r--r--linden/indra/llcommon/llversionviewer.h2
-rw-r--r--linden/indra/llimage/llimage.cpp27
-rw-r--r--linden/indra/llimage/llimage.h9
-rw-r--r--linden/indra/llwindow/llwindowwin32.cpp480
-rw-r--r--linden/indra/newview/English.lproj/InfoPlist.strings4
-rw-r--r--linden/indra/newview/Info-SecondLife.plist2
-rw-r--r--linden/indra/newview/featuretable.txt5
-rw-r--r--linden/indra/newview/featuretable_linux.txt2
-rw-r--r--linden/indra/newview/featuretable_mac.txt2
-rw-r--r--linden/indra/newview/gpu_table.txt18
-rw-r--r--linden/indra/newview/llappviewer.cpp8
-rw-r--r--linden/indra/newview/llcontroldef.cpp6
-rw-r--r--linden/indra/newview/llfasttimerview.cpp4
-rw-r--r--linden/indra/newview/llfloaterhtmlhelp.cpp9
-rw-r--r--linden/indra/newview/llinventorymodel.cpp17
-rw-r--r--linden/indra/newview/llselectmgr.cpp15
-rw-r--r--linden/indra/newview/llstartup.cpp14
-rw-r--r--linden/indra/newview/llviewermenu.cpp2
-rw-r--r--linden/indra/newview/llviewerwindow.cpp2
-rw-r--r--linden/indra/newview/releasenotes.txt1323
-rw-r--r--linden/indra/newview/res/newViewRes.rc8
-rw-r--r--linden/indra/newview/skins/xui/de/alerts.xml2
-rw-r--r--linden/indra/newview/skins/xui/de/floater_html.xml7
-rw-r--r--linden/indra/newview/skins/xui/de/panel_login.xml3
-rw-r--r--linden/indra/newview/skins/xui/de/panel_preferences_graphics1.xml2
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_about_land.xml4
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_day_cycle_options.xml42
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_html.xml6
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_instant_message.xml4
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_media_browser.xml26
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_water.xml34
-rw-r--r--linden/indra/newview/skins/xui/en-us/floater_windlight_options.xml60
-rw-r--r--linden/indra/newview/skins/xui/en-us/panel_preferences_general.xml3
-rw-r--r--linden/indra/newview/skins/xui/es/floater_html.xml9
-rw-r--r--linden/indra/newview/skins/xui/es/panel_login.xml3
-rw-r--r--linden/indra/newview/skins/xui/fr/floater_html.xml9
-rw-r--r--linden/indra/newview/skins/xui/fr/panel_login.xml3
-rw-r--r--linden/indra/newview/skins/xui/ja/floater_html.xml7
-rw-r--r--linden/indra/newview/skins/xui/ja/panel_login.xml3
-rw-r--r--linden/indra/newview/skins/xui/ja/panel_preferences_graphics1.xml2
-rw-r--r--linden/indra/newview/skins/xui/ko/floater_html.xml7
-rw-r--r--linden/indra/newview/skins/xui/ko/panel_login.xml3
-rw-r--r--linden/indra/newview/skins/xui/ko/panel_preferences_graphics1.xml2
-rw-r--r--linden/indra/newview/skins/xui/zh/floater_html.xml9
-rw-r--r--linden/indra/newview/skins/xui/zh/panel_login.xml3
47 files changed, 514 insertions, 1732 deletions
diff --git a/linden/indra/llcommon/llares.cpp b/linden/indra/llcommon/llares.cpp
index cf5ff18..4adf0c3 100644
--- a/linden/indra/llcommon/llares.cpp
+++ b/linden/indra/llcommon/llares.cpp
@@ -103,18 +103,21 @@ void LLAres::QueryResponder::queryError(int code)
103} 103}
104 104
105LLAres::LLAres() 105LLAres::LLAres()
106 : chan_(NULL)
106{ 107{
107 ares_init(&chan_); 108 ares_init(&chan_);
108} 109}
109 110
110LLAres::~LLAres() 111LLAres::~LLAres()
111{ 112{
112 ares_destroy(chan_); 113 if (chan_)
114 ares_destroy(chan_);
113} 115}
114 116
115void LLAres::cancel() 117void LLAres::cancel()
116{ 118{
117 ares_cancel(chan_); 119 if (chan_)
120 ares_cancel(chan_);
118} 121}
119 122
120static void host_callback(void *arg, int status, struct hostent *ent) 123static void host_callback(void *arg, int status, struct hostent *ent)
@@ -135,6 +138,11 @@ static void host_callback(void *arg, int status, struct hostent *ent)
135void LLAres::getHostByName(const char *name, HostResponder *resp, 138void LLAres::getHostByName(const char *name, HostResponder *resp,
136 int family) 139 int family)
137{ 140{
141 if (!chan_)
142 {
143 resp->hostError(ARES_EBADRESP);
144 return;
145 }
138 ares_gethostbyname(chan_, name, family, host_callback, 146 ares_gethostbyname(chan_, name, family, host_callback,
139 new LLPointer<LLAres::HostResponder>(resp)); 147 new LLPointer<LLAres::HostResponder>(resp));
140} 148}
@@ -398,6 +406,11 @@ static void nameinfo_callback(void *arg, int status, char *node, char *service)
398void LLAres::getNameInfo(const struct sockaddr &sa, socklen_t salen, int flags, 406void LLAres::getNameInfo(const struct sockaddr &sa, socklen_t salen, int flags,
399 NameInfoResponder *resp) 407 NameInfoResponder *resp)
400{ 408{
409 if (!chan_)
410 {
411 resp->nameInfoError(ARES_EBADRESP);
412 return;
413 }
401 ares_getnameinfo(chan_, &sa, salen, flags, nameinfo_callback, 414 ares_getnameinfo(chan_, &sa, salen, flags, nameinfo_callback,
402 new LLPointer<NameInfoResponder>(resp)); 415 new LLPointer<NameInfoResponder>(resp));
403} 416}
@@ -421,6 +434,11 @@ static void search_callback(void *arg, int status, unsigned char *abuf,
421void LLAres::search(const std::string &query, LLResType type, 434void LLAres::search(const std::string &query, LLResType type,
422 QueryResponder *resp) 435 QueryResponder *resp)
423{ 436{
437 if (!chan_)
438 {
439 resp->queryError(ARES_EBADRESP);
440 return;
441 }
424 ares_search(chan_, query.c_str(), ns_c_in, type, search_callback, 442 ares_search(chan_, query.c_str(), ns_c_in, type, search_callback,
425 new LLPointer<QueryResponder>(resp)); 443 new LLPointer<QueryResponder>(resp));
426} 444}
@@ -440,6 +458,11 @@ bool LLAres::process(U64 timeout)
440 int nactive = 0; 458 int nactive = 0;
441 int bitmask; 459 int bitmask;
442 460
461 if (!chan_)
462 {
463 goto bail;
464 }
465
443 bitmask = ares_getsock(chan_, socks, ARES_GETSOCK_MAXNUM); 466 bitmask = ares_getsock(chan_, socks, ARES_GETSOCK_MAXNUM);
444 467
445 if (bitmask == 0) 468 if (bitmask == 0)
@@ -511,6 +534,11 @@ bail:
511 534
512bool LLAres::processAll() 535bool LLAres::processAll()
513{ 536{
537 if (!chan_)
538 {
539 return false;
540 }
541
514 bool anyProcessed = false, ret; 542 bool anyProcessed = false, ret;
515 543
516 do { 544 do {
diff --git a/linden/indra/llcommon/llversionserver.h b/linden/indra/llcommon/llversionserver.h
index 922e4ac..05ac9b3 100644
--- a/linden/indra/llcommon/llversionserver.h
+++ b/linden/indra/llcommon/llversionserver.h
@@ -35,7 +35,7 @@
35const S32 LL_VERSION_MAJOR = 1; 35const S32 LL_VERSION_MAJOR = 1;
36const S32 LL_VERSION_MINOR = 19; 36const S32 LL_VERSION_MINOR = 19;
37const S32 LL_VERSION_PATCH = 1; 37const S32 LL_VERSION_PATCH = 1;
38const S32 LL_VERSION_BUILD = 80913; 38const S32 LL_VERSION_BUILD = 3;
39 39
40const char * const LL_CHANNEL = "Second Life Server"; 40const char * const LL_CHANNEL = "Second Life Server";
41 41
diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h
index c0296db..4d8f521 100644
--- a/linden/indra/llcommon/llversionviewer.h
+++ b/linden/indra/llcommon/llversionviewer.h
@@ -35,7 +35,7 @@
35const S32 LL_VERSION_MAJOR = 1; 35const S32 LL_VERSION_MAJOR = 1;
36const S32 LL_VERSION_MINOR = 19; 36const S32 LL_VERSION_MINOR = 19;
37const S32 LL_VERSION_PATCH = 1; 37const S32 LL_VERSION_PATCH = 1;
38const S32 LL_VERSION_BUILD = 2; 38const S32 LL_VERSION_BUILD = 3;
39 39
40const char * const LL_CHANNEL = "Second Life Release"; 40const char * const LL_CHANNEL = "Second Life Release";
41 41
diff --git a/linden/indra/llimage/llimage.cpp b/linden/indra/llimage/llimage.cpp
index 15da71a..bcd9463 100644
--- a/linden/indra/llimage/llimage.cpp
+++ b/linden/indra/llimage/llimage.cpp
@@ -57,6 +57,7 @@ LLImageBase::LLImageBase()
57 mComponents(0), 57 mComponents(0),
58 mMemType(LLMemType::MTYPE_IMAGEBASE) 58 mMemType(LLMemType::MTYPE_IMAGEBASE)
59{ 59{
60 mBadBufferAllocation = FALSE ;
60} 61}
61 62
62// virtual 63// virtual
@@ -141,6 +142,7 @@ U8* LLImageBase::allocateData(S32 size)
141 if (!mData || size != mDataSize) 142 if (!mData || size != mDataSize)
142 { 143 {
143 deleteData(); // virtual 144 deleteData(); // virtual
145 mBadBufferAllocation = FALSE ;
144 mData = new U8[size]; 146 mData = new U8[size];
145 if (!mData) 147 if (!mData)
146 { 148 {
@@ -148,6 +150,7 @@ U8* LLImageBase::allocateData(S32 size)
148 llwarns << "allocate image data: " << size << llendl; 150 llwarns << "allocate image data: " << size << llendl;
149 size = 0 ; 151 size = 0 ;
150 mWidth = mHeight = 0 ; 152 mWidth = mHeight = 0 ;
153 mBadBufferAllocation = TRUE ;
151 } 154 }
152 mDataSize = size; 155 mDataSize = size;
153 } 156 }
@@ -176,6 +179,30 @@ U8* LLImageBase::reallocateData(S32 size)
176 return mData; 179 return mData;
177} 180}
178 181
182const U8* LLImageBase::getData() const
183{
184 if(mBadBufferAllocation)
185 {
186 llerrs << "Bad memory allocation for the image buffer!" << llendl ;
187 }
188
189 return mData;
190} // read only
191
192U8* LLImageBase::getData()
193{
194 if(mBadBufferAllocation)
195 {
196 llerrs << "Bad memory allocation for the image buffer!" << llendl ;
197 }
198
199 return mData;
200}
201
202BOOL LLImageBase::isBufferInvalid()
203{
204 return mBadBufferAllocation || mData == NULL ;
205}
179 206
180void LLImageBase::setSize(S32 width, S32 height, S32 ncomponents) 207void LLImageBase::setSize(S32 width, S32 height, S32 ncomponents)
181{ 208{
diff --git a/linden/indra/llimage/llimage.h b/linden/indra/llimage/llimage.h
index 8546303..199dc07 100644
--- a/linden/indra/llimage/llimage.h
+++ b/linden/indra/llimage/llimage.h
@@ -101,9 +101,10 @@ public:
101 S8 getComponents() const { return mComponents; } 101 S8 getComponents() const { return mComponents; }
102 S32 getDataSize() const { return mDataSize; } 102 S32 getDataSize() const { return mDataSize; }
103 103
104 const U8 *getData() const { return mData; } // read only 104 const U8 *getData() const ;
105 U8 *getData() { return mData; } 105 U8 *getData() ;
106 106 BOOL isBufferInvalid() ;
107
107 void setSize(S32 width, S32 height, S32 ncomponents); 108 void setSize(S32 width, S32 height, S32 ncomponents);
108 U8* allocateDataSize(S32 width, S32 height, S32 ncomponents, S32 size = -1); // setSize() + allocateData() 109 U8* allocateDataSize(S32 width, S32 height, S32 ncomponents, S32 size = -1); // setSize() + allocateData()
109 110
@@ -133,6 +134,8 @@ private:
133 134
134 S8 mComponents; 135 S8 mComponents;
135 136
137 BOOL mBadBufferAllocation ;
138
136public: 139public:
137 S16 mMemType; // debug 140 S16 mMemType; // debug
138 141
diff --git a/linden/indra/llwindow/llwindowwin32.cpp b/linden/indra/llwindow/llwindowwin32.cpp
index 3f33f1a..f6beb79 100644
--- a/linden/indra/llwindow/llwindowwin32.cpp
+++ b/linden/indra/llwindow/llwindowwin32.cpp
@@ -1,4 +1,4 @@
1/** 1/**
2 * @file llwindowwin32.cpp 2 * @file llwindowwin32.cpp
3 * @brief Platform-dependent implementation of llwindow 3 * @brief Platform-dependent implementation of llwindow
4 * 4 *
@@ -103,7 +103,7 @@ LLCoordWindow LLWindowWin32::sWinIMEWindowPosition(-1,-1);
103// as a default, and we can't link against imm32.lib statically. 103// as a default, and we can't link against imm32.lib statically.
104// I believe DLL loading of this type is best suited to do 104// I believe DLL loading of this type is best suited to do
105// in a static initialization of a class. What I'm not sure is 105// in a static initialization of a class. What I'm not sure is
106// whether it follows the Linden Conding Standard... 106// whether it follows the Linden Conding Standard...
107// See http://wiki.secondlife.com/wiki/Coding_standards#Static_Members 107// See http://wiki.secondlife.com/wiki/Coding_standards#Static_Members
108 108
109class LLWinImm 109class LLWinImm
@@ -113,16 +113,16 @@ public:
113 113
114public: 114public:
115 // Wrappers for IMM API. 115 // Wrappers for IMM API.
116 static BOOL isIME(HKL hkl); 116 static BOOL isIME(HKL hkl);
117 static HWND getDefaultIMEWnd(HWND hwnd); 117 static HWND getDefaultIMEWnd(HWND hwnd);
118 static HIMC getContext(HWND hwnd); 118 static HIMC getContext(HWND hwnd);
119 static BOOL releaseContext(HWND hwnd, HIMC himc); 119 static BOOL releaseContext(HWND hwnd, HIMC himc);
120 static BOOL getOpenStatus(HIMC himc); 120 static BOOL getOpenStatus(HIMC himc);
121 static BOOL setOpenStatus(HIMC himc, BOOL status); 121 static BOOL setOpenStatus(HIMC himc, BOOL status);
122 static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence); 122 static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence);
123 static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence); 123 static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence);
124 static BOOL getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); 124 static BOOL getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form);
125 static BOOL setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); 125 static BOOL setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form);
126 static LONG getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length); 126 static LONG getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length);
127 static BOOL setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength); 127 static BOOL setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength);
128 static BOOL setCompositionFont(HIMC himc, LPLOGFONTW logfont); 128 static BOOL setCompositionFont(HIMC himc, LPLOGFONTW logfont);
@@ -160,10 +160,10 @@ LLWinImm LLWinImm::sTheInstance;
160 160
161LLWinImm::LLWinImm() : mHImmDll(NULL) 161LLWinImm::LLWinImm() : mHImmDll(NULL)
162{ 162{
163 // Check system metrics 163 // Check system metrics
164 if ( !GetSystemMetrics( SM_DBCSENABLED ) ) 164 if ( !GetSystemMetrics( SM_DBCSENABLED ) )
165 return; 165 return;
166 166
167 167
168 mHImmDll = LoadLibraryA("Imm32"); 168 mHImmDll = LoadLibraryA("Imm32");
169 if (mHImmDll != NULL) 169 if (mHImmDll != NULL)
@@ -200,13 +200,13 @@ LLWinImm::LLWinImm() : mHImmDll(NULL)
200 mImmSetCandidateWindow == NULL || 200 mImmSetCandidateWindow == NULL ||
201 mImmNotifyIME == NULL) 201 mImmNotifyIME == NULL)
202 { 202 {
203 // If any of the above API entires are not found, we can't use IMM API. 203 // If any of the above API entires are not found, we can't use IMM API.
204 // So, turn off the IMM support. We should log some warning message in 204 // So, turn off the IMM support. We should log some warning message in
205 // the case, since it is very unusual; these APIs are available from 205 // the case, since it is very unusual; these APIs are available from
206 // the beginning, and all versions of IMM32.DLL should have them all. 206 // the beginning, and all versions of IMM32.DLL should have them all.
207 // Unfortunately, this code may be executed before initialization of 207 // Unfortunately, this code may be executed before initialization of
208 // the logging channel (llwarns), and we can't do it here... Yes, this 208 // the logging channel (llwarns), and we can't do it here... Yes, this
209 // is one of disadvantages to use static constraction to DLL loading. 209 // is one of disadvantages to use static constraction to DLL loading.
210 FreeLibrary(mHImmDll); 210 FreeLibrary(mHImmDll);
211 mHImmDll = NULL; 211 mHImmDll = NULL;
212 212
@@ -231,117 +231,117 @@ LLWinImm::LLWinImm() : mHImmDll(NULL)
231} 231}
232 232
233 233
234// static 234// static
235BOOL LLWinImm::isIME(HKL hkl) 235BOOL LLWinImm::isIME(HKL hkl)
236{ 236{
237 if ( sTheInstance.mImmIsIME ) 237 if ( sTheInstance.mImmIsIME )
238 return sTheInstance.mImmIsIME(hkl); 238 return sTheInstance.mImmIsIME(hkl);
239 return FALSE; 239 return FALSE;
240} 240}
241 241
242// static 242// static
243HIMC LLWinImm::getContext(HWND hwnd) 243HIMC LLWinImm::getContext(HWND hwnd)
244{ 244{
245 if ( sTheInstance.mImmGetContext ) 245 if ( sTheInstance.mImmGetContext )
246 return sTheInstance.mImmGetContext(hwnd); 246 return sTheInstance.mImmGetContext(hwnd);
247 return 0; 247 return 0;
248} 248}
249 249
250//static 250//static
251BOOL LLWinImm::releaseContext(HWND hwnd, HIMC himc) 251BOOL LLWinImm::releaseContext(HWND hwnd, HIMC himc)
252{ 252{
253 if ( sTheInstance.mImmIsIME ) 253 if ( sTheInstance.mImmIsIME )
254 return sTheInstance.mImmReleaseContext(hwnd, himc); 254 return sTheInstance.mImmReleaseContext(hwnd, himc);
255 return FALSE; 255 return FALSE;
256} 256}
257 257
258// static 258// static
259BOOL LLWinImm::getOpenStatus(HIMC himc) 259BOOL LLWinImm::getOpenStatus(HIMC himc)
260{ 260{
261 if ( sTheInstance.mImmGetOpenStatus ) 261 if ( sTheInstance.mImmGetOpenStatus )
262 return sTheInstance.mImmGetOpenStatus(himc); 262 return sTheInstance.mImmGetOpenStatus(himc);
263 return FALSE; 263 return FALSE;
264} 264}
265 265
266// static 266// static
267BOOL LLWinImm::setOpenStatus(HIMC himc, BOOL status) 267BOOL LLWinImm::setOpenStatus(HIMC himc, BOOL status)
268{ 268{
269 if ( sTheInstance.mImmSetOpenStatus ) 269 if ( sTheInstance.mImmSetOpenStatus )
270 return sTheInstance.mImmSetOpenStatus(himc, status); 270 return sTheInstance.mImmSetOpenStatus(himc, status);
271 return FALSE; 271 return FALSE;
272} 272}
273 273
274// static 274// static
275BOOL LLWinImm::getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence) 275BOOL LLWinImm::getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence)
276{ 276{
277 if ( sTheInstance.mImmGetConversionStatus ) 277 if ( sTheInstance.mImmGetConversionStatus )
278 return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence); 278 return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence);
279 return FALSE; 279 return FALSE;
280} 280}
281 281
282// static 282// static
283BOOL LLWinImm::setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence) 283BOOL LLWinImm::setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence)
284{ 284{
285 if ( sTheInstance.mImmSetConversionStatus ) 285 if ( sTheInstance.mImmSetConversionStatus )
286 return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence); 286 return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence);
287 return FALSE; 287 return FALSE;
288} 288}
289 289
290// static 290// static
291BOOL LLWinImm::getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) 291BOOL LLWinImm::getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form)
292{ 292{
293 if ( sTheInstance.mImmGetCompostitionWindow ) 293 if ( sTheInstance.mImmGetCompostitionWindow )
294 return sTheInstance.mImmGetCompostitionWindow(himc, form); 294 return sTheInstance.mImmGetCompostitionWindow(himc, form);
295 return FALSE; 295 return FALSE;
296} 296}
297 297
298// static 298// static
299BOOL LLWinImm::setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) 299BOOL LLWinImm::setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form)
300{ 300{
301 if ( sTheInstance.mImmSetCompostitionWindow ) 301 if ( sTheInstance.mImmSetCompostitionWindow )
302 return sTheInstance.mImmSetCompostitionWindow(himc, form); 302 return sTheInstance.mImmSetCompostitionWindow(himc, form);
303 return FALSE; 303 return FALSE;
304} 304}
305 305
306 306
307// static 307// static
308LONG LLWinImm::getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length) 308LONG LLWinImm::getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length)
309{ 309{
310 if ( sTheInstance.mImmGetCompositionString ) 310 if ( sTheInstance.mImmGetCompositionString )
311 return sTheInstance.mImmGetCompositionString(himc, index, data, length); 311 return sTheInstance.mImmGetCompositionString(himc, index, data, length);
312 return FALSE; 312 return FALSE;
313} 313}
314 314
315 315
316// static 316// static
317BOOL LLWinImm::setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength) 317BOOL LLWinImm::setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength)
318{ 318{
319 if ( sTheInstance.mImmSetCompositionString ) 319 if ( sTheInstance.mImmSetCompositionString )
320 return sTheInstance.mImmSetCompositionString(himc, index, pComp, compLength, pRead, readLength); 320 return sTheInstance.mImmSetCompositionString(himc, index, pComp, compLength, pRead, readLength);
321 return FALSE; 321 return FALSE;
322} 322}
323 323
324// static 324// static
325BOOL LLWinImm::setCompositionFont(HIMC himc, LPLOGFONTW pFont) 325BOOL LLWinImm::setCompositionFont(HIMC himc, LPLOGFONTW pFont)
326{ 326{
327 if ( sTheInstance.mImmSetCompositionFont ) 327 if ( sTheInstance.mImmSetCompositionFont )
328 return sTheInstance.mImmSetCompositionFont(himc, pFont); 328 return sTheInstance.mImmSetCompositionFont(himc, pFont);
329 return FALSE; 329 return FALSE;
330} 330}
331 331
332// static 332// static
333BOOL LLWinImm::setCandidateWindow(HIMC himc, LPCANDIDATEFORM form) 333BOOL LLWinImm::setCandidateWindow(HIMC himc, LPCANDIDATEFORM form)
334{ 334{
335 if ( sTheInstance.mImmSetCandidateWindow ) 335 if ( sTheInstance.mImmSetCandidateWindow )
336 return sTheInstance.mImmSetCandidateWindow(himc, form); 336 return sTheInstance.mImmSetCandidateWindow(himc, form);
337 return FALSE; 337 return FALSE;
338} 338}
339 339
340// static 340// static
341BOOL LLWinImm::notifyIME(HIMC himc, DWORD action, DWORD index, DWORD value) 341BOOL LLWinImm::notifyIME(HIMC himc, DWORD action, DWORD index, DWORD value)
342{ 342{
343 if ( sTheInstance.mImmNotifyIME ) 343 if ( sTheInstance.mImmNotifyIME )
344 return sTheInstance.mImmNotifyIME(himc, action, index, value); 344 return sTheInstance.mImmNotifyIME(himc, action, index, value);
345 return FALSE; 345 return FALSE;
346} 346}
347 347
@@ -359,8 +359,8 @@ LLWinImm::~LLWinImm()
359} 359}
360 360
361 361
362LPDIRECTINPUT8 g_pDI = NULL; 362LPDIRECTINPUT8 g_pDI = NULL;
363LPDIRECTINPUTDEVICE8 g_pJoystick = NULL; 363LPDIRECTINPUTDEVICE8 g_pJoystick = NULL;
364BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance, 364BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance,
365 VOID* pContext ); 365 VOID* pContext );
366BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, 366BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
@@ -368,7 +368,7 @@ BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
368 368
369 369
370LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, 370LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
371 S32 height, U32 flags, 371 S32 height, U32 flags,
372 BOOL fullscreen, BOOL clearBg, 372 BOOL fullscreen, BOOL clearBg,
373 BOOL disable_vsync, BOOL use_gl, 373 BOOL disable_vsync, BOOL use_gl,
374 BOOL ignore_pixel_depth) 374 BOOL ignore_pixel_depth)
@@ -442,8 +442,8 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
442 442
443 // Grab screen size to sanitize the window 443 // Grab screen size to sanitize the window
444 S32 window_border_y = GetSystemMetrics(SM_CYBORDER); 444 S32 window_border_y = GetSystemMetrics(SM_CYBORDER);
445 S32 virtual_screen_x = GetSystemMetrics(SM_XVIRTUALSCREEN); 445 S32 virtual_screen_x = GetSystemMetrics(SM_XVIRTUALSCREEN);
446 S32 virtual_screen_y = GetSystemMetrics(SM_YVIRTUALSCREEN); 446 S32 virtual_screen_y = GetSystemMetrics(SM_YVIRTUALSCREEN);
447 S32 virtual_screen_width = GetSystemMetrics(SM_CXVIRTUALSCREEN); 447 S32 virtual_screen_width = GetSystemMetrics(SM_CXVIRTUALSCREEN);
448 S32 virtual_screen_height = GetSystemMetrics(SM_CYVIRTUALSCREEN); 448 S32 virtual_screen_height = GetSystemMetrics(SM_CYVIRTUALSCREEN);
449 449
@@ -554,7 +554,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
554 success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh); 554 success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh);
555 } 555 }
556 556
557 // Keep a copy of the actual current device mode in case we minimize 557 // Keep a copy of the actual current device mode in case we minimize
558 // and change the screen resolution. JC 558 // and change the screen resolution. JC
559 EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode); 559 EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode);
560 560
@@ -637,7 +637,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
637 // track_mouse_event.dwFlags = TME_LEAVE; 637 // track_mouse_event.dwFlags = TME_LEAVE;
638 // track_mouse_event.hwndTrack = mWindowHandle; 638 // track_mouse_event.hwndTrack = mWindowHandle;
639 // track_mouse_event.dwHoverTime = HOVER_DEFAULT; 639 // track_mouse_event.dwHoverTime = HOVER_DEFAULT;
640 // TrackMouseEvent( &track_mouse_event ); 640 // TrackMouseEvent( &track_mouse_event );
641 // } 641 // }
642 642
643 643
@@ -653,9 +653,9 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
653 //----------------------------------------------------------------------- 653 //-----------------------------------------------------------------------
654 PIXELFORMATDESCRIPTOR pfd = 654 PIXELFORMATDESCRIPTOR pfd =
655 { 655 {
656 sizeof(PIXELFORMATDESCRIPTOR), 656 sizeof(PIXELFORMATDESCRIPTOR),
657 1, 657 1,
658 pfdflags, 658 pfdflags,
659 PFD_TYPE_RGBA, 659 PFD_TYPE_RGBA,
660 BITS_PER_PIXEL, 660 BITS_PER_PIXEL,
661 0, 0, 0, 0, 0, 0, // RGB bits and shift, unused 661 0, 0, 0, 0, 0, 0, // RGB bits and shift, unused
@@ -888,7 +888,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
888 llinfos << "Swap Method: Unknown" << llendl; 888 llinfos << "Swap Method: Unknown" << llendl;
889 break; 889 break;
890 } 890 }
891 } 891 }
892 } 892 }
893 else 893 else
894 { 894 {
@@ -903,9 +903,9 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
903 OSMessageBox("Can't get pixel format description", "Error", OSMB_OK); 903 OSMessageBox("Can't get pixel format description", "Error", OSMB_OK);
904 return; 904 return;
905 } 905 }
906 llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) 906 llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits)
907 << " Alpha Bits " << S32(pfd.cAlphaBits) 907 << " Alpha Bits " << S32(pfd.cAlphaBits)
908 << " Depth Bits " << S32(pfd.cDepthBits) 908 << " Depth Bits " << S32(pfd.cDepthBits)
909 << llendl; 909 << llendl;
910 910
911 if (pfd.cColorBits < 32) 911 if (pfd.cColorBits < 32)
@@ -989,20 +989,20 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width,
989 // We're going to assume that gamma's the same for all 3 channels, because I don't feel like doing it otherwise. 989 // We're going to assume that gamma's the same for all 3 channels, because I don't feel like doing it otherwise.
990 // Using the red channel. 990 // Using the red channel.
991 991
992 F32 Csum = 0.0; 992 F32 Csum = 0.0;
993 S32 Ccount = 0; 993 S32 Ccount = 0;
994 for (i = 0; i < 256; i++) 994 for (i = 0; i < 256; i++)
995 { 995 {
996 if (i != 0 && mPrevGammaRamp[i] != 0 && mPrevGammaRamp[i] != 65536) 996 if (i != 0 && mPrevGammaRamp[i] != 0 && mPrevGammaRamp[i] != 65536)
997 { 997 {
998 F64 B = (i % 256) / 256.0; 998 F64 B = (i % 256) / 256.0;
999 F64 A = mPrevGammaRamp[i] / 65536.0; 999 F64 A = mPrevGammaRamp[i] / 65536.0;
1000 F32 C = (F32) ( log(A) / log(B) ); 1000 F32 C = (F32) ( log(A) / log(B) );
1001 Csum += C; 1001 Csum += C;
1002 Ccount++; 1002 Ccount++;
1003 } 1003 }
1004 } 1004 }
1005 mCurrentGamma = Csum / Ccount; 1005 mCurrentGamma = Csum / Ccount;
1006 1006
1007 llinfos << "Previous gamma: " << mCurrentGamma << llendl; 1007 llinfos << "Previous gamma: " << mCurrentGamma << llendl;
1008 } 1008 }
@@ -1027,7 +1027,7 @@ void LLWindowWin32::initInputDevices()
1027 // Direct Input 1027 // Direct Input
1028 HRESULT hr; 1028 HRESULT hr;
1029 1029
1030 if( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, 1030 if( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION,
1031 IID_IDirectInput8, (VOID**)&g_pDI, NULL ) ) ) 1031 IID_IDirectInput8, (VOID**)&g_pDI, NULL ) ) )
1032 { 1032 {
1033 llwarns << "Direct8InputCreate failed!" << llendl; 1033 llwarns << "Direct8InputCreate failed!" << llendl;
@@ -1037,7 +1037,7 @@ void LLWindowWin32::initInputDevices()
1037 while(1) 1037 while(1)
1038 { 1038 {
1039 // Look for a simple joystick we can use for this sample program. 1039 // Look for a simple joystick we can use for this sample program.
1040 if (FAILED( hr = g_pDI->EnumDevices( DI8DEVCLASS_GAMECTRL, 1040 if (FAILED( hr = g_pDI->EnumDevices( DI8DEVCLASS_GAMECTRL,
1041 EnumJoysticksCallback, 1041 EnumJoysticksCallback,
1042 NULL, DIEDFL_ATTACHEDONLY ) ) ) 1042 NULL, DIEDFL_ATTACHEDONLY ) ) )
1043 break; 1043 break;
@@ -1045,7 +1045,7 @@ void LLWindowWin32::initInputDevices()
1045 break; 1045 break;
1046 if( FAILED( hr = g_pJoystick->SetDataFormat( &c_dfDIJoystick ) ) ) 1046 if( FAILED( hr = g_pJoystick->SetDataFormat( &c_dfDIJoystick ) ) )
1047 break; 1047 break;
1048 if( FAILED( hr = g_pJoystick->EnumObjects( EnumObjectsCallback, 1048 if( FAILED( hr = g_pJoystick->EnumObjects( EnumObjectsCallback,
1049 (VOID*)mWindowHandle, DIDFT_ALL ) ) ) 1049 (VOID*)mWindowHandle, DIDFT_ALL ) ) )
1050 break; 1050 break;
1051 g_pJoystick->Acquire(); 1051 g_pJoystick->Acquire();
@@ -1149,7 +1149,7 @@ void LLWindowWin32::close()
1149 } 1149 }
1150 1150
1151 llinfos << "Destroying Window" << llendl; 1151 llinfos << "Destroying Window" << llendl;
1152 1152
1153 // Don't process events in our mainWindowProc any longer. 1153 // Don't process events in our mainWindowProc any longer.
1154 SetWindowLong(mWindowHandle, GWL_USERDATA, NULL); 1154 SetWindowLong(mWindowHandle, GWL_USERDATA, NULL);
1155 1155
@@ -1360,7 +1360,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa
1360 success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh); 1360 success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh);
1361 } 1361 }
1362 1362
1363 // Keep a copy of the actual current device mode in case we minimize 1363 // Keep a copy of the actual current device mode in case we minimize
1364 // and change the screen resolution. JC 1364 // and change the screen resolution. JC
1365 EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode); 1365 EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode);
1366 1366
@@ -1437,9 +1437,9 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa
1437 //----------------------------------------------------------------------- 1437 //-----------------------------------------------------------------------
1438 static PIXELFORMATDESCRIPTOR pfd = 1438 static PIXELFORMATDESCRIPTOR pfd =
1439 { 1439 {
1440 sizeof(PIXELFORMATDESCRIPTOR), 1440 sizeof(PIXELFORMATDESCRIPTOR),
1441 1, 1441 1,
1442 PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, 1442 PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,
1443 PFD_TYPE_RGBA, 1443 PFD_TYPE_RGBA,
1444 BITS_PER_PIXEL, 1444 BITS_PER_PIXEL,
1445 0, 0, 0, 0, 0, 0, // RGB bits and shift, unused 1445 0, 0, 0, 0, 0, 0, // RGB bits and shift, unused
@@ -1668,7 +1668,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa
1668 llinfos << "Swap Method: Unknown" << llendl; 1668 llinfos << "Swap Method: Unknown" << llendl;
1669 break; 1669 break;
1670 } 1670 }
1671 } 1671 }
1672 } 1672 }
1673 else 1673 else
1674 { 1674 {
@@ -1684,9 +1684,9 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa
1684 return FALSE; 1684 return FALSE;
1685 } 1685 }
1686 1686
1687 llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) 1687 llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits)
1688 << " Alpha Bits " << S32(pfd.cAlphaBits) 1688 << " Alpha Bits " << S32(pfd.cAlphaBits)
1689 << " Depth Bits " << S32(pfd.cDepthBits) 1689 << " Depth Bits " << S32(pfd.cDepthBits)
1690 << llendl; 1690 << llendl;
1691 1691
1692 if (pfd.cColorBits < 32) 1692 if (pfd.cColorBits < 32)
@@ -1884,10 +1884,10 @@ void LLWindowWin32::initCursors()
1884 mCursor[ UI_CURSOR_CROSS ] = LoadCursor(NULL, IDC_CROSS); 1884 mCursor[ UI_CURSOR_CROSS ] = LoadCursor(NULL, IDC_CROSS);
1885 mCursor[ UI_CURSOR_SIZENWSE ] = LoadCursor(NULL, IDC_SIZENWSE); 1885 mCursor[ UI_CURSOR_SIZENWSE ] = LoadCursor(NULL, IDC_SIZENWSE);
1886 mCursor[ UI_CURSOR_SIZENESW ] = LoadCursor(NULL, IDC_SIZENESW); 1886 mCursor[ UI_CURSOR_SIZENESW ] = LoadCursor(NULL, IDC_SIZENESW);
1887 mCursor[ UI_CURSOR_SIZEWE ] = LoadCursor(NULL, IDC_SIZEWE); 1887 mCursor[ UI_CURSOR_SIZEWE ] = LoadCursor(NULL, IDC_SIZEWE);
1888 mCursor[ UI_CURSOR_SIZENS ] = LoadCursor(NULL, IDC_SIZENS); 1888 mCursor[ UI_CURSOR_SIZENS ] = LoadCursor(NULL, IDC_SIZENS);
1889 mCursor[ UI_CURSOR_NO ] = LoadCursor(NULL, IDC_NO); 1889 mCursor[ UI_CURSOR_NO ] = LoadCursor(NULL, IDC_NO);
1890 mCursor[ UI_CURSOR_WORKING ] = LoadCursor(NULL, IDC_APPSTARTING); 1890 mCursor[ UI_CURSOR_WORKING ] = LoadCursor(NULL, IDC_APPSTARTING);
1891 1891
1892 HMODULE module = GetModuleHandle(NULL); 1892 HMODULE module = GetModuleHandle(NULL);
1893 mCursor[ UI_CURSOR_TOOLGRAB ] = LoadCursor(module, TEXT("TOOLGRAB")); 1893 mCursor[ UI_CURSOR_TOOLGRAB ] = LoadCursor(module, TEXT("TOOLGRAB"));
@@ -1902,7 +1902,7 @@ void LLWindowWin32::initCursors()
1902 mCursor[ UI_CURSOR_ARROWLOCKED ]= LoadCursor(module, TEXT("ARROWLOCKED")); 1902 mCursor[ UI_CURSOR_ARROWLOCKED ]= LoadCursor(module, TEXT("ARROWLOCKED"));
1903 mCursor[ UI_CURSOR_GRABLOCKED ] = LoadCursor(module, TEXT("GRABLOCKED")); 1903 mCursor[ UI_CURSOR_GRABLOCKED ] = LoadCursor(module, TEXT("GRABLOCKED"));
1904 mCursor[ UI_CURSOR_TOOLTRANSLATE ] = LoadCursor(module, TEXT("TOOLTRANSLATE")); 1904 mCursor[ UI_CURSOR_TOOLTRANSLATE ] = LoadCursor(module, TEXT("TOOLTRANSLATE"));
1905 mCursor[ UI_CURSOR_TOOLROTATE ] = LoadCursor(module, TEXT("TOOLROTATE")); 1905 mCursor[ UI_CURSOR_TOOLROTATE ] = LoadCursor(module, TEXT("TOOLROTATE"));
1906 mCursor[ UI_CURSOR_TOOLSCALE ] = LoadCursor(module, TEXT("TOOLSCALE")); 1906 mCursor[ UI_CURSOR_TOOLSCALE ] = LoadCursor(module, TEXT("TOOLSCALE"));
1907 mCursor[ UI_CURSOR_TOOLCAMERA ] = LoadCursor(module, TEXT("TOOLCAMERA")); 1907 mCursor[ UI_CURSOR_TOOLCAMERA ] = LoadCursor(module, TEXT("TOOLCAMERA"));
1908 mCursor[ UI_CURSOR_TOOLPAN ] = LoadCursor(module, TEXT("TOOLPAN")); 1908 mCursor[ UI_CURSOR_TOOLPAN ] = LoadCursor(module, TEXT("TOOLPAN"));
@@ -2103,7 +2103,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2103 2103
2104 if (window_imp->mFullscreen) 2104 if (window_imp->mFullscreen)
2105 { 2105 {
2106 // When we run fullscreen, restoring or minimizing the app needs 2106 // When we run fullscreen, restoring or minimizing the app needs
2107 // to switch the screen resolution 2107 // to switch the screen resolution
2108 if (activating) 2108 if (activating)
2109 { 2109 {
@@ -2131,13 +2131,13 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2131 window_imp->interruptLanguageTextInput(); 2131 window_imp->interruptLanguageTextInput();
2132 } 2132 }
2133 2133
2134 // JC - I'm not sure why, but if we don't report that we handled the 2134 // JC - I'm not sure why, but if we don't report that we handled the
2135 // WM_ACTIVATE message, the WM_ACTIVATEAPP messages don't work 2135 // WM_ACTIVATE message, the WM_ACTIVATEAPP messages don't work
2136 // properly when we run fullscreen. 2136 // properly when we run fullscreen.
2137 if (gDebugWindowProc) 2137 if (gDebugWindowProc)
2138 { 2138 {
2139 llinfos << "WINDOWPROC Activate " 2139 llinfos << "WINDOWPROC Activate "
2140 << " activating " << S32(activating) 2140 << " activating " << S32(activating)
2141 << " minimized " << S32(minimized) 2141 << " minimized " << S32(minimized)
2142 << llendl; 2142 << llendl;
2143 } 2143 }
@@ -2153,9 +2153,9 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2153 case WM_SYSCOMMAND: 2153 case WM_SYSCOMMAND:
2154 switch(w_param) 2154 switch(w_param)
2155 { 2155 {
2156 case SC_KEYMENU: 2156 case SC_KEYMENU:
2157 // Disallow the ALT key from triggering the default system menu. 2157 // Disallow the ALT key from triggering the default system menu.
2158 return 0; 2158 return 0;
2159 2159
2160 case SC_SCREENSAVE: 2160 case SC_SCREENSAVE:
2161 case SC_MONITORPOWER: 2161 case SC_MONITORPOWER:
@@ -2196,7 +2196,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2196 if (gDebugWindowProc) 2196 if (gDebugWindowProc)
2197 { 2197 {
2198 llinfos << "Debug WindowProc WM_KEYDOWN " 2198 llinfos << "Debug WindowProc WM_KEYDOWN "
2199 << " key " << S32(w_param) 2199 << " key " << S32(w_param)
2200 << llendl; 2200 << llendl;
2201 } 2201 }
2202 if(gKeyboard->handleKeyDown(w_param, mask) && eat_keystroke) 2202 if(gKeyboard->handleKeyDown(w_param, mask) && eat_keystroke)
@@ -2215,7 +2215,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2215 if (gDebugWindowProc) 2215 if (gDebugWindowProc)
2216 { 2216 {
2217 llinfos << "Debug WindowProc WM_KEYUP " 2217 llinfos << "Debug WindowProc WM_KEYUP "
2218 << " key " << S32(w_param) 2218 << " key " << S32(w_param)
2219 << llendl; 2219 << llendl;
2220 } 2220 }
2221 if (gKeyboard->handleKeyUp(w_param, mask) && eat_keystroke) 2221 if (gKeyboard->handleKeyUp(w_param, mask) && eat_keystroke)
@@ -2284,7 +2284,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2284 if (gDebugWindowProc) 2284 if (gDebugWindowProc)
2285 { 2285 {
2286 llinfos << "Debug WindowProc WM_CHAR " 2286 llinfos << "Debug WindowProc WM_CHAR "
2287 << " key " << S32(w_param) 2287 << " key " << S32(w_param)
2288 << llendl; 2288 << llendl;
2289 } 2289 }
2290 // Even if LLWindowCallbacks::handleUnicodeChar(llwchar, BOOL) returned FALSE, 2290 // Even if LLWindowCallbacks::handleUnicodeChar(llwchar, BOOL) returned FALSE,
@@ -2527,7 +2527,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2527 // track_mouse_event.dwFlags = TME_LEAVE; 2527 // track_mouse_event.dwFlags = TME_LEAVE;
2528 // track_mouse_event.hwndTrack = h_wnd; 2528 // track_mouse_event.hwndTrack = h_wnd;
2529 // track_mouse_event.dwHoverTime = HOVER_DEFAULT; 2529 // track_mouse_event.dwHoverTime = HOVER_DEFAULT;
2530 // TrackMouseEvent( &track_mouse_event ); 2530 // TrackMouseEvent( &track_mouse_event );
2531 return 0; 2531 return 0;
2532 } 2532 }
2533 */ 2533 */
@@ -2559,12 +2559,12 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2559 << llendl; 2559 << llendl;
2560 } 2560 }
2561 2561
2562 // There's an odd behavior with WM_SIZE that I would call a bug. If 2562 // There's an odd behavior with WM_SIZE that I would call a bug. If
2563 // the window is maximized, and you call MoveWindow() with a size smaller 2563 // the window is maximized, and you call MoveWindow() with a size smaller
2564 // than a maximized window, it ends up sending WM_SIZE with w_param set 2564 // than a maximized window, it ends up sending WM_SIZE with w_param set
2565 // to SIZE_MAXIMIZED -- which isn't true. So the logic below doesn't work. 2565 // to SIZE_MAXIMIZED -- which isn't true. So the logic below doesn't work.
2566 // (SL-44655). Fixed it by calling ShowWindow(SW_RESTORE) first (see 2566 // (SL-44655). Fixed it by calling ShowWindow(SW_RESTORE) first (see
2567 // LLWindowWin32::moveWindow in this file). 2567 // LLWindowWin32::moveWindow in this file).
2568 2568
2569 // If we are now restored, but we weren't before, this 2569 // If we are now restored, but we weren't before, this
2570 // means that the window was un-minimized. 2570 // means that the window was un-minimized.
@@ -2589,8 +2589,8 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2589 if (w_param != SIZE_MINIMIZED) 2589 if (w_param != SIZE_MINIMIZED)
2590 { 2590 {
2591 // Ignore updates for minimizing and minimized "windows" 2591 // Ignore updates for minimizing and minimized "windows"
2592 window_imp->mCallbacks->handleResize( window_imp, 2592 window_imp->mCallbacks->handleResize( window_imp,
2593 LOWORD(l_param), 2593 LOWORD(l_param),
2594 HIWORD(l_param) ); 2594 HIWORD(l_param) );
2595 } 2595 }
2596 2596
@@ -2619,7 +2619,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_
2619 // received a URL 2619 // received a URL
2620 PCOPYDATASTRUCT myCDS = (PCOPYDATASTRUCT) l_param; 2620 PCOPYDATASTRUCT myCDS = (PCOPYDATASTRUCT) l_param;
2621 window_imp->mCallbacks->handleDataCopy(window_imp, myCDS->dwData, myCDS->lpData); 2621 window_imp->mCallbacks->handleDataCopy(window_imp, myCDS->dwData, myCDS->lpData);
2622 return 0; 2622 return 0;
2623 } 2623 }
2624 } 2624 }
2625 2625
@@ -2667,7 +2667,7 @@ BOOL LLWindowWin32::convertCoords(LLCoordWindow from, LLCoordGL* to)
2667} 2667}
2668 2668
2669BOOL LLWindowWin32::convertCoords(LLCoordScreen from, LLCoordWindow* to) 2669BOOL LLWindowWin32::convertCoords(LLCoordScreen from, LLCoordWindow* to)
2670{ 2670{
2671 POINT mouse_point; 2671 POINT mouse_point;
2672 2672
2673 mouse_point.x = from.mX; 2673 mouse_point.x = from.mX;
@@ -2778,7 +2778,7 @@ BOOL LLWindowWin32::copyTextToClipboard(const LLWString& wstr)
2778 const size_t size_utf16 = (out_utf16.length() + 1) * sizeof(WCHAR); 2778 const size_t size_utf16 = (out_utf16.length() + 1) * sizeof(WCHAR);
2779 2779
2780 // Memory is allocated and then ownership of it is transfered to the system. 2780 // Memory is allocated and then ownership of it is transfered to the system.
2781 HGLOBAL hglobal_copy_utf16 = GlobalAlloc(GMEM_MOVEABLE, size_utf16); 2781 HGLOBAL hglobal_copy_utf16 = GlobalAlloc(GMEM_MOVEABLE, size_utf16);
2782 if (hglobal_copy_utf16) 2782 if (hglobal_copy_utf16)
2783 { 2783 {
2784 WCHAR* copy_utf16 = (WCHAR*) GlobalLock(hglobal_copy_utf16); 2784 WCHAR* copy_utf16 = (WCHAR*) GlobalLock(hglobal_copy_utf16);
@@ -2841,12 +2841,12 @@ BOOL LLWindowWin32::getClientRectInScreenSpace( RECT* rectp )
2841 POINT top_left; 2841 POINT top_left;
2842 top_left.x = client_rect.left; 2842 top_left.x = client_rect.left;
2843 top_left.y = client_rect.top; 2843 top_left.y = client_rect.top;
2844 ClientToScreen(mWindowHandle, &top_left); 2844 ClientToScreen(mWindowHandle, &top_left);
2845 2845
2846 POINT bottom_right; 2846 POINT bottom_right;
2847 bottom_right.x = client_rect.right; 2847 bottom_right.x = client_rect.right;
2848 bottom_right.y = client_rect.bottom; 2848 bottom_right.y = client_rect.bottom;
2849 ClientToScreen(mWindowHandle, &bottom_right); 2849 ClientToScreen(mWindowHandle, &bottom_right);
2850 2850
2851 SetRect( rectp, 2851 SetRect( rectp,
2852 top_left.x, 2852 top_left.x,
@@ -2977,8 +2977,8 @@ BOOL LLWindowWin32::setGamma(const F32 gamma)
2977 if ( value > 0xffff ) 2977 if ( value > 0xffff )
2978 value = 0xffff; 2978 value = 0xffff;
2979 2979
2980 mCurrentGammaRamp [ 0 * 256 + i ] = 2980 mCurrentGammaRamp [ 0 * 256 + i ] =
2981 mCurrentGammaRamp [ 1 * 256 + i ] = 2981 mCurrentGammaRamp [ 1 * 256 + i ] =
2982 mCurrentGammaRamp [ 2 * 256 + i ] = ( WORD )value; 2982 mCurrentGammaRamp [ 2 * 256 + i ] = ( WORD )value;
2983 }; 2983 };
2984 2984
@@ -3152,7 +3152,7 @@ BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance,
3152 3152
3153 // If it failed, then we can't use this joystick. (Maybe the user unplugged 3153 // If it failed, then we can't use this joystick. (Maybe the user unplugged
3154 // it while we were in the middle of enumerating it.) 3154 // it while we were in the middle of enumerating it.)
3155 if( FAILED(hr) ) 3155 if( FAILED(hr) )
3156 return DIENUM_CONTINUE; 3156 return DIENUM_CONTINUE;
3157 3157
3158 // Stop enumeration. Note: we're just taking the first joystick we get. You 3158 // Stop enumeration. Note: we're just taking the first joystick we get. You
@@ -3165,16 +3165,16 @@ BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi,
3165{ 3165{
3166 if( pdidoi->dwType & DIDFT_AXIS ) 3166 if( pdidoi->dwType & DIDFT_AXIS )
3167 { 3167 {
3168 DIPROPRANGE diprg; 3168 DIPROPRANGE diprg;
3169 diprg.diph.dwSize = sizeof(DIPROPRANGE); 3169 diprg.diph.dwSize = sizeof(DIPROPRANGE);
3170 diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER); 3170 diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER);
3171 diprg.diph.dwHow = DIPH_BYID; 3171 diprg.diph.dwHow = DIPH_BYID;
3172 diprg.diph.dwObj = pdidoi->dwType; // Specify the enumerated axis 3172 diprg.diph.dwObj = pdidoi->dwType; // Specify the enumerated axis
3173 diprg.lMin = -1000; 3173 diprg.lMin = -1000;
3174 diprg.lMax = +1000; 3174 diprg.lMax = +1000;
3175 3175
3176 // Set the range for the axis 3176 // Set the range for the axis
3177 if( FAILED( g_pJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) ) 3177 if( FAILED( g_pJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) )
3178 return DIENUM_STOP; 3178 return DIENUM_STOP;
3179 3179
3180 } 3180 }
@@ -3234,10 +3234,10 @@ void LLSplashScreenWin32::showImpl()
3234 // This appears to work. ??? 3234 // This appears to work. ???
3235 HINSTANCE hinst = GetModuleHandle(NULL); 3235 HINSTANCE hinst = GetModuleHandle(NULL);
3236 3236
3237 mWindow = CreateDialog(hinst, 3237 mWindow = CreateDialog(hinst,
3238 TEXT("SPLASHSCREEN"), 3238 TEXT("SPLASHSCREEN"),
3239 NULL, // no parent 3239 NULL, // no parent
3240 (DLGPROC) LLSplashScreenWin32::windowProc); 3240 (DLGPROC) LLSplashScreenWin32::windowProc);
3241 ShowWindow(mWindow, SW_SHOW); 3241 ShowWindow(mWindow, SW_SHOW);
3242} 3242}
3243 3243
@@ -3262,7 +3262,7 @@ void LLSplashScreenWin32::hideImpl()
3262 if (mWindow) 3262 if (mWindow)
3263 { 3263 {
3264 DestroyWindow(mWindow); 3264 DestroyWindow(mWindow);
3265 mWindow = NULL; 3265 mWindow = NULL;
3266 } 3266 }
3267} 3267}
3268 3268
@@ -3349,74 +3349,92 @@ void spawn_web_browser(const char* escaped_url )
3349 3349
3350 llinfos << "Opening URL " << escaped_url << llendl; 3350 llinfos << "Opening URL " << escaped_url << llendl;
3351 3351
3352 // Figure out the user's default web browser 3352 // replaced ShellExecute code with ShellExecuteEx since ShellExecute doesn't work
3353 // HKEY_CLASSES_ROOT\http\shell\open\command 3353 // reliablly on Vista.
3354 char reg_path_str[256]; /* Flawfinder: ignore */ 3354
3355 snprintf(reg_path_str, sizeof(reg_path_str), "%s\\shell\\open\\command", gURLProtocolWhitelistHandler[i]); /* Flawfinder: ignore */ 3355 // this is madness.. no, this is..
3356 WCHAR reg_path_wstr[256]; 3356 LLWString url_wstring = utf8str_to_wstring( escaped_url );
3357 mbstowcs(reg_path_wstr, reg_path_str, sizeof(reg_path_wstr)/sizeof(reg_path_wstr[0])); 3357 llutf16string url_utf16 = wstring_to_utf16str( url_wstring );
3358 3358
3359 HKEY key; 3359 // let the OS decide what to use to open the URL
3360 WCHAR browser_open_wstr[1024]; 3360 SHELLEXECUTEINFO sei = { sizeof( sei ) };
3361 DWORD buffer_length = 1024; 3361 sei.fMask = SEE_MASK_FLAG_DDEWAIT;
3362 RegOpenKeyEx(HKEY_CLASSES_ROOT, reg_path_wstr, 0, KEY_QUERY_VALUE, &key); 3362 sei.nShow = SW_SHOWNORMAL;
3363 RegQueryValueEx(key, NULL, NULL, NULL, (LPBYTE)browser_open_wstr, &buffer_length); 3363 sei.lpVerb = L"open";
3364 RegCloseKey(key); 3364 sei.lpFile = url_utf16.c_str();
3365 3365 ShellExecuteEx( &sei );
3366 // Convert to STL string 3366
3367 LLWString browser_open_wstring = utf16str_to_wstring(browser_open_wstr); 3367 ////// TODO: LEAVING OLD CODE HERE SO I DON'T BONE OTHER MERGES
3368 3368 ////// DELETE THIS ONCE THE MERGES ARE DONE
3369 if (browser_open_wstring.length() < 2) 3369
3370 { 3370 //// Figure out the user's default web browser
3371 llwarns << "Invalid browser executable in registry " << browser_open_wstring << llendl; 3371 //// HKEY_CLASSES_ROOT\http\shell\open\command
3372 return; 3372 //char reg_path_str[256]; /* Flawfinder: ignore */
3373 } 3373 //snprintf(reg_path_str, sizeof(reg_path_str), "%s\\shell\\open\\command", gURLProtocolWhitelistHandler[i]); /* Flawfinder: ignore */
3374 3374 //WCHAR reg_path_wstr[256];
3375 // Extract the process that's supposed to be launched 3375 //mbstowcs(reg_path_wstr, reg_path_str, sizeof(reg_path_wstr)/sizeof(reg_path_wstr[0]));
3376 LLWString browser_executable; 3376
3377 if (browser_open_wstring[0] == '"') 3377 //HKEY key;
3378 { 3378 //WCHAR browser_open_wstr[1024];
3379 // executable is quoted, find the matching quote 3379 //DWORD buffer_length = 1024;
3380 size_t quote_pos = browser_open_wstring.find('"', 1); 3380 //RegOpenKeyEx(HKEY_CLASSES_ROOT, reg_path_wstr, 0, KEY_QUERY_VALUE, &key);
3381 // copy out the string including both quotes 3381 //RegQueryValueEx(key, NULL, NULL, NULL, (LPBYTE)browser_open_wstr, &buffer_length);
3382 browser_executable = browser_open_wstring.substr(0, quote_pos+1); 3382 //RegCloseKey(key);
3383 } 3383
3384 else 3384 //// Convert to STL string
3385 { 3385 //LLWString browser_open_wstring = utf16str_to_wstring(browser_open_wstr);
3386 // executable not quoted, find a space 3386
3387 size_t space_pos = browser_open_wstring.find(' ', 1); 3387 //if (browser_open_wstring.length() < 2)
3388 browser_executable = browser_open_wstring.substr(0, space_pos); 3388 //{
3389 } 3389 // llwarns << "Invalid browser executable in registry " << browser_open_wstring << llendl;
3390 3390 // return;
3391 llinfos << "Browser reg key: " << wstring_to_utf8str(browser_open_wstring) << llendl; 3391 //}
3392 llinfos << "Browser executable: " << wstring_to_utf8str(browser_executable) << llendl; 3392
3393 3393 //// Extract the process that's supposed to be launched
3394 // Convert URL to wide string for Windows API 3394 //LLWString browser_executable;
3395 // Assume URL is UTF8, as can come from scripts 3395 //if (browser_open_wstring[0] == '"')
3396 LLWString url_wstring = utf8str_to_wstring(escaped_url); 3396 //{
3397 llutf16string url_utf16 = wstring_to_utf16str(url_wstring); 3397 // // executable is quoted, find the matching quote
3398 3398 // size_t quote_pos = browser_open_wstring.find('"', 1);
3399 // Convert executable and path to wide string for Windows API 3399 // // copy out the string including both quotes
3400 llutf16string browser_exec_utf16 = wstring_to_utf16str(browser_executable); 3400 // browser_executable = browser_open_wstring.substr(0, quote_pos+1);
3401 3401 //}
3402 // ShellExecute returns HINSTANCE for backwards compatiblity. 3402 //else
3403 // MS docs say to cast to int and compare to 32. 3403 //{
3404 HWND our_window = NULL; 3404 // // executable not quoted, find a space
3405 LPCWSTR directory_wstr = NULL; 3405 // size_t space_pos = browser_open_wstring.find(' ', 1);
3406 int retval = (int) ShellExecute(our_window, /* Flawfinder: ignore */ 3406 // browser_executable = browser_open_wstring.substr(0, space_pos);
3407 L"open", 3407 //}
3408 browser_exec_utf16.c_str(), 3408
3409 url_utf16.c_str(), 3409 //llinfos << "Browser reg key: " << wstring_to_utf8str(browser_open_wstring) << llendl;
3410 directory_wstr, 3410 //llinfos << "Browser executable: " << wstring_to_utf8str(browser_executable) << llendl;
3411 SW_SHOWNORMAL); 3411
3412 if (retval > 32) 3412 //// Convert URL to wide string for Windows API
3413 { 3413 //// Assume URL is UTF8, as can come from scripts
3414 llinfos << "load_url success with " << retval << llendl; 3414 //LLWString url_wstring = utf8str_to_wstring(escaped_url);
3415 } 3415 //llutf16string url_utf16 = wstring_to_utf16str(url_wstring);
3416 else 3416
3417 { 3417 //// Convert executable and path to wide string for Windows API
3418 llinfos << "load_url failure with " << retval << llendl; 3418 //llutf16string browser_exec_utf16 = wstring_to_utf16str(browser_executable);
3419 } 3419
3420 //// ShellExecute returns HINSTANCE for backwards compatiblity.
3421 //// MS docs say to cast to int and compare to 32.
3422 //HWND our_window = NULL;
3423 //LPCWSTR directory_wstr = NULL;
3424 //int retval = (int) ShellExecute(our_window, /* Flawfinder: ignore */
3425 // L"open",
3426 // browser_exec_utf16.c_str(),
3427 // url_utf16.c_str(),
3428 // directory_wstr,
3429 // SW_SHOWNORMAL);
3430 //if (retval > 32)
3431 //{
3432 // llinfos << "load_url success with " << retval << llendl;
3433 //}
3434 //else
3435 //{
3436 // llinfos << "load_url failure with " << retval << llendl;
3437 //}
3420} 3438}
3421 3439
3422 3440
@@ -3430,13 +3448,13 @@ BOOL LLWindowWin32::dialog_color_picker ( F32 *r, F32 *g, F32 *b )
3430 cc.hwndOwner = mWindowHandle; 3448 cc.hwndOwner = mWindowHandle;
3431 cc.hInstance = NULL; 3449 cc.hInstance = NULL;
3432 cc.rgbResult = RGB ((*r * 255.f),(*g *255.f),(*b * 255.f)); 3450 cc.rgbResult = RGB ((*r * 255.f),(*g *255.f),(*b * 255.f));
3433 //cc.rgbResult = RGB (0x80,0x80,0x80); 3451 //cc.rgbResult = RGB (0x80,0x80,0x80);
3434 cc.lpCustColors = crCustColors; 3452 cc.lpCustColors = crCustColors;
3435 cc.Flags = CC_RGBINIT | CC_FULLOPEN; 3453 cc.Flags = CC_RGBINIT | CC_FULLOPEN;
3436 cc.lCustData = 0; 3454 cc.lCustData = 0;
3437 cc.lpfnHook = NULL; 3455 cc.lpfnHook = NULL;
3438 cc.lpTemplateName = NULL; 3456 cc.lpTemplateName = NULL;
3439 3457
3440 // This call is modal, so pause agent 3458 // This call is modal, so pause agent
3441 //send_agent_pause(); // this is in newview and we don't want to set up a dependency 3459 //send_agent_pause(); // this is in newview and we don't want to set up a dependency
3442 { 3460 {
@@ -3447,7 +3465,7 @@ BOOL LLWindowWin32::dialog_color_picker ( F32 *r, F32 *g, F32 *b )
3447 *b = ((F32)((cc.rgbResult >> 16) & 0xff)) / 255.f; 3465 *b = ((F32)((cc.rgbResult >> 16) & 0xff)) / 255.f;
3448 3466
3449 *g = ((F32)((cc.rgbResult >> 8) & 0xff)) / 255.f; 3467 *g = ((F32)((cc.rgbResult >> 8) & 0xff)) / 255.f;
3450 3468
3451 *r = ((F32)(cc.rgbResult & 0xff)) / 255.f; 3469 *r = ((F32)(cc.rgbResult & 0xff)) / 255.f;
3452 3470
3453 return (retval); 3471 return (retval);
@@ -3501,8 +3519,8 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b)
3501 3519
3502 if ( sLanguageTextInputAllowed ) 3520 if ( sLanguageTextInputAllowed )
3503 { 3521 {
3504 // Allowing: Restore the previous IME status, so that the user has a feeling that the previous 3522 // Allowing: Restore the previous IME status, so that the user has a feeling that the previous
3505 // text input continues naturally. Be careful, however, the IME status is meaningful only during the user keeps 3523 // text input continues naturally. Be careful, however, the IME status is meaningful only during the user keeps
3506 // using same Input Locale (aka Keyboard Layout). 3524 // using same Input Locale (aka Keyboard Layout).
3507 if (sWinIMEOpened && GetKeyboardLayout(0) == sWinInputLocale) 3525 if (sWinIMEOpened && GetKeyboardLayout(0) == sWinInputLocale)
3508 { 3526 {
@@ -3527,7 +3545,7 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b)
3527 { 3545 {
3528 LLWinImm::getConversionStatus(himc, &sWinIMEConversionMode, &sWinIMESentenceMode); 3546 LLWinImm::getConversionStatus(himc, &sWinIMEConversionMode, &sWinIMESentenceMode);
3529 3547
3530 // We need both ImmSetConversionStatus and ImmSetOpenStatus here to surely disable IME's 3548 // We need both ImmSetConversionStatus and ImmSetOpenStatus here to surely disable IME's
3531 // keyboard hooking, because Some IME reacts only on the former and some other on the latter... 3549 // keyboard hooking, because Some IME reacts only on the former and some other on the latter...
3532 LLWinImm::setConversionStatus(himc, IME_CMODE_NOCONVERSION, sWinIMESentenceMode); 3550 LLWinImm::setConversionStatus(himc, IME_CMODE_NOCONVERSION, sWinIMESentenceMode);
3533 LLWinImm::setOpenStatus(himc, FALSE); 3551 LLWinImm::setOpenStatus(himc, FALSE);
@@ -3537,7 +3555,7 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b)
3537 } 3555 }
3538} 3556}
3539 3557
3540void LLWindowWin32::fillCandidateForm(const LLCoordGL& caret, const LLRect& bounds, 3558void LLWindowWin32::fillCandidateForm(const LLCoordGL& caret, const LLRect& bounds,
3541 CANDIDATEFORM *form) 3559 CANDIDATEFORM *form)
3542{ 3560{
3543 LLCoordWindow caret_coord, top_left, bottom_right; 3561 LLCoordWindow caret_coord, top_left, bottom_right;
@@ -3566,7 +3584,7 @@ void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position )
3566 LLCoordWindow win_pos; 3584 LLCoordWindow win_pos;
3567 convertCoords( position, &win_pos ); 3585 convertCoords( position, &win_pos );
3568 3586
3569 if ( win_pos.mX >= 0 && win_pos.mY >= 0 && 3587 if ( win_pos.mX >= 0 && win_pos.mY >= 0 &&
3570 (win_pos.mX != sWinIMEWindowPosition.mX) || (win_pos.mY != sWinIMEWindowPosition.mY) ) 3588 (win_pos.mX != sWinIMEWindowPosition.mX) || (win_pos.mY != sWinIMEWindowPosition.mY) )
3571 { 3589 {
3572 COMPOSITIONFORM ime_form; 3590 COMPOSITIONFORM ime_form;
@@ -3631,13 +3649,13 @@ void LLWindowWin32::fillCompositionLogfont(LOGFONT *logfont)
3631 default: 3649 default:
3632 logfont->lfCharSet = CHINESEBIG5_CHARSET; 3650 logfont->lfCharSet = CHINESEBIG5_CHARSET;
3633 lstrcpy(logfont->lfFaceName, TEXT("MingLiU")); 3651 lstrcpy(logfont->lfFaceName, TEXT("MingLiU"));
3634 break; 3652 break;
3635 } 3653 }
3636 break; 3654 break;
3637 case LANG_JAPANESE: 3655 case LANG_JAPANESE:
3638 logfont->lfCharSet = SHIFTJIS_CHARSET; 3656 logfont->lfCharSet = SHIFTJIS_CHARSET;
3639 lstrcpy(logfont->lfFaceName, TEXT("MS Gothic")); 3657 lstrcpy(logfont->lfFaceName, TEXT("MS Gothic"));
3640 break; 3658 break;
3641 case LANG_KOREAN: 3659 case LANG_KOREAN:
3642 logfont->lfCharSet = HANGUL_CHARSET; 3660 logfont->lfCharSet = HANGUL_CHARSET;
3643 lstrcpy(logfont->lfFaceName, TEXT("Gulim")); 3661 lstrcpy(logfont->lfFaceName, TEXT("Gulim"));
@@ -3647,10 +3665,10 @@ void LLWindowWin32::fillCompositionLogfont(LOGFONT *logfont)
3647 lstrcpy(logfont->lfFaceName, TEXT("Tahoma")); 3665 lstrcpy(logfont->lfFaceName, TEXT("Tahoma"));
3648 break; 3666 break;
3649 } 3667 }
3650 3668
3651 logfont->lfHeight = mPreeditor->getPreeditFontSize(); 3669 logfont->lfHeight = mPreeditor->getPreeditFontSize();
3652 logfont->lfWeight = FW_NORMAL; 3670 logfont->lfWeight = FW_NORMAL;
3653} 3671}
3654 3672
3655U32 LLWindowWin32::fillReconvertString(const LLWString &text, 3673U32 LLWindowWin32::fillReconvertString(const LLWString &text,
3656 S32 focus, S32 focus_length, RECONVERTSTRING *reconvert_string) 3674 S32 focus, S32 focus_length, RECONVERTSTRING *reconvert_string)
@@ -3764,7 +3782,7 @@ void LLWindowWin32::handleCompositionMessage(const U32 indexes)
3764 needs_update = TRUE; 3782 needs_update = TRUE;
3765 } 3783 }
3766 } 3784 }
3767 3785
3768 if (indexes & GCS_COMPSTR) 3786 if (indexes & GCS_COMPSTR)
3769 { 3787 {
3770 LONG size = LLWinImm::getCompositionString(himc, GCS_COMPSTR, NULL, 0); 3788 LONG size = LLWinImm::getCompositionString(himc, GCS_COMPSTR, NULL, 0);
@@ -3930,7 +3948,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result)
3930 LLCoordGL caret_coord; 3948 LLCoordGL caret_coord;
3931 LLRect preedit_bounds; 3949 LLRect preedit_bounds;
3932 mPreeditor->getPreeditLocation(-1, &caret_coord, &preedit_bounds, NULL); 3950 mPreeditor->getPreeditLocation(-1, &caret_coord, &preedit_bounds, NULL);
3933 3951
3934 CANDIDATEFORM *const form = (CANDIDATEFORM *)param; 3952 CANDIDATEFORM *const form = (CANDIDATEFORM *)param;
3935 DWORD const dwIndex = form->dwIndex; 3953 DWORD const dwIndex = form->dwIndex;
3936 fillCandidateForm(caret_coord, preedit_bounds, form); 3954 fillCandidateForm(caret_coord, preedit_bounds, form);
@@ -3945,7 +3963,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result)
3945 3963
3946 // char_position->dwCharPos counts in number of 3964 // char_position->dwCharPos counts in number of
3947 // WCHARs, i.e., UTF-16 encoding units, so we can't simply pass the 3965 // WCHARs, i.e., UTF-16 encoding units, so we can't simply pass the
3948 // number to getPreeditLocation. 3966 // number to getPreeditLocation.
3949 3967
3950 const LLWString & wtext = mPreeditor->getWText(); 3968 const LLWString & wtext = mPreeditor->getWText();
3951 S32 preedit, preedit_length; 3969 S32 preedit, preedit_length;
@@ -4019,7 +4037,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result)
4019 const LLWString & wtext = mPreeditor->getWText(); 4037 const LLWString & wtext = mPreeditor->getWText();
4020 S32 preedit, preedit_length; 4038 S32 preedit, preedit_length;
4021 mPreeditor->getPreeditRange(&preedit, &preedit_length); 4039 mPreeditor->getPreeditRange(&preedit, &preedit_length);
4022 4040
4023 S32 context_offset; 4041 S32 context_offset;
4024 LLWString context = find_context(wtext, preedit, preedit_length, &context_offset); 4042 LLWString context = find_context(wtext, preedit, preedit_length, &context_offset);
4025 preedit -= context_offset; 4043 preedit -= context_offset;
@@ -4030,7 +4048,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result)
4030 // Otherwise, some IME are confused. 4048 // Otherwise, some IME are confused.
4031 context.erase(preedit, preedit_length); 4049 context.erase(preedit, preedit_length);
4032 } 4050 }
4033 4051
4034 RECONVERTSTRING *reconvert_string = (RECONVERTSTRING *)param; 4052 RECONVERTSTRING *reconvert_string = (RECONVERTSTRING *)param;
4035 *result = fillReconvertString(context, preedit, 0, reconvert_string); 4053 *result = fillReconvertString(context, preedit, 0, reconvert_string);
4036 return TRUE; 4054 return TRUE;
diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings
index 2cadac9..905341e 100644
--- a/linden/indra/newview/English.lproj/InfoPlist.strings
+++ b/linden/indra/newview/English.lproj/InfoPlist.strings
@@ -1,5 +1,5 @@
1/* Localized versions of Info.plist keys */ 1/* Localized versions of Info.plist keys */
2 2
3CFBundleName = "Second Life"; 3CFBundleName = "Second Life";
4CFBundleShortVersionString = "Second Life version 1.19.1.2"; 4CFBundleShortVersionString = "Second Life version 1.19.1.3";
5CFBundleGetInfoString = "Second Life version 1.19.1.2, Copyright 2004-2008 Linden Research, Inc."; 5CFBundleGetInfoString = "Second Life version 1.19.1.3, Copyright 2004-2008 Linden Research, Inc.";
diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist
index 83953bf..45ee9f6 100644
--- a/linden/indra/newview/Info-SecondLife.plist
+++ b/linden/indra/newview/Info-SecondLife.plist
@@ -32,7 +32,7 @@
32 </dict> 32 </dict>
33 </array> 33 </array>
34 <key>CFBundleVersion</key> 34 <key>CFBundleVersion</key>
35 <string>1.19.1.2</string> 35 <string>1.19.1.3</string>
36 <key>CSResourcesFileMapped</key> 36 <key>CSResourcesFileMapped</key>
37 <true/> 37 <true/>
38</dict> 38</dict>
diff --git a/linden/indra/newview/featuretable.txt b/linden/indra/newview/featuretable.txt
index 793e235..6491275 100644
--- a/linden/indra/newview/featuretable.txt
+++ b/linden/indra/newview/featuretable.txt
@@ -1,4 +1,4 @@
1version 15 1version 16
2 2
3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences 3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
4// Should be combined into one table 4// Should be combined into one table
@@ -45,6 +45,7 @@ RenderUseImpostors 1 1
45RenderVBOEnable 1 1 45RenderVBOEnable 1 1
46RenderVolumeLODFactor 1 2.0 46RenderVolumeLODFactor 1 2.0
47RenderWaterReflections 1 1 47RenderWaterReflections 1 1
48UseStartScreen 1 1
48UseOcclusion 1 1 49UseOcclusion 1 1
49VertexShaderEnable 1 1 50VertexShaderEnable 1 1
50WindLightUseAtmosShaders 1 1 51WindLightUseAtmosShaders 1 1
@@ -364,10 +365,12 @@ list ATI_Radeon_X700
364Disregard128DefaultDrawDistance 1 0 365Disregard128DefaultDrawDistance 1 0
365list ATI_Radeon_X1300 366list ATI_Radeon_X1300
366Disregard128DefaultDrawDistance 1 0 367Disregard128DefaultDrawDistance 1 0
368UseStartScreen 0 0
367list ATI_Radeon_X1400 369list ATI_Radeon_X1400
368Disregard128DefaultDrawDistance 1 0 370Disregard128DefaultDrawDistance 1 0
369list ATI_Radeon_X1500 371list ATI_Radeon_X1500
370Disregard128DefaultDrawDistance 1 0 372Disregard128DefaultDrawDistance 1 0
373UseStartScreen 0 0
371list ATI_Radeon_X1600 374list ATI_Radeon_X1600
372Disregard128DefaultDrawDistance 1 0 375Disregard128DefaultDrawDistance 1 0
373list ATI_Radeon_X1700 376list ATI_Radeon_X1700
diff --git a/linden/indra/newview/featuretable_linux.txt b/linden/indra/newview/featuretable_linux.txt
index d7921ff..bafda09 100644
--- a/linden/indra/newview/featuretable_linux.txt
+++ b/linden/indra/newview/featuretable_linux.txt
@@ -1,4 +1,4 @@
1version 15 1version 16
2 2
3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences 3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
4// Should be combined into one table 4// Should be combined into one table
diff --git a/linden/indra/newview/featuretable_mac.txt b/linden/indra/newview/featuretable_mac.txt
index 9645ff8..be3507f 100644
--- a/linden/indra/newview/featuretable_mac.txt
+++ b/linden/indra/newview/featuretable_mac.txt
@@ -1,4 +1,4 @@
1version 15 1version 16
2 2
3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences 3// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
4// Should be combined into one table 4// Should be combined into one table
diff --git a/linden/indra/newview/gpu_table.txt b/linden/indra/newview/gpu_table.txt
index 1929d45..b054739 100644
--- a/linden/indra/newview/gpu_table.txt
+++ b/linden/indra/newview/gpu_table.txt
@@ -24,6 +24,7 @@
24ATI 3D-Analyze .*ATI.*3D-Analyze.* 0 0 24ATI 3D-Analyze .*ATI.*3D-Analyze.* 0 0
25ATI All-in-Wonder PCI-E .*ATI.*All-in-Wonder.*PCI-E.* 1 1 25ATI All-in-Wonder PCI-E .*ATI.*All-in-Wonder.*PCI-E.* 1 1
26ATI All-in-Wonder 9xxx .*ATI.*All-in-Wonder 9.* 1 1 26ATI All-in-Wonder 9xxx .*ATI.*All-in-Wonder 9.* 1 1
27ATI All-in-Wonder X600 .*ATI.*All-in-Wonder X6.* 1 1
27ATI All-in-Wonder X800 .*ATI.*All-in-Wonder X8.* 2 1 28ATI All-in-Wonder X800 .*ATI.*All-in-Wonder X8.* 2 1
28ATI All-in-Wonder X1800 .*ATI.*All-in-Wonder X18.* 3 1 29ATI All-in-Wonder X1800 .*ATI.*All-in-Wonder X18.* 3 1
29ATI All-in-Wonder X1900 .*ATI.*All-in-Wonder X19.* 3 1 30ATI All-in-Wonder X1900 .*ATI.*All-in-Wonder X19.* 3 1
@@ -33,11 +34,12 @@ ATI ASUS AH26xx .*ATI.*ASUS.*AH26.* 3 1
33ATI ASUS AX3xx .*ATI.*ASUS.*AX3.* 1 1 34ATI ASUS AX3xx .*ATI.*ASUS.*AX3.* 1 1
34ATI ASUS AX5xx .*ATI.*ASUS.*AX5.* 1 1 35ATI ASUS AX5xx .*ATI.*ASUS.*AX5.* 1 1
35ATI ASUS AX8xx .*ATI.*ASUS.*AX8.* 2 1 36ATI ASUS AX8xx .*ATI.*ASUS.*AX8.* 2 1
36ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1
37ATI ASUS EAH24xx .*ATI.*ASUS.*EAH24.* 2 1 37ATI ASUS EAH24xx .*ATI.*ASUS.*EAH24.* 2 1
38ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1 38ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1
39ATI ASUS EAH34xx .*ATI.*ASUS.*EAH34.* 1 1
40ATI ASUS EAH36xx .*ATI.*ASUS.*EAH36.* 3 1
41ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1
39ATI ASUS X1xxx .*ATI.*ASUS.*X1.* 2 1 42ATI ASUS X1xxx .*ATI.*ASUS.*X1.* 2 1
40ATI Diamond X1xxx .*ATI.*Diamond.*X1.* 3 1
41ATI Diamond X550 .*ATI.*Diamond X550.* 1 1 43ATI Diamond X550 .*ATI.*Diamond X550.* 1 1
42ATI FireGL 5200 .*ATI.*FireGL V52.* 0 1 44ATI FireGL 5200 .*ATI.*FireGL V52.* 0 1
43ATI FireGL 5xxx .*ATI.*FireGL V5.* 1 1 45ATI FireGL 5xxx .*ATI.*FireGL V5.* 1 1
@@ -47,6 +49,9 @@ ATI Generic .*ATI.*Generic.* 0 0
47ATI Hercules 9800 .*ATI.*Hercules.*9800.* 1 1 49ATI Hercules 9800 .*ATI.*Hercules.*9800.* 1 1
48ATI IGP 340M .*ATI.*IGP.*340M.* 0 0 50ATI IGP 340M .*ATI.*IGP.*340M.* 0 0
49ATI M52 .*ATI.*M52.* 1 1 51ATI M52 .*ATI.*M52.* 1 1
52ATI M54 .*ATI.*M54.* 1 1
53ATI M56 .*ATI.*M56.* 1 1
54ATI M76 .*ATI.*M76.* 3 1
50ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 1 1 55ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 1 1
51ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1 56ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1
52ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1 57ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1
@@ -58,9 +63,11 @@ ATI Mobility Radeon X7xx .*ATI.*Mobility.*X7.* 1 1
58ATI Mobility Radeon Xxxx .*ATI.*Mobility.*X.* 1 1 63ATI Mobility Radeon Xxxx .*ATI.*Mobility.*X.* 1 1
59ATI Mobility Radeon .*ATI.*Mobility.* 0 1 64ATI Mobility Radeon .*ATI.*Mobility.* 0 1
60ATI Radeon HD 2300 .*ATI.*Radeon HD 23.* 1 1 65ATI Radeon HD 2300 .*ATI.*Radeon HD 23.* 1 1
61ATI Radeon HD 2400 .*ATI.*Radeon HD 24.* 1 1 66ATI Radeon HD 2400 .*ATI.*Radeon HD.*24.* 1 1
62ATI Radeon HD 2600 .*ATI.*Radeon HD 26.* 2 1 67ATI Radeon HD 2600 .*ATI.*Radeon HD 26.* 2 1
63ATI Radeon HD 2900 .*ATI.*Radeon HD 29.* 3 1 68ATI Radeon HD 2900 .*ATI.*Radeon HD 29.* 3 1
69ATI Radeon HD 3400 .*ATI.*Radeon HD 34.* 1 1
70ATI Radeon HD 3600 .*ATI.*Radeon HD 36.* 3 1
64ATI Radeon HD 3800 .*ATI.*Radeon HD 38.* 3 1 71ATI Radeon HD 3800 .*ATI.*Radeon HD 38.* 3 1
65ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0 72ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0
66ATI Radeon 7000 .*ATI.*Radeon 7.* 0 1 73ATI Radeon 7000 .*ATI.*Radeon 7.* 0 1
@@ -73,6 +80,7 @@ ATI Radeon 9600 .*ATI.*Radeon 96.* 0 1
73ATI Radeon 9700 .*ATI.*Radeon 97.* 1 1 80ATI Radeon 9700 .*ATI.*Radeon 97.* 1 1
74ATI Radeon 9800 .*ATI.*Radeon 98.* 1 1 81ATI Radeon 9800 .*ATI.*Radeon 98.* 1 1
75ATI Radeon RV250 .*ATI.*RV250.* 0 1 82ATI Radeon RV250 .*ATI.*RV250.* 0 1
83ATI Radeon RV600 .*ATI.*RV6.* 1 1
76ATI Radeon RX700 .*ATI.*RX70.* 1 1 84ATI Radeon RX700 .*ATI.*RX70.* 1 1
77ATI Radeon RX800 .*ATI.*Radeon *RX80.* 2 1 85ATI Radeon RX800 .*ATI.*Radeon *RX80.* 2 1
78ATI Radeon VE .*ATI.*Radeon.*VE.* 0 0 86ATI Radeon VE .*ATI.*Radeon.*VE.* 0 0
@@ -145,6 +153,10 @@ NVIDIA GeForce 8500 .*NVIDIA.*GeForce 85.* 3 1
145NVIDIA GeForce 8600 .*NVIDIA.*GeForce 86.* 3 1 153NVIDIA GeForce 8600 .*NVIDIA.*GeForce 86.* 3 1
146NVIDIA GeForce 8700 .*NVIDIA.*GeForce 87.* 3 1 154NVIDIA GeForce 8700 .*NVIDIA.*GeForce 87.* 3 1
147NVIDIA GeForce 8800 .*NVIDIA.*GeForce 88.* 3 1 155NVIDIA GeForce 8800 .*NVIDIA.*GeForce 88.* 3 1
156NVIDIA GeForce 9300M .*NVIDIA.*GeForce 9300M.* 1 1
157NVIDIA GeForce 9500M .*NVIDIA.*GeForce 9500M.* 2 1
158NVIDIA GeForce 9600 .*NVIDIA.*GeForce 96.* 3 1
159NVIDIA GeForce 9800 .*NVIDIA.*GeForce 98.* 3 1
148NVIDIA GeForce FX 5100 .*NVIDIA.*GeForce FX 51.* 0 1 160NVIDIA GeForce FX 5100 .*NVIDIA.*GeForce FX 51.* 0 1
149NVIDIA GeForce FX 5200 .*NVIDIA.*GeForce FX 52.* 0 1 161NVIDIA GeForce FX 5200 .*NVIDIA.*GeForce FX 52.* 0 1
150NVIDIA GeForce FX 5500 .*NVIDIA.*GeForce FX 55.* 0 1 162NVIDIA GeForce FX 5500 .*NVIDIA.*GeForce FX 55.* 0 1
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp
index 5573633..7cee898 100644
--- a/linden/indra/newview/llappviewer.cpp
+++ b/linden/indra/newview/llappviewer.cpp
@@ -2558,6 +2558,14 @@ void LLAppViewer::handleViewerCrash()
2558 } 2558 }
2559 pApp->mReportedCrash = TRUE; 2559 pApp->mReportedCrash = TRUE;
2560 2560
2561 //We already do this in writeSystemInfo(), but we do it again here to make /sure/ we have a version
2562 //to check against no matter what
2563 gDebugInfo["ClientInfo"]["Name"] = gChannelName;
2564 gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR;
2565 gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
2566 gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
2567 gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
2568
2561 gDebugInfo["SettingsFilename"] = gSettingsFileName; 2569 gDebugInfo["SettingsFilename"] = gSettingsFileName;
2562 gDebugInfo["CAFilename"] = gDirUtilp->getCAFile(); 2570 gDebugInfo["CAFilename"] = gDirUtilp->getCAFile();
2563 gDebugInfo["ViewerExePath"] = gDirUtilp->getExecutablePathAndName().c_str(); 2571 gDebugInfo["ViewerExePath"] = gDirUtilp->getExecutablePathAndName().c_str();
diff --git a/linden/indra/newview/llcontroldef.cpp b/linden/indra/newview/llcontroldef.cpp
index 97fd268..7534fd5 100644
--- a/linden/indra/newview/llcontroldef.cpp
+++ b/linden/indra/newview/llcontroldef.cpp
@@ -480,11 +480,12 @@ void declare_settings()
480 gSavedSettings.declareBOOL("RenderGroupTitleAll", TRUE, "Show group titles in name labels"); 480 gSavedSettings.declareBOOL("RenderGroupTitleAll", TRUE, "Show group titles in name labels");
481 481
482 // Camera widget controls 482 // Camera widget controls
483 const S32 CAMERA_OFFSET = 64;
483 const S32 CAMERA_LEFT = MOVE_BTN_FLY_RIGHT + 10; 484 const S32 CAMERA_LEFT = MOVE_BTN_FLY_RIGHT + 10;
484 const S32 CAMERA_WIDTH = 16 + 64 + 16 + 64 + 16; 485 const S32 CAMERA_WIDTH = 16 + 64 + 16 + 64 + 16;
485 const S32 CAMERA_HEIGHT = 64; 486 const S32 CAMERA_HEIGHT = 64;
486 gSavedSettings.declareRect("FloaterCameraRect", 487 gSavedSettings.declareRect("FloaterCameraRect",
487 LLRect(CAMERA_LEFT, CAMERA_HEIGHT, CAMERA_LEFT+CAMERA_WIDTH, 0), "Rectangle for camera control window"); 488 LLRect(CAMERA_LEFT + CAMERA_OFFSET, CAMERA_HEIGHT + CAMERA_OFFSET, CAMERA_LEFT+CAMERA_WIDTH + CAMERA_OFFSET, 0 + CAMERA_OFFSET), "Rectangle for camera control window");
488 489
489 // Tool view 490 // Tool view
490 LLRect floater_tools_rect; 491 LLRect floater_tools_rect;
@@ -1298,6 +1299,9 @@ void declare_settings()
1298 gSavedSettings.declareRect("FloaterDayCycleRect", LLRect(50, 450, 300, 0), "Rectangle for Day Cycle Editor" ); 1299 gSavedSettings.declareRect("FloaterDayCycleRect", LLRect(50, 450, 300, 0), "Rectangle for Day Cycle Editor" );
1299 gSavedSettings.declareRect("FloaterAdvancedWaterRect", LLRect(50, 220, 450, 0), "Rectangle for Advanced Water Editor" ); 1300 gSavedSettings.declareRect("FloaterAdvancedWaterRect", LLRect(50, 220, 450, 0), "Rectangle for Advanced Water Editor" );
1300 1301
1302 // Graphics compatibility and driver crash workaround params
1303 gSavedSettings.declareBOOL("UseStartScreen", TRUE, "Whether to load a start screen image or not.");
1304
1301 // Tweaked draw distance default settings 1305 // Tweaked draw distance default settings
1302 gSavedSettings.declareBOOL("Disregard128DefaultDrawDistance", TRUE, "Whether to use the auto default to 128 draw distance"); 1306 gSavedSettings.declareBOOL("Disregard128DefaultDrawDistance", TRUE, "Whether to use the auto default to 128 draw distance");
1303 gSavedSettings.declareBOOL("Disregard96DefaultDrawDistance", TRUE, "Whether to use the auto default to 96 draw distance"); 1307 gSavedSettings.declareBOOL("Disregard96DefaultDrawDistance", TRUE, "Whether to use the auto default to 96 draw distance");
diff --git a/linden/indra/newview/llfasttimerview.cpp b/linden/indra/newview/llfasttimerview.cpp
index 0fdbb98..d2e04de 100644
--- a/linden/indra/newview/llfasttimerview.cpp
+++ b/linden/indra/newview/llfasttimerview.cpp
@@ -185,8 +185,8 @@ static struct ft_display_info ft_display_table[] =
185 { LLFastTimer::FTM_RENDER_BLOOM_FBO, " First FBO", &LLColor4::blue, 0 }, 185 { LLFastTimer::FTM_RENDER_BLOOM_FBO, " First FBO", &LLColor4::blue, 0 },
186 { LLFastTimer::FTM_RENDER_UI, " UI", &LLColor4::cyan4, 1 }, 186 { LLFastTimer::FTM_RENDER_UI, " UI", &LLColor4::cyan4, 1 },
187 { LLFastTimer::FTM_RENDER_TIMER, " Timers", &LLColor4::cyan5, 1, 0 }, 187 { LLFastTimer::FTM_RENDER_TIMER, " Timers", &LLColor4::cyan5, 1, 0 },
188// { LLFastTimer::FTM_RENDER_FONTS, " Fonts", &LLColor4::pink1, 0 }, 188 { LLFastTimer::FTM_RENDER_FONTS, " Fonts", &LLColor4::pink1, 0 },
189 { LLFastTimer::FTM_SWAP, " Swap", &LLColor4::pink1, 0 }, 189 { LLFastTimer::FTM_SWAP, " Swap", &LLColor4::pink2, 0 },
190 { LLFastTimer::FTM_CLIENT_COPY, " Client Copy", &LLColor4::red1, 1}, 190 { LLFastTimer::FTM_CLIENT_COPY, " Client Copy", &LLColor4::red1, 1},
191 191
192#if 0 || !LL_RELEASE_FOR_DOWNLOAD 192#if 0 || !LL_RELEASE_FOR_DOWNLOAD
diff --git a/linden/indra/newview/llfloaterhtmlhelp.cpp b/linden/indra/newview/llfloaterhtmlhelp.cpp
index db68bf8..f2a8374 100644
--- a/linden/indra/newview/llfloaterhtmlhelp.cpp
+++ b/linden/indra/newview/llfloaterhtmlhelp.cpp
@@ -424,6 +424,15 @@ void LLFloaterHtmlHelp::onClickF1HelpLoadURL(S32 option, void* userdata)
424 else 424 else
425 if ( lang == "de" ) 425 if ( lang == "de" )
426 help_url = "http://de.secondlife.com/support"; 426 help_url = "http://de.secondlife.com/support";
427 else
428 if ( lang == "es" )
429 help_url = "http://secondlife.com/app/support/index_es.html";
430 else
431 if ( lang == "fr" )
432 help_url = "http://secondlife.com/app/support/index_fr.html";
433 else
434 if ( lang == "zh" )
435 help_url = "http://secondlife.com/app/support/index_zh.html";
427 436
428 LLWeb::loadURL( help_url ); 437 LLWeb::loadURL( help_url );
429 }; 438 };
diff --git a/linden/indra/newview/llinventorymodel.cpp b/linden/indra/newview/llinventorymodel.cpp
index 5a91cac..13a45a8 100644
--- a/linden/indra/newview/llinventorymodel.cpp
+++ b/linden/indra/newview/llinventorymodel.cpp
@@ -1153,7 +1153,13 @@ void LLInventoryModel::fetchDescendentsResponder::onClickRetry(S32 option, void*
1153{ 1153{
1154 if (option == 0) 1154 if (option == 0)
1155 { 1155 {
1156 std::string url = gAgent.getRegion()->getCapability("FetchInventoryDescendents"); 1156 std::string url;
1157
1158 LLViewerRegion * agent_region = gAgent.getRegion();
1159 if (agent_region)
1160 {
1161 url = agent_region->getCapability("FetchInventoryDescendents");
1162 }
1157 1163
1158 if (!url.empty()) //Capability found. Build up LLSD and use it. 1164 if (!url.empty()) //Capability found. Build up LLSD and use it.
1159 { 1165 {
@@ -1346,7 +1352,14 @@ void LLInventoryModel::backgroundFetch(void*)
1346 if (sBackgroundFetchActive) 1352 if (sBackgroundFetchActive)
1347 { 1353 {
1348 //If we'll be using the capability, we'll be sending batches and the background thing isn't as important. 1354 //If we'll be using the capability, we'll be sending batches and the background thing isn't as important.
1349 std::string url = gAgent.getRegion()->getCapability("FetchInventoryDescendents"); 1355 std::string url;
1356
1357 LLViewerRegion * agent_region = gAgent.getRegion();
1358 if (agent_region)
1359 {
1360 url = agent_region->getCapability("FetchInventoryDescendents");
1361 }
1362
1350 if (!url.empty()) 1363 if (!url.empty())
1351 { 1364 {
1352 bulkFetch(url); 1365 bulkFetch(url);
diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp
index da71c6b..366f770 100644
--- a/linden/indra/newview/llselectmgr.cpp
+++ b/linden/indra/newview/llselectmgr.cpp
@@ -4650,14 +4650,14 @@ void LLSelectMgr::updateSilhouettes()
4650 iter != roots.end(); iter++) 4650 iter != roots.end(); iter++)
4651 { 4651 {
4652 LLViewerObject* objectp = *iter; 4652 LLViewerObject* objectp = *iter;
4653 LLSelectNode* rect_select_root_node = new LLSelectNode(objectp, TRUE);
4654 rect_select_root_node->selectAllTEs(TRUE);
4655
4656 if (!canSelectObject(objectp)) 4653 if (!canSelectObject(objectp))
4657 { 4654 {
4658 continue; 4655 continue;
4659 } 4656 }
4660 4657
4658 LLSelectNode* rect_select_root_node = new LLSelectNode(objectp, TRUE);
4659 rect_select_root_node->selectAllTEs(TRUE);
4660
4661 if (!select_linked_set) 4661 if (!select_linked_set)
4662 { 4662 {
4663 rect_select_root_node->mIndividualSelection = TRUE; 4663 rect_select_root_node->mIndividualSelection = TRUE;
@@ -5666,6 +5666,12 @@ void LLSelectMgr::validateSelection()
5666 5666
5667BOOL LLSelectMgr::canSelectObject(LLViewerObject* object) 5667BOOL LLSelectMgr::canSelectObject(LLViewerObject* object)
5668{ 5668{
5669 // Never select dead objects
5670 if (!object || object->isDead())
5671 {
5672 return FALSE;
5673 }
5674
5669 if (mForceSelection) 5675 if (mForceSelection)
5670 { 5676 {
5671 return TRUE; 5677 return TRUE;
@@ -5678,9 +5684,6 @@ BOOL LLSelectMgr::canSelectObject(LLViewerObject* object)
5678 return FALSE; 5684 return FALSE;
5679 } 5685 }
5680 5686
5681 // Can't select dead objects
5682 if (object->isDead()) return FALSE;
5683
5684 // Can't select orphans 5687 // Can't select orphans
5685 if (object->isOrphaned()) return FALSE; 5688 if (object->isOrphaned()) return FALSE;
5686 5689
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index c41c4ba..36809ee 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -293,7 +293,7 @@ void update_texture_fetch()
293} 293}
294 294
295static std::vector<std::string> sAuthUris; 295static std::vector<std::string> sAuthUris;
296static int sAuthUriNum = -1; 296static S32 sAuthUriNum = -1;
297 297
298// Returns FALSE to skip other idle processing. Should only return 298// Returns FALSE to skip other idle processing. Should only return
299// TRUE when all initialization done. 299// TRUE when all initialization done.
@@ -1007,6 +1007,7 @@ BOOL idle_startup()
1007 hashed_mac.hex_digest(hashed_mac_string); 1007 hashed_mac.hex_digest(hashed_mac_string);
1008 1008
1009 // TODO if statement here to use web_login_key 1009 // TODO if statement here to use web_login_key
1010 sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1);
1010 gUserAuthp->authenticate( 1011 gUserAuthp->authenticate(
1011 sAuthUris[sAuthUriNum].c_str(), 1012 sAuthUris[sAuthUriNum].c_str(),
1012 auth_method.c_str(), 1013 auth_method.c_str(),
@@ -3619,7 +3620,15 @@ void init_start_screen(S32 location_id)
3619 } 3620 }
3620 3621
3621 LLPointer<LLImageBMP> start_image_bmp = new LLImageBMP; 3622 LLPointer<LLImageBMP> start_image_bmp = new LLImageBMP;
3622 if( !start_image_bmp->load(temp_str) ) 3623
3624 // Turn off start screen to get around the occasional readback
3625 // driver bug
3626 if(!gSavedSettings.getBOOL("UseStartScreen"))
3627 {
3628 llinfos << "Bitmap load disabled" << llendl;
3629 return;
3630 }
3631 else if(!start_image_bmp->load(temp_str) )
3623 { 3632 {
3624 llinfos << "Bitmap load failed" << llendl; 3633 llinfos << "Bitmap load failed" << llendl;
3625 return; 3634 return;
@@ -3628,6 +3637,7 @@ void init_start_screen(S32 location_id)
3628 gStartImageGL = new LLImageGL(FALSE); 3637 gStartImageGL = new LLImageGL(FALSE);
3629 gStartImageWidth = start_image_bmp->getWidth(); 3638 gStartImageWidth = start_image_bmp->getWidth();
3630 gStartImageHeight = start_image_bmp->getHeight(); 3639 gStartImageHeight = start_image_bmp->getHeight();
3640
3631 LLPointer<LLImageRaw> raw = new LLImageRaw; 3641 LLPointer<LLImageRaw> raw = new LLImageRaw;
3632 if (!start_image_bmp->decode(raw, 0.0f)) 3642 if (!start_image_bmp->decode(raw, 0.0f))
3633 { 3643 {
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index d531455..b35abe6 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -1114,7 +1114,7 @@ void init_client_menu(LLMenuGL* menu)
1114 NULL, 1114 NULL,
1115 NULL)); 1115 NULL));
1116 1116
1117 menu->append(new LLMenuItemCallGL("Debug Settings", LLFloaterSettingsDebug::show, NULL, NULL)); 1117 menu->append(new LLMenuItemCallGL("Debug Settings...", LLFloaterSettingsDebug::show, NULL, NULL));
1118 menu->append(new LLMenuItemCheckGL("View Admin Options", &handle_admin_override_toggle, NULL, &check_admin_override, NULL, 'V', MASK_CONTROL | MASK_ALT)); 1118 menu->append(new LLMenuItemCheckGL("View Admin Options", &handle_admin_override_toggle, NULL, &check_admin_override, NULL, 'V', MASK_CONTROL | MASK_ALT));
1119 1119
1120 menu->append(new LLMenuItemCallGL("Request Admin Status", 1120 menu->append(new LLMenuItemCallGL("Request Admin Status",
diff --git a/linden/indra/newview/llviewerwindow.cpp b/linden/indra/newview/llviewerwindow.cpp
index 0e5218c..a82b162 100644
--- a/linden/indra/newview/llviewerwindow.cpp
+++ b/linden/indra/newview/llviewerwindow.cpp
@@ -4463,7 +4463,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
4463 image_buffer_y = llfloor(snapshot_height *scale_factor) ; 4463 image_buffer_y = llfloor(snapshot_height *scale_factor) ;
4464 } 4464 }
4465 raw->resize(image_buffer_x, image_buffer_y, type == SNAPSHOT_TYPE_DEPTH ? 4 : 3); 4465 raw->resize(image_buffer_x, image_buffer_y, type == SNAPSHOT_TYPE_DEPTH ? 4 : 3);
4466 if(!raw->getData()) 4466 if(raw->isBufferInvalid())
4467 { 4467 {
4468 return FALSE ; 4468 return FALSE ;
4469 } 4469 }
diff --git a/linden/indra/newview/releasenotes.txt b/linden/indra/newview/releasenotes.txt
index 8e96127..49cc03d 100644
--- a/linden/indra/newview/releasenotes.txt
+++ b/linden/indra/newview/releasenotes.txt
@@ -1,6 +1,23 @@
1Release Notes for Second Life 1.19.1(3) March 26th, 2008
2=====================================
3Changes and fixes:
4* VWR-4125: Duplicate names in XUI files make some translated UI texts to show inappropriately
5* VWR-2273: View menu > Instant Message should be changed to "Communicate"
6* VWR-1722: Profiles are editable in two places (including Search browser)
7* Fixed list of names in Friends List showing (Waiting)
8* Help menus have been combined
9* Clean up the Client and Server menu user interface: ctrl-alt-D now toggles the 'Advanced' menu, requesting god status does not display the 'Admin' menu
10* Place Information is hidden behind the tool bar when opened from Second Life Help
11* Fixed: bulk upload of a single file (on Windows) includes the path in the item name and description
12* "Mute" button on script permission dialogs closes all dialogs from the sender
13* Changing viewer language selection doesn't bring up a localized F1 Help in French, Spanish
14* Translated camera controls +64 in both directions.
15* localized versions of panel_login.xml (incorrectly) override the splash page url set in en-us
16* XML resizing in \xui\en-us to accommodate localization lengths
17
1Release Notes for Second Life 1.19.1(2) March 19th, 2008 18Release Notes for Second Life 1.19.1(2) March 19th, 2008
2===================================== 19=====================================
3Chnages and fixes: 20Changes and fixes:
4* Fix for crash in LLViewerPartGroup::updateParticles 21* Fix for crash in LLViewerPartGroup::updateParticles
5* VWR-5372 Specific Search (People, Places, etc) queries are modified and words less then 3 characters are removed. Now allow searches for resident names of 2 characters, and place/group names containing 1 char words. 22* VWR-5372 Specific Search (People, Places, etc) queries are modified and words less then 3 characters are removed. Now allow searches for resident names of 2 characters, and place/group names containing 1 char words.
6* VWR-5517: Search failure dialog doesn't fill in [FINAL SEARCH]. 23* VWR-5517: Search failure dialog doesn't fill in [FINAL SEARCH].
@@ -283,1307 +300,3 @@ Source changes:
283* Rebuild and/or update libraries to use statically linked libs. 300* Rebuild and/or update libraries to use statically linked libs.
284* Remove llfloaterhtmlhelp.cpp / h and floater_html_help.xml 301* Remove llfloaterhtmlhelp.cpp / h and floater_html_help.xml
285 302
286
287Release Notes for Second Life 1.18.5(3) November 29, 2007
288=====================================
289New features:
290* New inworld search via the 'All' tab
291** Includes improved search functionality on land parcels, profiles, groups, wiki documents, events, classifieds, and some individual objects
292** Classifieds are returned both within and next to search results
293
294Changes:
295* slurls with 3 slashes (secondlife:///app....) are now highlighted in the text window
296* UI elements placement/sizing updated to accommodate localized versions of Second Life viewer
297* Korean text displays correctly on Leopard (Mac OS X 10.5)
298* Permissions dialogs are now throttled to avoid griefing
299
300Fixes:
301* Public source bundle not getting all ares libs
302* VWR-2959: Windows (Visual Studio) solution file refers to a non-existing project "build_all"
303* VWR-2551: Error in macview.xcodeproj -- invalid dependencies
304* VWR-2856: libs package missing c-ares
305* VWR-3073: Right-clicking someone's attachments to view profile loads (???) (???) instead
306* VWR-592: crash in LLTemplateMessageBuilder::addString
307* VWR-2826: Several problems on handling Japanese input (and possiblly Chinese/Korean also)
308* VWR-2834: Builds fail on 1.18.4.0 with no mozlib
309* VWR-2030: Avatar only turns half-way in Appearance Mode
310* VWR-2803: Lag Meter network ping metric doesn't account for residents outside the USA
311* VWR-3311: Web UI elements' focus rectangle are offset from their displayed position
312
313
314Release Notes for Second Life 1.18.4(3) November 7, 2007
315=====================================
316New features:
317* Help > Lag Meter; monitors Client, Network and Server lag and reports possible causes
318
319Changes:
320* Visual changes in preparation for a forthcoming release of new in-world search
321** Opt-in and opt-out checkboxes for Resident Profile, Parcels, For Sale Objects, Not For Sale Objects, Regions, and Groups
322* About Land description field is now a three-line text box
323* Minimap indicators for "above" and "below" updated
324** After the next server update, friends will appear in a different color
325
326Bug fixes:
327* Fixed a sculptie LOD issue
328* Fixed region Mature setting reverting to PG after Estate/Region changes
329* Fixed several UI elements
330* Fixed new group not appearing in group window until relog
331* Fixed Trash folders in user inventory
332* Fixed missing line of information on land sales
333* Fixed parcel listings showing [AREA] instead of parcel size
334* Fixed bad teleports from landmarks
335* Fixed up/down arrows for Repeats Per Face
336* Fixed a viewer nested message crash
337* Fixed a viewer crash with editing classifieds
338* Fixed a viewer crash when pressing Ctrl-F with a minimized Search window
339* Fixed secondlife.log spam when group info window opens
340* Fixed Publish on Web not saving for parcels
341* Fixed missing dialog for Publish in Classifieds
342* Fixed updates for Land and L$
343* Fixed invisible sculpted prims when sculpted texture contains alpha
344* Fixed scope of drag-select with locked objects
345* Fixed link order of drag-selected objects
346* Fixed Accept Notices flag in Group Panel General tab not saving value
347* Fixed Linux viewer preferences for choosing the cache location or chat log location
348* Fixed Apply button disabled after setting group preferences
349* Fixed Apply button failing to grey out after selecting 'List Group in Profile'
350* Fixed filename filter for Linux/GTK file picker
351* Fixed Linux/GTK file picker not remembering most recent directory
352* Fixed channel argument in Linux client
353* Fixed muted particles not clearing
354* Fixed Show in Search option not carrying over to copied object
355* Fixed muted users disappearing from Active Speakers
356* Fixed Mature content flag when searching All
357* Fixed viewer crash when pasting/typing UTF8 text in the object For Sale price box
358* Fixed Gesture Editor sounds not initialized
359* Fixed Group enrollment fee accepting floating point
360* Fixed 'Quiet Snapshots to Disk' and 'Disable Camera Constraints' not persisting across sessions
361* Fixed dot characters in various fields
362* Fixed a crash on startup (due to empty list of rewritten login URIs)
363* Fixed a Viewer crash while trying to rez an object
364* Fixed a crash when editing classifieds
365* Fixed Land & L$ fields no longer update
366* Fixed a crash by minimizing the search window followed by Ctrl+F
367* Fixed parcel option doesnt save publish listing on the web setting
368* Fixed texture editing user interface is confusing
369* Fixed can't set Repeats Per Face with up/down arrows
370* Fixed Auction ID and Land Description Overlap in the 'About Land' window
371* Disabled Add to Outfit and Replace Outfit options on the top-level Clothing folder
372* MISC-567: Multiple system folders (e.g., '100 Lost and Found Folders') in inventory
373* VWR-2471: SL-viewer chrashes after opening the 10th group-info-window
374* VWR-2444: Menu background colors aren't settable in colors_base.xml
375* VWR-2291: LOD defaults are now too aggressive in RC 1.18.3
376* VWR-2283: Some changes to groups cannot be saved
377* VWR-2116: Viewer crashes when starting a new Group IM session under Japanese UI
378* VWR-2104: long avatar names overflow on the chat history window volume control/muting section
379* VWR-2065: Custom Snapshot setting do not save for next Snapshot
380* VWR-2041: Allow using voice component on another computer
381* VWR-1945: toolbox floater displays window elements incorrectly when minimized then moved.
382* VWR-1944: Active gestures sometimes fail to show in the Active Gestures list
383* VWR-1888: Characters missing in IM window
384* VWR-1724: HUD zoom snaps back after selecting another HUD object
385* VWR-1695: llGiveInventoryList objects spam the owner with messages when the recipient is in Busy mode
386* VWR-1590: Keyboard changes inventory selection after right-click
387* VWR-1562: llassert(mNumDescendantsSelected >= 0) with crash and loop. (Debug build)
388* VWR-1448: llSetText on non-root prims is unreliable (including after relogs)
389* VWR-1408: Online status viewable via Groups even if 'Make my online status visible only to my Friends' is set
390* VWR-1399: Client crashes when viewing details of an empty proposal window
391* VWR-1096: llPlaySound does not play whilst in HUD depending on HUD attachment point
392* VWR-1045: Client crashes with no warning when uploading corrupted TGA file
393* VWR-851: Viewer Crashes in high texture environments when moving or when panning with camera.
394* VWR-813: Recent Items tab shows folders with no matching items
395* VWR-738: SL crashes when loading with a GTK_IM scim module
396* VWR-379: Fix shell scripts to use bash and not sh when appropriate.
397* VWR-333: 'Unable to load gesture.' or 'Gesture is missing from database.' on login
398* VWR-315: Script changes in the editor may be cancelled because of lag
399* VWR-851: Viewer Crashes in high texture environments when moving or when panning with camera.
400* VWR-813: Recent Items tab shows folders with no matching items
401* VWR-738: SL crashes when loading with a GTK_IM scim module
402* VWR-379: Fix shell scripts to use bash and not sh when appropriate.
403* VWR-333: 'Unable to load gesture.' or 'Gesture is missing from database.' on login
404* VWR-315: Script changes in the editor may be cancelled because of lag
405
406Release Notes for Second Life 1.18.3(5) September 28, 2007
407=====================================
408Changes:
409* Changed Bug Reporting links to http:// instead of https://
410* Build mode no longer automatically turns on beacons
411* Removed 'Ping User' in statistics window (was returning 0, as userserver no longer exists)
412* Removed 'Open' menu option when clothing is selected (as 'Wear' is available)
413* Added minimize button to Inventory
414* Updated voice components to improve quality and address VWR-1532
415* Added name of viewer release channel to embedded browser agent ID string
416* Reverted map beacon behavior (per VWR-2270)
417
418Known issues:
419* Sculpted prims with alpha in the sculpted texture are invisible
420* The command line option '-drop' does not work on Linux or OSX clients.
421* VWR-2268: Role Description causes Apply Changes, Ignore Changes, Cancel alert even if you don't have rights to change
422* VWR-2551: Error in macview.xcodeproj -- invalid dependencies
423* VWR-2404: lossless texture compression on small textures not lossless
424* VWR-2552: Telehub gui very broken in RC
425
426LSL changes:
427* Ability to get details about an object by object key:
428** list llGetObjectDetails(key id, list params)
429*** id = the key of the object to get info about.
430*** params = a list of the object details requested: [OBJECT_NAME, OBJECT_OWNER]
431*** returns a list of values in the order requested: [ 'Object_Name', <the UUID key of the owner>]
432**** OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type.
433**** OBJECT_NAME Used with llGetObjectDetails to get an object's name.
434**** OBJECT_DESC Used with llGetObjectDetails to get an object's description.
435**** OBJECT_POS Used with llGetObjectDetails to get an object's position.
436**** OBJECT_ROT Used with llGetObjectDetails to get an object's rotation.
437**** OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity.
438**** OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned.
439**** OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key.
440**** OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key.
441
442Bug fixes:
443* Fixed default eyes appearing gray
444* Fixed viewer source linking error
445* Enrollment fees are no longer displayed with decimals
446* Fixed inworld map region search failing if a space is included after the region name
447* Fixed Appearance editor preview squares after changing tabs
448* Fixed a bug with LODs for sculpted prims
449* Fixed flexy causes llTargetOmega child objects to not rotate
450* Fixed an incorrect Support link
451* Fixed clipboard capture on login screen's config info
452* Fixed web browser widget shows up blank when connecting via https
453* Fixed doubleclicking text entry fields should select a single word first, then the entire field
454* Fixed items renamed from Recent Items not displaying the correct name in All Items
455* Fixed physical memory calls with more than 4GB of memory
456* Fixed viewer crash by clicking Connect button repeatedly
457* Fixed crash in viewer when receiving bad HUD Effects
458* Fixed a Linux client crash
459* Fixed client on 64-bit Linux systems that cannot find their GL drivers
460* Improved Linux client threading
461* Improved client performance after closing an inventory folder with a large number of items
462* VWR-2487: Covenant Details between live version and release candidate version
463* VWR-2275: Linux 1.18.3 Won't Link
464* VWR-2152: Possible crash in llviewerobjectlist
465* VWR-2144: Client crashes when deleting unsaved gestures
466* VWR-2036: Build tools floater does not remember its position on restart
467* VWR-1987: Segfault on startup if audio doesn't initialize.
468* VWR-1976: Solaris' fprintf segfaults on NULL arguments
469* VWR-1968: Possible crash in llmultigesture.cpp
470* VWR-1951: Hide Particles is not working from the View > Beacons menu item
471* VWR-1942: An error in the do-while example of the LSL Scripting Guide could cause infinite looping.
472* VWR-1892: Use pkgconfig for more libraries in the standalone build
473* VWR-1891: Detect a Debian bulid-host, as is done for Fedora
474* VWR-1880: Modify 'Ctrl-F' to call Search/Replace Dialog when invoked inside Script Window
475* VWR-1872: An attempt to fix the 'empty inventory trash' crashes
476* VWR-1861: Renaming items in inventory folders does not update item sort order
477* VWR-1823: Bad typecast for 64 bit systems, llagent llfloatercustomize
478* VWR-1808: Possible crash in llviewerobjectlist
479* VWR-1761: Group Invite Suggestion--add 'view group info' to invite dialog box
480* VWR-1743: LLFloaterGroups source code inconsistencies
481* VWR-1736: Add a Invite to Group option to the Avatar Pie Menu
482* VWR-1722: Profiles are editable in two places (including Search browser)
483* VWR-1721: GUI quirk in groups
484* VWR-1714: Folders flashing in Inventory window with Filters and 'Always show folders' checked
485* VWR-1699: Sculpt map preview inaccurate
486* VWR-1647: 'Show end of last IM conversation' in Preferences/Communication automatically remains checked after OK-ing unchecked
487* VWR-1640: login retires cause LLFrameStatView::setup() to seg fault
488* VWR-1638: confused viewer - displays login and regular menus and buttons
489* VWR-1567: Change the default item name for 'snapshot to inventory' to something more usefull than 'snapshot'
490* VWR-1566: An attempt to fix the glDrawRangeElements crashes (refcount LLDrawInfo )
491* VWR-1564: Viewer crashes when started with the '-local' argument.
492* VWR-1460: Can not see permissions of objects in Buy Contents window when item has long name
493* VWR-1398: Appearance editor's previews do not render correctly (1.17.2)
494* VWR-1372: Sculpt prim topology reverts to sphere unexpectedly
495* VWR-1230: Text highlighting in Chat History window is cancelled when history scrolls
496* VWR-1225: Embedded notecards not functioning
497* VWR-1187: Profile > Classifieds tab shows confirmation dialog when no changes are made
498* VWR-1079: Group Notice dialog: message text can't be copied and pasted
499* VWR-942: logRanOffEndOfPacket is too terse when it logs packet data, add some more info
500* VWR-866: Sculpties suffer HORRIBLY from JPEG artifacts
501* VWR-819: Open the 'More>>' section of the edit tools by default and persist it across sessions
502* VWR-749: Bandwidth indicator: Kbps, should not have capital k
503* VWR-493: Statistics bar, Packet Loss: % sign is doubled
504* VWR-493: Objects with 'Linden' in their name can't be muted
505* VWR-423: Selecting group charter text causes Apply/Ignore/Cancel popup even if the text wasn't changed
506* VWR-240: Cannot input Japanese characters from keyboard on Linux
507* SVC-300: Spam upon TP out of Help Island Public, per calling card and landmark
508
509
510Release Notes for Second Life 1.18.2(1) September 19, 2007
511=====================================
512
513Changes:
514* Fix URL handler exploit described here: http://blog.secondlife.com/2007/09/18/second-life-url-handler-exploit/
515* Update voice components to improve quality and address VWR-1532
516* Add name of viewer release channel to embedded browser agent ID string
517
518
519Release Notes for Second Life 1.18.2(0) August 10, 2007
520=====================================
521
522Bug fixes:
523* VWR-1936: Line editor history missing from First Look: Voice
524* Adjusted thread priorities and buffering algorithms in SLVoice to improve performance on low-end machines
525* Added a DC bias removal filter to SLVoice, which should remove 'popping' artifacts heard with some microphones
526* Fixed: Audio devices added to a system after launch of client do not appear in the device menu
527* Fixed: The first time opening the prefs window after launch kicks the user out of their voice channel
528
529Release Notes for Second Life 1.18.1(2) August 2, 2007
530=====================================
531
532New Features:
533* In-World Voice Chat
534** In-world Voice Chat is now part of the main viewer.
535** You can see and manage all voice settings in Edit > Preferences > Voice Chat.
536** Voice is off by default. To enable (and disable) voice, visit Edit > Preferences > Voice Chat and check/uncheck the box beside 'Enable voice chat'.
537** A voice set-up wizard appears during first voice use to help residents set up voice and adjust their mic volume and tuning. You should run the voice set-up wizard even if you only want the ability to hear others and do not wish to speak.
538** Push-to-Talk is part of the Voice feature. Push-to-Talk is ON by default, which means Resident mics are OFF by default.
539** Speech gestures for voice are included in the Library, in Gestures > Speech Gestures. These gestures need to be activated in order to work; they are off by default.
540* Streaming video support for Linux client.
541
542Changes:
543* Shortcut keys for menu items in the Client & Server menus are now disabled if the menus are hidden.
544* Text from objects can be muted.
545
546Bug fixes:
547* VWR-1797: Remove mention of 'Live Help' from Crash Logger
548* VWR-1732: Pressing Enter, with multiple inventory objects selected, crashes viewer
549* VWR-1729: indra/lscript/lscript_compile/indra.l: avoid yyunput hack on Windows build
550* VWR-1723: Possible crash in llvopartgroup
551* VWR-1706: Minor quirk (and cleanup) in llfloater.cpp
552* VWR-1705: indra/lscript/lscript_compile/indra.y: disable compiler warning #4065 for 'switch' statements
553* VWR-1704: indra/llui/files.lst: delete llhtmlhelp.h entry
554* VWR-1698: Clean up parcel flag manipulation
555* VWR-1655: Script Warnings/errors window is hard to resize, resets size after closing tabs.
556* VWR-1646: Possible crash when login server is unavailable.
557* VWR-1626: Patch to avoid IM window from resizing when sessions open or close
558* VWR-1613: Overuse of virtual
559* VWR-1612: LLRenderPass::Pushbatch and LLViewerImage::addTextureStats tuning
560* VWR-1586: Mismatched delete in llviewerparcelmgr.cpp
561* VWR-1578: Two quirks in IM regarding 'xxxx is typing'
562* VWR-1471: Inspect (Pie menu > More > More > Inspect) shows nothing on first use when 'only select own objects' is enabled
563* VWR-1470: Buttons (IM, Teleport, Profile, ...) in friends list are disabled when opening friends list window
564* VWR-1468: LoginPacketNeverReceived dialog text is incorrect
565* VWR-1462: Order of right-click menu on Inventory is confusing
566* VWR-1453: A few old-school changes for llviewerregion.cpp
567* VWR-1434: Null pointer crash when terraforming
568* VWR-1406: Unchecking 'Go Away/AFK when idle' has no effect in 1.17.2.0
569* VWR-1382: Some scripted objects are highlighted in red while pressing Alt with tools open
570* VWR-1381: libpng12.a for MacOS X is missing in 1.17.1.0 and build fails.
571* VWR-1358: Physical objects remain red if tools window is closed while holding Alt key
572* VWR-1358: Physical objects remain red if tools window is closed while holding Alt key
573* VWR-1353: Misleading variable names in LLTextEditor
574* VWR-1344: Reverse order of popups, so that new ones appear underneath existing ones rather than on top.
575* VWR-1318: Selecting Cancel while saving a snapshot to disk still triggers snapshot gesture
576* VWR-1314: Multiple selection then individual deselection of attachments broken
577* VWR-1294: Possibly threads not fully cleaned up at end of program
578* VWR-1289: On logging in, sound volume for stream is low, despite the actual setting in the music control
579* VWR-1282: Better error handling when fonts are missing
580* VWR-1270: Script error window keeps reverting to a very small size
581* VWR-1246: Mac: File menu > Snapshot to Disk lists wrong shortcut key
582* VWR-1105: Set internal limit of particle count to max value from GUI preferences.
583* VWR-1092: Disable mouse hover text on HUDs, since it always only shows the owner's name and generally gets in the way of HUD functionality.
584* VWR-727: Torn of IM windows should be minimizable (was re: VWR-233: ... resizeable and minimizable)
585* VWR-447: Allow minimized windows to be repositioned in client
586* VWR-353: Rebake command - add a keyboard shortcut and put in tools menu
587* VWR-349: Change keyboard shortcuts, because entering { [ ] } on German and some other international keyboards (AltGr 7, 8, 9, 0) triggers Rendering Features accelerators Ctrl-Alt-7, 8, 9, 0 (previously resulting in unstable viewer)
588* VWR-238: Permissions of Roles and Rights in the german version are mased up.
589* VWR-102: md5 slow
590* SVC-371: Fix the legibility and grammar/consistency of the new llOwnerSay implementation
591* SVC-193: llParticleSystem - halo of rogue particles around original particle system after 1.15 update* SVC-373: Deleting a script's code results in a non-existent file and 'missing from database' error
592* Fixed preference for showing or hiding server combo box was not preserved
593* Fixed residents with negative L$ balance can't purchase items set for sale 'Original' or 'Copy' that are being sold for L$0
594* 'Copy SLURL to clipboard' is now enabled for an avatar's current coordinates
595* Macintosh viewer now correctly opens the map and selects the destination on a SLURL request
596* Leading and trailing spaces are now automatically trimmed from parcel media URLs
597* Corrected the spacing of the yellow 'next dialog' chevron (was partially blocked by the Mute button)
598* Corrected the error message shown when adding 11th Estate Manager
599* Added CPU detection for Intel Core Duo/Solo and Intel Core 2 Duo
600* 'Set Window Size...' setting is now correctly resumed after being minimized
601* Added link to Qa wiki in the viewer bug reporter menu.
602* Updated text in Second Life Crash Logger with new support portal information
603* Corrected an issue with UI font scaling in the bug reporter window
604
605
606Release Notes for Second Life 1.18.0(6) July 11, 2007
607=====================================
608Changes:
609* Message system changes to support transport via TCP (HTTP) as well as UDP.
610** More details are available here: http://blog.secondlife.com/2006/12/21/a-big-change-youll-barely-notice/
611** And here: http://blog.secondlife.com/2007/06/25/dia-de-la-liberacion/
612* German language added to the Windows installer
613* Updated translations for German language viewer
614* Updated translations for Japanese language viewer
615* Updated translations for Korean language viewer
616* Viewer 'channel' (Release, First Look, etc) now visible at login in the lower right corner next to the version number
617
618Bug fixes:
619* Fixed SVC-286: deleted fully-permissive objects owned by others skip trash
620* Fixed SVC-251: Death teleport fails when teleporting to a home point you no longer have access to
621* Fixed MISC-273: Enrollment fee is incorrectly deducted if you belong to max. # of groups and try to join new ones
622
623
624Release Notes for Second Life 1.17.3(0) July 5, 2007
625=====================================
626Changes:
627* Added muting for permissions requests
628* Added viewer channel info to Help > About Second Life...
629
630Bug fixes:
631* SVC-21: Request for making identification of llOwnerSay messages possible
632* VWR-1418: Progressive memory consumption (leak) since 1.17.1
633* VWR-1410: Quirk in net.cpp
634* VWR-1351: Violation against the conding standard in llfloaterchat.cpp
635* VWR-1203: Avatars eyes are constantly crossing in 1.17
636* VWR-1184: [Linux VWR] Signal 7 (SIGBUS) Error (caused by libtcmalloc)
637* VWR-1147: A patch set is provided to add an optional 'Confirm Exit' pop-up window for most user client exit methods. Prevents the 'Accidental Quit'.
638* VWR-605: Include the SL date & day with the time
639* VWR-561: Blurry arrows in camera control and other graphics issues
640* VWR-53: Inconsistency in order of AV texture layer between the upper and lower body
641* Fixed Top Scripts window not refreshing when button is pressed while Top Colliders list is still open
642* Fixed odd text overlay on About Land > General tab
643* Fixed format of llOwnerSay chat text
644
645
646Release Notes for Second Life 1.17.2(0) June 27, 2007
647=====================================
648Bug fixes:
649* VWR-1369: Creating, re-rezzing, then editing an object results in a viewer crash
650
651
652Release Notes for Second Life 1.17.1(0) June 25, 2007
653=====================================
654Changes:
655* VWR-650: Make 'Give money' permissions look different than the other permissions
656* VWR-427: Added new menu item: Tools > Edit Linked Parts
657* VWR-79: PNG image support submission
658* Sculpties now include a one-time explanation the first time a sculptie is created.
659* Client and Server menus now have a one-time dialog box to explain what they are.
660* 'Skip 'Show next time' Dialogs...' button added to Preferences > Popups tab to skip all one time dialog boxes.
661* Added Japanese and German language installers (Windows only)
662* The version of Mozilla used in the client is updated to 1.8.0.12
663* F1 help now opens an external browser to the Second Life support web site.
664* F1 Help will now open an external browser to language specific support websites for Japanese, Korean and Portuguese based on client's language.
665* Delay added to folder opening while dragging items in an inventory window with a vertical scroll bar.
666* Default messages for postcards are replaced when adding text.
667* In the Inventory window the Filter menu is consolidated into the File menu.
668* The sculptie texture picker UI has changed to differentiate it from the surface texture picker.
669
670LSL changes:
671* Added support for alternate sculptie edge stitching.
672* VWR-68: LSL constant expression folding and proper constant parsing
673
674Bug fixes:
675* Fixed MISC-217: Accounts with negative L$ balance can't buy L$0 freebie
676* Fixed SVC-306: Objects are visible at <0,0,0> (sometimes before moving to their correct position)
677* Fixed SVC-225: Searching for Classifieds with blank field results no results
678* Fixed VWR-1339: Asset upload fails for certain saves, eg scripts and appearance
679* Fixed VWR-1296: Minor memory leak in lltexturecache.cpp
680* Fixed VWR-1223: Camera Controls keyboard shortcuts broke
681* Fixed VWR-1221: Possible crash in llfloaterland.cpp / line 1556
682* Fixed VWR-1217: Built-in avatar animations stop suddenly, rather than fading out. (jerky head movement)
683* Fixed VWR-1203: Avatars eyes are constantly crossing in 1.17
684* Fixed VWR-1170: LLMuteList::loadFromFile() improperly parses the mute list returned from the service
685* Fixed VWR-1140: About Land floater is not resizable, ban and access lists too small
686* Fixed VWR-1049: Trivial sizeof() miscalculatuion results in incomplete copying of CPU Brand ID string in CProcessor::AnalyzeAMDProcessor()
687* Fixed VWR-1044: Unchecking 'Go Away/AFK When Idle' doesn't work when manually setting Away status
688* Fixed VWR-944: Boost inclusion is inconsistent
689* Fixed VWR-941: Reading length data for a four-byte Variable template message misstores the length
690* Fixed VWR-938: ELFIO is technically optional, make this easy to capitalise on
691* Fixed VWR-876: sculpt texture map does not load or low priority when the texture itself is not visible in viewer frame or not cached
692* Fixed VWR-873: Dead members 'eVertexDataMask;' in various objects
693* Fixed VWR-856: llvfs.cpp: possible loss of memory blocks in LLVFS:audit()
694* Fixed VWR-822: 'Create new...' clothing buttons don't auto-wear items
695* Fixed VWR-746: Incorrect menu item referred to when member of maximum number of groups and a group invite is received
696* Fixed VWR-660: When turning off Flexible Object rendering, flexible objects become permanently invisible
697* Fixed VWR-652: A harmless compiler warning in indra.l.cpp
698* Fixed VWR-606: Some source files (llprocessor.cpp and llsdserialize_tut.cpp) contain non-ASCII characters
699* Fixed VWR-597: Abuse report tool should autofill abuser name when reporting an object
700* Fixed VWR-560: Crash in llscrolllistctl.cpp when sorting scroll list
701* Fixed VWR-459: Unicode supplementary characters typed in from keybaord are not handled properly on Windows (and potentially on Linux)
702* Fixed VWR-446: Automatically start renaming new user-created assets and automatically select new user-created folders
703* Fixed VWR-383: Chat logs do not have timestamps
704* Fixed VWR-364: Viewer memory leak
705* Fixed VWR-287: Inconsistent behaviour between agent_slide_left / agent_slide_right, and the rest of the movement functions.
706* Fixed VWR-251: Keystrokes are eaten by IME when no text input is possible, on Windows using Japanese
707* Fixed VWR-248: Inexplicable folding of Avatars such that they are walking around with their heads up their arses
708* Fixed VWR-247: Viewer generates undesired dialog when IM comes in while minimized
709* Fixed VWR-227: If a Find/Search returns no results, the results list is still focused and an attempt is made to select the first result anyway.
710* Fixed VWR-218: SConstruct script makes many assumptions that are invalid outside LL
711* Fixed VWR-213: Calling DestroyWindow with NULL window handle (win32 version)
712* Fixed VWR-207: Textures become increasingly blurry over time on systems with > ~2GB RAM
713* Fixed VWR-143: Compiler errors in llwebbrowserctrl.h
714* Fixed VWR-132: seg fault in lldrawpool.cpp
715* Fixed VWR-119: Zero missing in Sub-unit snap grid. for small fraction like 1/16 and 1/32
716* Fixed VWR-101: Get rid of 'Return All'
717* Fixed Inventory's 'Recent Items' tab settings not persisting across logins
718* Fixed line breaks showing up as * in various windows.
719
720Release Notes for Second Life 1.17.0(12) June 13, 2007
721=====================================
722Changes:
723* Inventory transfers
724** Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences.
725** Viewing an embedded notecard or landmark no longer adds it to your inventory.
726** Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender.
727** Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email.
728* Added 'Clear Browser Cache' button to web prefs.
729** This only affects the embedded browser, not any other browsers installed on your system
730* Embedded Mozilla browser now supports cookies.
731* Preliminary support added to the Windows installer for selecting a language (English, Korean)
732* Closing a changed Classified now confirms changes
733
734Bug fixes:
735* Fixed a client crash while in startup
736* Fixed group chat reopening with one message and an error after closing group chat
737* Fixed 'Stop All Animations' when stuck in an animation after teleporting
738* Fixed group messages to allow the use of UTF8 characters
739* Fixed 'Show Owners' from automatically turning on again
740* Fixed an issue with 'Release Controls' when an object is taken and rerezed.
741* Fixed an issue with texture picker not displaying any results unless inventory had been shown
742* Fixed chat history to not show muted resident chat
743* Fixed 'Mute Resident' button, now opens the user picker
744* Fixed group ability settings for group owners in German language viewer
745* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only)
746* Notecards no longer display the 'Keep' and 'Discard' buttons when opened from inventory
747* Acquired date is now set for items dragged from the contents of a container prim
748* VWR-1040: crash when opening several gestures quickly
749* VWR-966: Minor memory leak in llfloaterpreferences.cpp and a tiny leak in llstatup.cpp
750* VWR-908: Various memory leaks in the group dialog
751* VWR-871: More bad f00d: Two minor (or inconsequential) misses of initializing object members
752* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis)
753* VWR-869: Possible hard-loop (endless, viewer-hang) in script editor
754* VWR-827: Toruses are borked after making/editing sculpted prims
755* VWR-823: Two unintialized variables in lltexturefetch.cpp
756* VWR-822: 'Create new...' clothing buttons don't auto-wear items
757* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp
758* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp
759* VWR-808: Incorrect cleanup in message.cpp
760* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp
761* VWR-804: Quirk in llviewerwindow.cpp
762* VWR-805: LLCurl not properly cleaned up
763* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off
764* VWR-409: New Feature -> UI -> Dialog -> Buy Copy/Contents -> Default Action -> Cancel
765* VWR-682: Text Editors should try to preserve X cursor position
766* VWR-671: Line editor history for recalling previously typed lines
767* VWR-648: Texture picker should highlight the texture in the swatch
768* VWR-412: Object editing arrows hidden but clickable on objects you can't edit.
769* VWR-364: Viewer memory leak
770
771Release Notes for Second Life 1.16.0(5) May 23, 2007
772=====================================
773New Features:
774* Sculpted Prims
775** Sculpted Prims are a new primitive type that uses a texture to control its 3D shape
776** See http://wiki.secondlife.com/wiki/Sculpted_Prims for FAQ and detailed information
777* Add 'Mute' button to block unwanted notecards, landmarks, and textures
778
779Changes:
780* Improved muting of particle systems
781
782LSL Changes:
783* New function: llRegionSay()
784** Allows object to communicate region-wide
785** Does not allow communication on channel 0
786** This is intended to reduce simulator load by eliminating the need for relay objects
787
788Bug fixes:
789* Text for several alert messages has been updated
790* Fixed positioning of maximize button when minimizing both script and lsl window
791* Fixed positioning of LSL help window after minimizing/maximizing main script window
792* Fixed group chat IM showing sender as the only participant until someone responds
793* Fixed group chat IM reopening with an error when sending a message after user closes group chat
794* Fixed '... has left the session' when leaving group chat after talking
795* Fixed failed email when no subject is included
796* Fixed object loss occuring when taking an item
797* VWR-657: Beta -> Linux -> Startup -> Crash
798
799Release Notes for Second Life 1.15.3(0) May 22, 2007 (Server-Only Update)
800=====================================
801Bug fixes:
802* SVC-213: llGiveInventoryList not creating a folder to place items
803
804
805Release Notes for Second Life 1.15.2(0) May 18, 2007 (Server-Only Update)
806=====================================
807Changes:
808* IMs and emails received when inventory is given now include the item name, owner, position and SLURL.
809** This is useful to track down spamming objects.
810
811Bug fixes:
812* SVC-85: Friends online in the grid does not reflect who is actually online
813* SVC-138: Land sales search sorting doesn't work
814* MISC-37: Continued breakdowns in group notice popup functionality
815* Teleporting to Help Island no longer allows you to teleport back to Orientation Island
816* No-copy objects that fail to rez now reappear in inventory (may require a relog)
817* Scripted attachments work again correctly on group land
818* Fixed a bug where email sent by script with an empty subject would fail (valid per RFC2822)
819* Fixed several server-side memory leaks, and changed to new memory allocation library
820* Fixed several server-side crashes
821
822
823Release Notes for Second Life 1.15.1(3) May 14, 2007
824=====================================
825Changes:
826* Soft shadow for text is now an option available via the text style flag
827* Expanded Tools->Report Bug to include additional information and links
828* Alt-Left and Alt-Right switch between tabs in IM
829* Ctrl-W closes one tab in IM window (Ctrl-T closes IM window)
830* Ctrl-Shift-W closes all windows
831* Inventory system folders may be sorted to top
832* Busy mode declines notecards and textures and silently sends all other transfers to Inventory
833* L$ balance displays 'Loading...' (instead of a blank) when first checking your balance
834* Minimap is enabled when Second Life runs for the first time
835* Texture transfers are limited to 5 items per 10 seconds
836
837Bug fixes:
838* Fixed windows maximizing when opening other windows
839* Fixed floating text inworld (original hard shadow restored)
840* Fixed LSL Help window restoring when clicking on script editor
841* Fixed LSL Wiki Help window forgetting its size
842* Fixed Ctrl-W closing the floater instead of one IM panel
843* Fixed a client crash when deleting an object from inventory
844* Fixed avatar eyeball shader
845* Fixed closing an inventory folder while selection is inside moves selection to 'My Inventory'
846* Fixed nametag text leaving background box while moving
847* Fixed graphics cards with unlisted memory sizes defaulting to 16MB
848* Fixed right-clicking on self failing if you are wearing a HUD
849* Fixed llSetText appearance on HUD attachments
850* Fixed Alt-WASD behavior when sitting
851* Fixed first digit in Pay dialog cannot be erased
852* Fixed reference ruler measuring to region edge instead of reference object
853* Fixed permissions on group-owned object's script when group member clicks New Script
854* Improved detection of Linux video memory
855* VWR-38: Magic Opening Folders
856* VWR-42: llSetSoundQueueing() is broken
857* VWR-71: Tabulating and moving by word (Ctrl-left, ctrl-right) off-by-one errors in scripting editor.
858* VWR-136: Seg fault in llpolymorph.cpp
859* VWR-148: llListStatistics tooltip wrong
860* VWR-154: typo in en-US/floater_mute.xml 'Resident' not 'resident'
861* VWR-155: typo in en-US/floater_mute.xml 'Resident' not 'Person'
862* VWR-165: First Digit in the 'Pay' dialog does not erase without entering more digits
863* VWR-166: moving of open folders in the inventory to an other indentation level leaves the contents on the previous level
864* VWR-192: textures in windows only stretches horizontally
865* VWR-326: Allow a 'limit texture recieving' in the client
866* VWR-346: Selecting Client>Character>Flush Animations immediately crashes 1.14.0.x
867* VWR-379: Fix shell scripts to use bash and not sh when appropriate.
868* VWR-414: 8-bit character in llagent.cpp comment confuses Japanese text editors
869* VWR-415: Definitions of WM_MOUSEWHEEL and WHEEL_DELTA need conditionals (on Windows)
870* VWR-429: add scons option making FMOD optional
871
872Release Notes for Second Life 1.15.0(2) April 25, 2007
873=====================================
874Changes:
875* Improved Help menu with links to additional resources
876* 'Add as Friend' button added to Profile
877* Added buttons to the IM window to scroll to the first and last tabs
878* Added parcel flag for Mature Content
879** Parcel searches use the parcel rating instead of the region rating
880* Share With Group checkbox is cleared after object is deeded to group
881* Groups list window taller and resizable
882* Residents are now notified if they are the only ones present in a group IM or conference session
883* Rating system removed from Profile
884* Group Search improvements
885** Searches are done against the full text of the group, including charter
886** Search index is updated daily; new groups may take 24 hours to appear
887** Clicking on a group found via search still shows up-to-date information
888* Alpha textures sorted more accurately
889** Example: the hollow inner surface of a sphere will no longer draw on top of the outer surface
890** This change may cause content using alpha textures to appear differently
891* Larger debug beacons (View > Beacon)
892** You can now set the beacon size in Preferences -> Adv. Graphics (Range is 1-127)
893
894LSL changes:
895* LSL Wiki browser embedded in the viewer
896** When editing a script, select a keyword, then select Help > LSL Wiki Help. in the Script window
897* New function: string llStringTrim(string src, integer trim_type)
898** STRING_TRIM_HEAD: trim all leading spaces in src
899** STRING_TRIM_TAIL: trim all trailing spaces in src
900** STRING_TRIM: trim all leading and trailing spaces in src
901
902Notes:
903* LSL Wiki is not editable from within the Second Life viewer
904* PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY and PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY flags
905 were added to llGetParcelFlags()/llSetParcelFlags in a previous release, but not
906 documented. These will now appear correctly in the script editor.
907* On systems with ATI Mobility X300/X600/X700 graphics cards, when upgrading from a previous
908 version of Second Life, sound may be disabled on the first run of the viewer. It
909 should function correctly on the second run.
910* HUD objects may temporarily appear in the wrong position following a region crossing.
911
912Bug fixes:
913* Removed First Land filter in Search
914* Improved performance of inventory operations
915* Improved recognition of some processor types
916* Fixed About Land reporting the wrong parcel when teleporting between estates
917* Fixed a source of stalled Pending Uploads
918* Fixed Texture Repeats Per Face rounding incorrectly when tabbing between fields
919* Fixed objects appearing in two places while moving in editor
920* Fixed a client crash with some mobile ATI chipsets
921* Fixed button images when first running SL
922* Fixed selecting group roles not updating UI
923* Fixed avatar names not appearing when Show Avatar Names Temporarily is enabled
924* Fixed New IM showing (nobody) for group names
925* Fixed task email failing between regions
926* Fixed broken embedded landmarks when editing their notecard
927* Fixed a case where you could not modify your modifiable object
928* Fixed attachments disappearing a minute after teleport
929* Fixed ability to set Mature on parcels in non-Mature regions
930* Fixed saving changes to notecards in contents
931* Fixed HUD positioning guide misaligning when UI Size changed
932* Fixed a case where no-copy objects could be lost during rez
933* Fixed textures in windows only stretching horizontally
934* Fixed texture animation rotation changing when Flip is enabled
935* Fixed erroneous 'User has left this session' messages
936* Fixed display bug with a cube with Path Cut Begin/End set to .150
937* Fixed disappearing alpha HUD prims
938* Fixed menu bar processing keystrokes when moused over
939* Fixed detached IM windows not resizing
940* Fixed animated textures when using llSetColor, llSetLinkColor, or PRIM_PROPERTIES
941* Fixed HUD object movement when logging in at a no-script area
942* Fixed HUD objects not loading new textures
943* Fixed HUD objects becoming invisible the first time they are attached from inworld
944* Fixed 'IM All Contacts In Folder'
945* Fixed a viewer crash in the name cache
946* Fixed Undo resetting position only on root prim
947* Fixed Texture Picker search not showing results
948* Fixed IM window reverting to default size
949* Fixed overriding stand-up animation freezing you in place
950* Fixed Appearance mode showing back of avatar
951* Fixed: VWR-14: Inconsistency with reading binary data in llpolymesh.cpp
952* Fixed: VWR-45: trivial patch, initialize variables
953* Fixed: VWR-94: Buffer overflow in decoding image.
954* Fixed: VWR-97: Several iterator bugs in llmessage
955* Fixed: VWR-100: Messages form OpenJPEG only in debug mode
956* Fixed: VWR-109: Characters from fallback fonts don't scale properly
957* Fixed: VWR-123: OpenJPEG meta decode, Second Life patches
958* Fixed: VWR-130: llimagejpeg.h remove jinclude.h
959* Fixed: VWR-144: HUD and possibly other alpha touch area problems
960* Fixed: VWR-188: Patch: Refactor options handling in SConstruct
961* Fixed: VWR-198: Missing line of code in source on FFSAVE_WAV
962* Fixed: VWR-200: money(); events in a linked sets fail to trigger
963* Fixed: VWR-261: lldir_mac.cpp @brief description is wrong
964
965
966Release Notes for Second Life 1.14.0(1) March 30, 2007
967=====================================
968Fixes:
969* Fixed: When going to recent items tab in inventory, inventory contents do not download
970* Fixed: Crash in llvlcomposition
971* Fixed: VWR-200: money(); events in a linked sets fail to trigger
972* Fixed: VWR-109: Characters from fallback fonts don't scale properly
973* Fixed: VWR-100: Messages form OpenJPEG only in debug mode
974* Fixed: VWR-97: Several iterator bugs in llmessage
975* Fixed: VWR-45: trivial patch, initialize variables
976* Fixed: VWR-14: Inconsistancy with reading binary data in llpolymesh.cpp
977
978Release Notes for Second Life 1.14.0(0) March 27, 2007
979=====================================
980New feature:
981* Linux client features embedded Mozilla
982
983Changes:
984* Texture Pipeline Architecture
985** Significant redesign of texture pipeline
986** Improved texture caching
987** Unlimited texture cache size
988** Cache location can be changed
989** Textures from last scene are pre fetched, improving loading speed of inital scene
990* Render Pipeline Architecture
991** Significant changes to render pipeline
992** Introduction of Vertex Buffer Objects for improved stability
993** Better batching of geometry for improved render performance (on some systems)
994** Alpha sorting changes to improve performance
995** Modified texture animations to use hardware acceleration
996** Light objects now affect themselves.
997*** NOTE: This may cause some objects that are lights to 'wash out' requiring some content to be adjusted
998* Setting an object for sale enables 'Buy Copy' by default instead of 'Buy Original'
999* User inworld money transaction history floater removed
1000** Transaction history can be viewed via secondlife.com
1001* Moving your avatar no longer deselects objects in build mode automatically
1002* Removed old reference to Announcements forum in a login error message
1003* Added Port setting in preferences to specify UDP port (ala -port argument)
1004* Added setting to change cache location
1005* Added 'Empty Lost and Found' option
1006* Added 'Use Custom Port' option to Preferences to specify network port
1007* Objects set for sale are Buy Copy by default (instead of Buy Original)
1008* Increased Classified's maximum L$ payable from 99999 to 999999
1009* Added '?' button next to Partner field explaining partnering
1010** Added display that shows intersection of prims with translation plane when building.
1011
1012LSL changes:
1013* New script commands
1014** void llSetLinkPrimitiveParams( integer linknumber, list rules )
1015** void llSetLinkTexture( integer linknumber, string texture, integer face )
1016* More documentation is available using Help > Scripting Guide...
1017* The following 4 particle commands have been deprecated for some time, and are now approximated by llParticleSystem
1018** llMakeExplosion http://wiki.secondlife.com/wiki/LlMakeExplosion
1019** llMakeFire http://wiki.secondlife.com/wiki/LlMakeFire
1020** llMakeFountain http://wiki.secondlife.com/wiki/LlMakeFountain
1021** llMakeSmoke http://wiki.secondlife.com/wiki/LlMakeSmoke
1022
1023Bug fixes:
1024* Fixed texturing all sides of multi-prim object failing under high latency
1025* Fixed sitting avatar standing when clothes are dragged onto the avatar
1026* Fixed llGiveInventoryList spamming owner with messages
1027* Fixed group members ability to set home to land only set to group (not deeded)
1028* Fixed objects from library being placed back in Library after editing
1029* Fixed loss of no-copy textures when applied to a prim
1030* Fixed delivery of Email to IM messages greater than 998 characters
1031* Fixed attachments leaving inventory after detaching
1032* Fixed Alt-menu taking focus after Alt-zooming
1033* Fixed menus not closing when something else is clicked
1034* Fixed Friends list not showing online friends on login if 'Can see my online status' is disabled
1035* Fixed World -> Buy Land menu failures
1036* Fixed LSL email converting numbers in the email body to 0
1037* Fixed focus issues when closing a window
1038* Fixed closed status of folders when opened in inventory
1039* Fixed a method of sitting on other avatars
1040* Fixed double-clicking on TOS switching to a different text display
1041* Fixed rezzed objects appearing at <0,0,0> if you have create rights but do not wear your title
1042* Fixed Offer Teleport appearing in your own profile
1043* Fixed Ctrl-P failing to open Preferences if Inventory has focus
1044* Fixed ability to set sale info on no-modify items
1045* Fixed ability to further limit permissions on items if they are already no-modify
1046* Fixed Object Entry rules also preventing rezzing from inventory
1047* Fixed single-click behavior for objects
1048* Fixed object selection while crossing region boundary
1049* Fixed textures leaving their window when resized
1050* Fixed single items being created in tabbed windows
1051* Fixed menus not closing when clicked a second time
1052* Fixed resizing of landmarks
1053* Fixed textures being applied to all sides when using Select Texture
1054* Fixed objects not deleting if they contain no-copy items
1055* Fixed Pay dialog while in busy mode
1056* Fixed loss of no-copy objects when using llGiveInventory() on a busy avatar
1057* Fixed script editor not regaining focus when function dropdown is used
1058* Fixed opening multiple inventory items not using tabbed windows
1059* Fixed a client crash when opening multiple inventory items (including a script)
1060* Fixed notecards opened in a tabbed window extending outside the preview window
1061* Fixed blurry web browser widgets when UI Scale is not 1.0
1062* Fixed focus not moving to next window when using Ctrl-W on detached IMs or Appearance
1063* Fixed Ctrl-W not closing snapshot floater
1064* Fixed widget overlap in group proposal tab of a searched group
1065* Fixed a client crash when deleting objects
1066* Fixed Capslock key detection
1067* Fixed context menu for items in an object
1068* Fixed avatar animations not changing when editing an attachment
1069* Fixed object counts in About Land changing when object loses focus
1070* Fixed ESC key behavior (closing tools and resetting camera)
1071* Fixed obscured status bar when debug is off
1072* Fixed client crash in People Search with Picks tab
1073* Fixed incorrect prim count in Buy dialog when using prim multipliers
1074* Fixed build button on toolbar remaining disabled when Create Objects is set to group
1075* Fixed a client crash while taking an object
1076* Fixed a script runtime error when using a list inside a while or do-while loop
1077* Fixed renaming a no-copy clothing item failing during Make New Outfit
1078* Fixed objects failing to attach when selected from a distance
1079* Fixed rare texture swapping on Mac
1080* Fixed non-Latin characters such as Japanese Kanji appearing as small square dots
1081* Fixed textures in the distance not reducing priority
1082* Avatars out of view are no longer animated
1083
1084Release Notes for Second Life 1.13.4(59510) March 22, 2007
1085=====================================
1086Changes:
1087* Legacy particle system replacements
1088* 'Share with Group' checkbox now cleared when deeding objects
1089
1090Bugs Fixed:
1091* Fixed llParticleSystem( [] ) not shutting down reliably
1092* Fixed SVC-48: llSetScriptState is failing in some tasks
1093* Fixed SVC-47: llSetPrimitiveParameters with multiple setposition calls capped at 10m, affecting home made TPs
1094* Fixed SVC-15: Random Prim Drift
1095
1096Release Notes for Second Life 1.13.4(59329) March 16, 2007
1097=====================================
1098Changes:
1099* Replaced deprecated legacy particle systems (llMakeExplosion, llMakeFire, llMakeSmoke, llMakeFountain)
1100 with llparticleSystem approximations
1101
1102Release Notes for Second Life 1.13.4(8) March 12, 2007
1103=====================================
1104Bug fixes:
1105* Fixed picks not appearing with older viewer
1106* Fixed money() event failing to fire in a linked set
1107
1108Release Notes for Second Life 1.13.4(7) March 9, 2007
1109=====================================
1110Changes:
1111* World -> Account History opens L$ transaction history instead of US$ transaction history
1112
1113Bug fixes:
1114* Fixed a simulator crash with llParcelDetails
1115* Fixed flex objects vanishing when LOD changes
1116* Fixed flex objects not updating when modified
1117* Fixed flex objects disappearing when linked
1118* Fixed repositioning of HUD attachments when viewer is resized
1119* Fixed objects copied to/from notecards stating they are missing from database
1120
1121Release Notes for Second Life 1.13.4(6) March 8, 2007
1122=====================================
1123Changes:
1124* Light emiting objects are now affected by their own light
1125
1126Fixes:
1127* Offline IMs now appear upon login
1128* Fixed autoupdate on Mac viewers
1129* Fixed Capslock key detection
1130* Fixed llSetLinkPrimitiveParams to move specified child prim
1131* Fixed linux client mozilla runtime
1132* Fixed texture animations to ignore texture 'Flip' flags
1133* Fixed animated textures with texture offset enabled
1134* Fixed attachments becoming disembodied when attaching an object
1135* Fixed a viewer crash that occurs when opening a script in a prim
1136* Fixed classifieds being deleted instead of auto-renewing
1137* Fixed jerky/stuttering physics based movement for hover vehicles
1138* Fix for paying child prim not triggering money event.
1139
1140
1141Release Notes for Second Life 1.13.3(58877) March 6, 2007
1142=====================================
1143Fixes:
1144* Fix for animated textures ignoring texture offset.
1145* Fix for animated textures not ignoring flip flags.
1146* Fix for light emitting objects not being lit by their own light.
1147* Fix for Textures not being applied to the entire prim
1148* Fix for Viewer occasionally getting stuck in drag select mode
1149* Fix for Client crashes when deleting objects
1150* Fix for Pay dialog is corrupted when attempting to pay while in busy mode
1151* Fix for Not able to delete objects which contain no copy items
1152
1153
1154Release Notes for Second Life 1.13.4(5) March 6, 2007
1155=====================================
1156Bug fixes:
1157* Fixed 'Select Texture' applying changes to all sides
1158* Fixed textures resizing outside their window
1159* Fixed object rezzing being affected by Object Entry rules instead of Create Object rules
1160* Fixed drag select mode sticking after mouse button release
1161* Fixed a client crash when viewing objects
1162* Fixed content icon for sounds and animations added to an object
1163* Fixed texture request for textures quickly cycling between visible and not visible
1164* Fixed several failure cases for offline IM-to-email
1165* Fixed retrieval of group member list
1166* Fixed landmark resizing after tear-off
1167* Fixed ability to delete objects containing no-copy items
1168* Fixed single items being created in tabbed window
1169
1170
1171Release Notes for Second Life 1.13.4(4) February 28, 2007
1172=====================================
1173Changes:
1174* Moving your avatar no longer deselects objects in build mode automatically
1175
1176Bug fixes:
1177* Fixed edit crosshairs moving while crossing region boundary
1178* Fixed text entry in Mac/Linux embedded browser
1179
1180Release Notes for Second Life 1.13.4(3) February 26, 2007
1181=====================================
1182Bug fixes:
1183* Fixed single-click failure for objects
1184* Fixed status bar obscured when debug is off
1185* Fixed escape key behavior
1186* Fixed strange object counts in About Land when no parcel selected
1187* Fixed avatar animations when editing an attached object
1188* Fixed Offer Teleport appearing in your own profile
1189* Fixed incorrect date display in group notices
1190
1191Release Notes for Second Life 1.13.4(2) February 26, 2007
1192=====================================
1193Bug fixes:
1194* Clicking a menu a second time closes the menu
1195* Fixed closing a blue dialog closes all dialogs
1196* Fixed retrieval of archived group proposals
1197* Fixed Ctrl-P shortcut failing when inventory has focus
1198* Fixed objects using llGiveInventoryList spamming owner when recipient is Busy
1199* Fixed no copy objects disappearing when given via llGiveInventory to a Busy avatar
1200
1201Release Notes for Second Life 1.13.4(1) February 21, 2007
1202=====================================
1203Changes:
1204* User inworld money transaction history floater removed
1205** Transaction history can be viewed via secondlife.com
1206* Added 'Empty Lost and Found' option
1207* Added 'Use Custom Port' option to Preferences to specify network port
1208* Objects set for sale are Buy Copy by default (instead of Buy Original)
1209* Increased Classified's maximum L$ payable from 99999 to 999999
1210* Added '?' button next to Partner field explaining partnering
1211
1212LSL changes:
1213* New script commands
1214** void llSetLinkPrimitiveParams( integer linknumber, list rules )
1215** void llSetLinkTexture( integer linknumber, string texture, integer face )
1216* More documentation is available using Help > Scripting Guide...
1217
1218Bug fixes:
1219* Fixed taken items not appearing until relog
1220* Fixed friends list abilities not being applied to friends
1221* Fixed objects failing to attach when selected from a distance
1222* Fixed replies to offline IM-to-email messages
1223* Fixed renaming a no-copy clothing item during Make New Outfit
1224* Fixed rezzed objects appearing at (0,0,0) if you have create rights, but are not wearing your title
1225* Fixed modify for gestures/notecards in a prim
1226* Fixed incorrect context menus for items in an object
1227* Fixed confirmation dialog when uploading immages, sounds, animations, or snapshots
1228* Fixed a viewer crash while taking an object
1229* Fixed a viewer crash after modifying a script inside a prim
1230* Fixed a viewer crash in People search with Picks tab
1231* Fixed a script runtime error (list inside a while/do-while loop)
1232* Fixed login screen not loading unless cache is cleared
1233* Fixed Ctrl-W not closing snapshot floater
1234* Fixed Ctrl-W not giving focus to next window
1235* Fixed Search->Places not showing public estate parcels while on private estate
1236* Fixed LSL converting numbers in body of email to 0
1237* Fixed rejection of avatars as sit targets
1238* Fixed blurry web browser widgets with UI Scale != 1.0
1239* Fixed notecards opened in tabbed windows extending outside the preview window
1240* Fixed opening multiple object inventory items not using tabbed windows
1241* Fixed accidental selection of highly transparent objects
1242* Fixed keyboard focus after selecting function dropdown in script editor
1243* Fixed Build button in toolbar disabled on land where 'Create Objects' is set to group, even when avatar is in the correct group
1244* Fixed Buy Dialog displays incorrect Prim Count when using prim multipliers
1245* Fixed folders not retaining their closed status once opened in inventory
1246* Fixed IMs of type IM_BUSY_AUTO_RESPONSE ignore mute
1247* Fixed World->Buy Land menu failures
1248* Fixed Friends list not displaying online friends on login if 'Can see my online status' is disabled
1249* Fixed menus remaining open when something else is clicked
1250* Fixed menus taking focus when leaving alt-zoom
1251* Fixed accidental loss of no-copy textures by applying them to a prim
1252* Fixed members of a group cannot set their home location when land is only set to a group and not deeded
1253* Fixed sitting avatar standing up when close are dragged onto the avatar
1254
1255Linux client fixes:
1256* Added Linux embedded Mozilla client
1257* Fixed Linux client crash on shutdown
1258
1259Release Notes for Second Life 1.13.3(2) January 30, 2007
1260=====================================
1261Changes:
1262* It is no longer possible to only search for online residents
1263* Online status is no longer indicated in the Search -> People results list
1264** The online status inside the profile shows 'Currently Online' or remains blank
1265*** Friends can see your Online status if you give permission via the Friends list
1266*** Anyone can see your Online status if 'Make my online status visible only to my Friends' is unchecked
1267
1268Release Notes for Second Life 1.13.3(58716) March 1, 2007
1269
1270Fixes:
1271* Fix for: Textures that quickly cycle between visible and not visible never getting successfully requested
1272* Fix for: Textures applied via 'Select Texture' are applied to all sides.
1273* Fix for: Object selection moves to the next sim when crossing region boundary while objects are selected
1274* Fix for: Landmarks window can be resized
1275* Fix for: Textures should remain within their window when the viewer is resized
1276* Fix for: Single items are being created in a tabbed window
1277* Fix for: 'linux mozilla embedding support should be compile-time optional'
1278
1279Beta Grid Only:
1280* Fix for: Object Entry rules block rezing of objects.
1281
1282Release Notes for Second Life 1.13.3(58603) March 1, 2007
1283
1284Changes:
1285(Note: this change was introduced several versions ago be we forgot to put this in the release notes)
1286* The following 4 particle commands have been deprecated for some time, and no longer work:
1287** llMakeExplosion http://wiki.secondlife.com/wiki/LlMakeExplosion
1288** llMakeFire http://wiki.secondlife.com/wiki/LlMakeFire
1289** llMakeFountain http://wiki.secondlife.com/wiki/LlMakeFountain
1290** llMakeSmoke http://wiki.secondlife.com/wiki/LlMakeSmoke
1291** Please use llParticleSystem (http://wiki.secondlife.com/wiki/LlParticleSystem) instead.
1292* Set the executable name back to SecondLifeFirstLook.exe (1.13.3(58537) inadvertently set it to SecondLifePreveiw.exe
1293
1294Fixes:
1295* Fixed a bug with image requests, should reduce the latency when loading uncached images
1296* Rediced frame rate spikes when spinning.
1297* Fixed bad normals on tapered geometry.
1298* Fix for bump maps not taking effect immediately.
1299* Fix for animated texture coordinates not resetting when animation stops.
1300
1301Release Notes for Second Life 1.13.3(58537) February 27, 2007
1302
1303Changes:
1304* Modified texture animations to use hardware acceleration
1305* Improved framerate when rotating in certain areas that were lagging
1306
1307From the main development branch since 1.13.3.2
1308(note: some of these were introduced in previous First Look releases)
1309
1310Changes:
1311* User inworld money transaction history floater removed
1312** Transaction history can be viewed via secondlife.com
1313* Added 'Empty Lost and Found' option
1314* Added 'Use Custom Port' option to Preferences to specify network port
1315* Objects set for sale are Buy Copy by default (instead of Buy Original)
1316* Increased Classified's maximum L$ payable from 99999 to 999999
1317* Added '?' button next to Partner field explaining partnering
1318
1319Bug fixes:
1320* Fixed single-click failure for objects
1321* Fixed status bar obscured when debug is off
1322* Fixed escape key behavior
1323* Fixed strange object counts in About Land when no parcel selected
1324* Fixed avatar animations when editing an attached object
1325* Fixed Offer Teleport appearing in your own profile
1326* Fixed incorrect date display in group notices
1327* Clicking a menu a second time closes the menu
1328* Fixed closing a blue dialog closes all dialogs
1329* Fixed retrieval of archived group proposals
1330* Fixed Ctrl-P shortcut failing when inventory has focus
1331* Fixed objects using llGiveInventoryList spamming owner when recipient is Busy
1332* Fixed no copy objects disappearing when given via llGiveInventory to a Busy avatar
1333* Fixed taken items not appearing until relog
1334* Fixed friends list abilities not being applied to friends
1335* Fixed objects failing to attach when selected from a distance
1336* Fixed replies to offline IM-to-email messages
1337* Fixed renaming a no-copy clothing item during Make New Outfit
1338* Fixed rezzed objects appearing at (0,0,0) if you have create rights, but are not wearing your title
1339* Fixed modify for gestures/notecards in a prim
1340* Fixed incorrect context menus for items in an object
1341* Fixed confirmation dialog when uploading immages, sounds, animations, or snapshots
1342* Fixed a viewer crash while taking an object
1343* Fixed a viewer crash after modifying a script inside a prim
1344* Fixed a viewer crash in People search with Picks tab
1345* Fixed a script runtime error (list inside a while/do-while loop)
1346* Fixed login screen not loading unless cache is cleared
1347* Fixed Ctrl-W not closing snapshot floater
1348* Fixed Ctrl-W not giving focus to next window
1349* Fixed Search->Places not showing public estate parcels while on private estate
1350* Fixed LSL converting numbers in body of email to 0
1351* Fixed rejection of avatars as sit targets
1352* Fixed blurry web browser widgets with UI Scale != 1.0
1353* Fixed notecards opened in tabbed windows extending outside the preview window
1354* Fixed opening multiple object inventory items not using tabbed windows
1355* Fixed accidental selection of highly transparent objects
1356* Fixed keyboard focus after selecting function dropdown in script editor
1357* Fixed Build button in toolbar disabled on land where 'Create Objects' is set to group, even when avatar is in the correct group
1358* Fixed Buy Dialog displays incorrect Prim Count when using prim multipliers
1359* Fixed folders not retaining their closed status once opened in inventory
1360* Fixed IMs of type IM_BUSY_AUTO_RESPONSE ignore mute
1361* Fixed World->Buy Land menu failures
1362* Fixed Friends list not displaying online friends on login if 'Can see my online status' is disabled
1363* Fixed menus remaining open when something else is clicked
1364* Fixed menus taking focus when leaving alt-zoom
1365* Fixed accidental loss of no-copy textures by applying them to a prim
1366* Fixed members of a group cannot set their home location when land is only set to a group and not deeded
1367* Fixed sitting avatar standing up when close are dragged onto the avatar
1368
1369Linux client fixes:
1370* Added Linux embedded Mozilla client
1371* Fixed Linux client crash on shutdown
1372
1373Release Notes for Second Life 1.13.3(58390) February 23, 2007
1374
1375Fixes:
1376* Fix for HUD objects being invisible on attach
1377* Fix for HUD objects not repositioning
1378* Fix for attachments getting left behind
1379* Fix for flexible objects not updating on modification.
1380* Fix for slow scrolling textures and tiny prims being invisible.
1381* Fix for not being able to change viewer language in firstlook
1382* Fix for Viewer crash when switching between full screen and windowes with multiple threads
1383* Fix for additional texture bandwidth usage in First look
1384* Fix for low detail terrain textures failing to load
1385* Fix for picking through transparent objects.
1386* Fix for Lighting turning bright orange or red intermittantly in rendering pipeline focus preview.
1387* Fix for dismissing one blue dialogs dismisses all blue dialogs
1388* Fix for Avatar not changing anmations while editing an attached object
1389* Fix for Object counts in About Land change when floater loses focus
1390* Fix for clicking a menu a second time not closing it
1391* Fix for First Look viewer interacting poorly with Norton Antivirus (Note: Unless you tell Norton Anti Virus to exclude the Second Life cache directory, it will delay texture loading, but should no longer affect frame rate)
1392* Fix for crash on 945G when editing objects.
1393
1394Release Notes for Second Life 1.13.3(58185) February 20, 2007
1395
1396Changes:
1397* Fixed a texture prioritization bug
1398* Sped up texture cache maintenance on startup
1399
1400Bug fixes:
1401* Fixed accidental loss of no-copy texture when applied to a prim
1402* Fixed incorrect context menu for items inside an object
1403* Fixed Linux client crash on startup
1404* Fixed Ctrl-W failing to give focus to the next window
1405* Fixed renaming no-copy object during Make New Outfit
1406* Fixed group members cannot set home when land is Set to group but not deeded
1407* Lost and Found now has an Empty folder option
1408
1409Release Notes for Second Life 1.13.3(58100) February 16, 2007
1410
1411New feature:
1412* Linux client features embedded Mozilla
1413
1414Changes:
1415* Texture Pipeline Architecture
1416** Significant redesign of texture pipeline
1417** Improved texture caching
1418** Unlimited texture cache size
1419** Texture cache can be relocated
1420* Render Pipeline Architecture
1421** Significant changes to render pipeline
1422** Introduction of Vertex Buffer Objects for improved stability
1423** Better batching of geometry for improved render performance (on some systems)
1424** Alpha sorting changes to improve performance
1425* Added display that shows intersection of prims with translation plane when building.
1426* Objects set for sale default to 'Buy Copy' instead of 'Buy Original'
1427
1428Bug fixes:
1429* Fixed a viewer crash when taking an object
1430* Fixed viewer not loading after logout if cache is not cleared
1431* Closing window passes focus to the next window
1432* Fixed blurry web browser widgets
1433* Fixed notecards in tabbd window extending outside the preview window
1434* Fixed web browser widgets blurred when UI scale != 1.0
1435* Updated link to Help -> Scripting Wiki
1436* Fixed viewer crash when opening a script at the same time as other inventory objects
1437* Fixed Build not enabling for group members on land where only group members can build
1438* Fixed World -> Buy Land menu failures
1439* Fixed menus not closing when other things are clicked
1440* Fixed objects rezed from Library, edited, and taken to inventory being placed in Library
1441
1442
1443Release Notes for Second Life 1.13.3(58018) February 14, 2007
1444
1445Changes:
1446* Removed particle throttling; while a performance win in some areas, caused too many bad artifacts
1447
1448Fixes:
1449* VWR-108 Fix for out of bounds error in avatar vertex shader attribute array.
1450* Fix for toggling selection beam
1451* Fix for LOD issues with small objects.
1452* Fix for planar guide grid swimming around in local grid mode.
1453* Fxed Texture priorities when turning around in place
1454
1455Release Notes for Second Life 1.13.3(57947) February 13, 2007
1456
1457Changes:
1458Significant changes to texture prioritization
1459
1460Fixes:
1461Fix for object flicker.
1462Fix for HUD objects not moving properly when viewer is resized.
1463Fix for scale handles not updating on mouse drag.
1464Fix for undo not working.
1465Fix for dark foot shadows.
1466Fix for tree picking alpha threshold too low.
1467Fix for stars staying out during the day.
1468
1469Release Notes for Second Life 1.13.3(57876) February 9, 2006
1470
1471Changes:
1472Improved LOD and alpha sorting
1473Improved edits reverting with linked objects
1474
1475Fixes:
1476* Fixed a few crashes
1477* 'Clear Cache' was failing if the cache location was on a changed
1478* 'Clear Cache' was not deleting the texture cache on OSX
1479* Some Textures were never caching correctly
1480
1481Release Notes for Second Life 1.13.3(57837) February 8, 2006
1482
1483Fixes:
1484* Fixed a major issue with texture requests where textures that first appeard behind you were not getting requested until you moved closer or zoomed in on them
1485* Fixed a bug where 'skip this message' settings were not being remembered
1486* Fixed several particle bugs, including some OSX specifix ones
1487* Fixed several crash bugs
1488
1489Release Notes for Second Life 1.13.3(57787) February 7, 2006
1490
1491Notes:
1492* This release will clear the cache on startup to eliminate potentially corrupt caches
1493Changes:
1494* Reduced the frequency of drag-edit updates to reduce the likelihood of changes reverting due to missed updates
1495Fixes:
1496* Fixed a bug where small flexi objects were sometimes stuck floating around an avatar
1497* Fixed a significant memory leak
1498* Fixed some issues with the texture cache
1499* Fixed a bug where textures that were partially mapped to objects were not rezing
1500* Fixed several crash bugs
1501* Wind volume slider now takes effect immediately
1502
1503Release Notes for Second Life 1.13.3(57679) February 5, 2006
1504Fixes:
1505* Fix: Animating textures (using llSetTextureAnim) do not update their pixel area
1506* Fix for disappearing hud objects.
1507* Fix for yellow avatars on some ATI cards.
1508* Fix for flexi LOD issues
1509* Fix for stars visible with 'Force Sun'
1510* Several crash bugs fixed
1511Fixes not specific to 'First Look'
1512* Fix for library objects returning to library after being taken from world
1513* Added help button for partner info in profile panel
1514* Added inventory cache verification to reduce bugs due to cache corruption
1515
1516Release Notes for Second Life 1.13.2(57573) February 1, 2006
1517
1518Fixes:
1519* Fixed: Chat text fadeout bug
1520* Fixed: Yellow fog in snapshots
1521* Fixed: Hardware detection incorrect for ATI X1900 and other cards
1522* Fixed: Several crash bugs
1523* Fixed: Missing login screen
1524* Fixed: Avatar preview in image update missing
1525
1526Release Notes for Second Life 1.13.2(57463) January 30, 2006
1527
1528Changes:
1529* Cache location can be set by residents
1530* Textures from last scene are pre fetched, improving loading speed of inital speed
1531
1532Fixes:
1533* Fixed: Avatars seated on objects don't move with objects
1534* Fixed: More issues with prim selection silhouettes
1535* Fixed: HUDS with transparent textures disappear when camera goes underwater
1536* Fixed: Slowdown rendering Alpha objects
1537* Fixed: Client crashes attempting to move a HUD attachment
1538
1539Release Notes for Second Life 1.13.2(57270) January 26, 2006
1540Changes:
1541Added display that shows intersection of prims with translation plane when building.
1542Fixes:
1543* Fixed crash when changing lighting detail.
1544* Fixed silhouette highlight render bug.
1545
1546Release Notes for Second Life 1.13.2(57208) January 25, 2006
1547Changes:
1548* IMPORTANT: 'First Look' now maintains its own settings. When this version is installed, settings will all be set to default values.
1549* IMPORTANT: Uninstalling 'First Look' will no longer remove any user settings
1550* More optimizations
1551* Stability improvements
1552Fixes:
1553* Fixed bright red/orange ambient lighting at night
1554* Fixed right-clicking on avatar names
1555* Fixed LOD flicker on trees
1556* Fixed missing avatar from upload window
1557* Fixed bug with HUD attachments not appearing or rezing at the correct resolution
1558* Fixed bug wit llSetPos
1559* Fixed prim selection silhouettes
1560* Fixed white invisiprim bug
1561* Fixed smoke texture bug
1562* Fixed alpha sorting issues
1563* Fixed Highlight Transparent
1564
1565Release Notes for Second Life 1.13.2(56900) January 18, 2006
1566Changes:
1567* More framerate improvements
1568* Improved texture LOD calculation
1569* 'Enable VBO' option now defaults to on in most cases, and no longer conflicts with similar trunk version option
1570Fixes:
1571* Appearance of other avatars not changing
1572* Shiny Brightness and Darkness don't work
1573* Shiny doesn't work on black objects
1574* Textures are failing to load to 100% clarity when repeats per face is less than 1.00
1575* Low res 'cutout' images not transparent
1576
1577Release Notes for Second Life 1.13.1(56671) January 11, 2006
1578Changes:
1579* Texture Pipeline Architecture
1580** Significant redesign of texture pipeline
1581** Improved texture caching
1582** Unlimited texture cache size
1583* Render Pipeline Architecture
1584** Significant changes to render pipeline
1585** Introduction of Vertex Buffer Objects for improved stability
1586** Better batching of geometry for improved render performance (on some systems)
1587** Alpha sorting changes to improve performance
1588** Better particle system limits
1589
diff --git a/linden/indra/newview/res/newViewRes.rc b/linden/indra/newview/res/newViewRes.rc
index 3f2f76e..2738fa4 100644
--- a/linden/indra/newview/res/newViewRes.rc
+++ b/linden/indra/newview/res/newViewRes.rc
@@ -231,8 +231,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
231// 231//
232 232
233VS_VERSION_INFO VERSIONINFO 233VS_VERSION_INFO VERSIONINFO
234 FILEVERSION 1,19,1,2 234 FILEVERSION 1,19,1,3
235 PRODUCTVERSION 1,19,1,2 235 PRODUCTVERSION 1,19,1,3
236 FILEFLAGSMASK 0x3fL 236 FILEFLAGSMASK 0x3fL
237#ifdef _DEBUG 237#ifdef _DEBUG
238 FILEFLAGS 0x1L 238 FILEFLAGS 0x1L
@@ -249,12 +249,12 @@ BEGIN
249 BEGIN 249 BEGIN
250 VALUE "CompanyName", "Linden Lab" 250 VALUE "CompanyName", "Linden Lab"
251 VALUE "FileDescription", "Second Life" 251 VALUE "FileDescription", "Second Life"
252 VALUE "FileVersion", "1.19.1.2" 252 VALUE "FileVersion", "1.19.1.3"
253 VALUE "InternalName", "Second Life" 253 VALUE "InternalName", "Second Life"
254 VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." 254 VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc."
255 VALUE "OriginalFilename", "SecondLife.exe" 255 VALUE "OriginalFilename", "SecondLife.exe"
256 VALUE "ProductName", "Second Life" 256 VALUE "ProductName", "Second Life"
257 VALUE "ProductVersion", "1.19.1.2" 257 VALUE "ProductVersion", "1.19.1.3"
258 END 258 END
259 END 259 END
260 BLOCK "VarFileInfo" 260 BLOCK "VarFileInfo"
diff --git a/linden/indra/newview/skins/xui/de/alerts.xml b/linden/indra/newview/skins/xui/de/alerts.xml
index d3fd64f..7414cc6 100644
--- a/linden/indra/newview/skins/xui/de/alerts.xml
+++ b/linden/indra/newview/skins/xui/de/alerts.xml
@@ -530,7 +530,7 @@ Objekte: [N]
530 <alert name="ReturnObjectsOwnedByUser"> 530 <alert name="ReturnObjectsOwnedByUser">
531 <message name="message"> 531 <message name="message">
532 Möchten Sie alle Objekte auf dieser Parzelle, 532 Möchten Sie alle Objekte auf dieser Parzelle,
533die NICHT dem Einwohner &apos;[NAME]&apos; gehören, 533die dem Einwohner &apos;[NAME]&apos; gehören,
534in das jeweilige Inventar ihrer Eigentümer transferieren? 534in das jeweilige Inventar ihrer Eigentümer transferieren?
535 535
536Objekte: [N] 536Objekte: [N]
diff --git a/linden/indra/newview/skins/xui/de/floater_html.xml b/linden/indra/newview/skins/xui/de/floater_html.xml
index 1b37b52..f5c69ce 100644
--- a/linden/indra/newview/skins/xui/de/floater_html.xml
+++ b/linden/indra/newview/skins/xui/de/floater_html.xml
@@ -5,11 +5,4 @@
5 <button label="Zuhause" name="home_btn" /> 5 <button label="Zuhause" name="home_btn" />
6 <button label="Weiterleiten" name="forward_btn" /> 6 <button label="Weiterleiten" name="forward_btn" />
7 <button label="Los" name="go_btn" /> 7 <button label="Los" name="go_btn" />
8 <text name="home_page_url">
9 http://www.secondlife.com
10 </text>
11 <text hidden="true" name="f1_help_title">Second Life Help</text>
12 <text hidden="true" name="f1_help_url">
13 http://secondlife.com/app/support/index_de.html
14 </text>
15</floater> 8</floater>
diff --git a/linden/indra/newview/skins/xui/de/panel_login.xml b/linden/indra/newview/skins/xui/de/panel_login.xml
index c2f78aa..c3d3d1b 100644
--- a/linden/indra/newview/skins/xui/de/panel_login.xml
+++ b/linden/indra/newview/skins/xui/de/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 Vorname: 4 Vorname:
8 </text> 5 </text>
diff --git a/linden/indra/newview/skins/xui/de/panel_preferences_graphics1.xml b/linden/indra/newview/skins/xui/de/panel_preferences_graphics1.xml
index ee401b0..802eb0f 100644
--- a/linden/indra/newview/skins/xui/de/panel_preferences_graphics1.xml
+++ b/linden/indra/newview/skins/xui/de/panel_preferences_graphics1.xml
@@ -14,7 +14,7 @@
14 <text type="string" length="1" name="(width / height)"> 14 <text type="string" length="1" name="(width / height)">
15 (Breite/Höhe) 15 (Breite/Höhe)
16 </text> 16 </text>
17 <text_editor name="FullScreenInfo"> 17 <text_editor name="FullScreenInfo" width="480">
18 Wenn deaktiviert, schaltet die Anzeige bei Anmeldung auf Vollbild um. 18 Wenn deaktiviert, schaltet die Anzeige bei Anmeldung auf Vollbild um.
19 </text_editor> 19 </text_editor>
20 <text name="DisplayResLabel"> 20 <text name="DisplayResLabel">
diff --git a/linden/indra/newview/skins/xui/en-us/floater_about_land.xml b/linden/indra/newview/skins/xui/en-us/floater_about_land.xml
index a0cb0dd..8b21736 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_about_land.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_about_land.xml
@@ -670,7 +670,7 @@
670 height="16" label="Set..." label_selected="Set..." mouse_opaque="true" 670 height="16" label="Set..." label_selected="Set..." mouse_opaque="true"
671 name="set_media_url" left="80" scale_image="true" width="60" /> 671 name="set_media_url" left="80" scale_image="true" width="60" />
672 <text type="string" length="1" bottom_delta="-25" follows="left|top" font="SansSerifSmall" halign="left" height="16" 672 <text type="string" length="1" bottom_delta="-25" follows="left|top" font="SansSerifSmall" halign="left" height="16"
673 left="10" mouse_opaque="true" name="with media:" width="65"> 673 left="10" mouse_opaque="true" name="with media:" width="67">
674 Media Type: 674 Media Type:
675 </text> 675 </text>
676 <combo_box allow_text_entry="false" bottom_delta="0" follows="left|top" height="18" 676 <combo_box allow_text_entry="false" bottom_delta="0" follows="left|top" height="18"
@@ -778,7 +778,7 @@ Options:
778 </text> 778 </text>
779 <radio_group bottom_delta="-40" draw_border="true" enabled="true" follows="left|top" 779 <radio_group bottom_delta="-40" draw_border="true" enabled="true" follows="left|top"
780 height="54" left="80" mouse_opaque="true" name="parcel_voice_channel" 780 height="54" left="80" mouse_opaque="true" name="parcel_voice_channel"
781 tab_stop="true" width="219"> 781 tab_stop="true" width="363">
782 <radio_item type="string" length="1" bottom="-19" enabled="true" follows="left|top" height="16" left="3" 782 <radio_item type="string" length="1" bottom="-19" enabled="true" follows="left|top" height="16" left="3"
783 mouse_opaque="true" name="Estate" width="463"> 783 mouse_opaque="true" name="Estate" width="463">
784 Use the Estate spatial channel 784 Use the Estate spatial channel
diff --git a/linden/indra/newview/skins/xui/en-us/floater_day_cycle_options.xml b/linden/indra/newview/skins/xui/en-us/floater_day_cycle_options.xml
index 0622fe8..c1a4261 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_day_cycle_options.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_day_cycle_options.xml
@@ -25,63 +25,63 @@
25 bottom="-80" control_name="WL12am" drop_shadow_visible="true" 25 bottom="-80" control_name="WL12am" drop_shadow_visible="true"
26 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 26 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
27 height="6" hidden="false" left="8" mouse_opaque="true" name="WL12am" 27 height="6" hidden="false" left="8" mouse_opaque="true" name="WL12am"
28 v_pad="0" width="35"> 28 v_pad="0" width="55">
29 12am 29 12am
30 </text> 30 </text>
31 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 31 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
32 bottom_delta="0" control_name="WL3am" drop_shadow_visible="true" 32 bottom_delta="0" control_name="WL3am" drop_shadow_visible="true"
33 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 33 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
34 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL3am" 34 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL3am"
35 v_pad="0" width="35"> 35 v_pad="0" width="55">
36 3am 36 3am
37 </text> 37 </text>
38 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 38 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
39 bottom_delta="0" control_name="WL6am" drop_shadow_visible="true" 39 bottom_delta="0" control_name="WL6am" drop_shadow_visible="true"
40 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 40 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
41 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL6am" 41 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL6am"
42 v_pad="0" width="35"> 42 v_pad="0" width="55">
43 6am 43 6am
44 </text> 44 </text>
45 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 45 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
46 bottom_delta="0" control_name="WL9am" drop_shadow_visible="true" 46 bottom_delta="0" control_name="WL9am" drop_shadow_visible="true"
47 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 47 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
48 height="6" hidden="false" left_delta="65" mouse_opaque="true" 48 height="6" hidden="false" left_delta="65" mouse_opaque="true"
49 name="WL9amHash" v_pad="0" width="35"> 49 name="WL9amHash" v_pad="0" width="55">
50 9am 50 9am
51 </text> 51 </text>
52 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 52 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
53 bottom_delta="0" control_name="WL12pm" drop_shadow_visible="true" 53 bottom_delta="0" control_name="WL12pm" drop_shadow_visible="true"
54 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 54 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
55 height="6" hidden="false" left_delta="65" mouse_opaque="true" 55 height="6" hidden="false" left_delta="65" mouse_opaque="true"
56 name="WL12pmHash" v_pad="0" width="35"> 56 name="WL12pmHash" v_pad="0" width="55">
57 12pm 57 12pm
58 </text> 58 </text>
59 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 59 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
60 bottom_delta="0" control_name="WL3pm" drop_shadow_visible="true" 60 bottom_delta="0" control_name="WL3pm" drop_shadow_visible="true"
61 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 61 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
62 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL3pm" 62 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL3pm"
63 v_pad="0" width="35"> 63 v_pad="0" width="55">
64 3pm 64 3pm
65 </text> 65 </text>
66 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 66 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
67 bottom_delta="0" control_name="WL6pm" drop_shadow_visible="true" 67 bottom_delta="0" control_name="WL6pm" drop_shadow_visible="true"
68 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 68 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
69 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL6pm" 69 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL6pm"
70 v_pad="0" width="35"> 70 v_pad="0" width="55">
71 6pm 71 6pm
72 </text> 72 </text>
73 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 73 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
74 bottom_delta="0" control_name="WL9pm" drop_shadow_visible="true" 74 bottom_delta="0" control_name="WL9pm" drop_shadow_visible="true"
75 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 75 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
76 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL9pm" 76 height="6" hidden="false" left_delta="65" mouse_opaque="true" name="WL9pm"
77 v_pad="0" width="35"> 77 v_pad="0" width="55">
78 9pm 78 9pm
79 </text> 79 </text>
80 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 80 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
81 bottom_delta="0" control_name="WL12am2" drop_shadow_visible="true" 81 bottom_delta="0" control_name="WL12am2" drop_shadow_visible="true"
82 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left" 82 follows="left|top|right" font="SansSerifSmall" h_pad="0" halign="left"
83 height="6" hidden="false" left_delta="65" mouse_opaque="true" 83 height="6" hidden="false" left_delta="65" mouse_opaque="true"
84 name="WL12am2" v_pad="0" width="35"> 84 name="WL12am2" v_pad="0" width="55">
85 12am 85 12am
86 </text> 86 </text>
87 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 87 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
@@ -157,7 +157,7 @@
157 bottom="-120" control_name="DayCycleText" drop_shadow_visible="true" 157 bottom="-120" control_name="DayCycleText" drop_shadow_visible="true"
158 follows="left|top|right" font="SansSerif" h_pad="0" halign="left" 158 follows="left|top|right" font="SansSerif" h_pad="0" halign="left"
159 height="16" hidden="false" left="20" mouse_opaque="true" 159 height="16" hidden="false" left="20" mouse_opaque="true"
160 name="WLCurKeyFrameText" v_pad="0" width="110"> 160 name="WLCurKeyFrameText" v_pad="0" width="150">
161 Key Frame Settings: 161 Key Frame Settings:
162 </text> 162 </text>
163 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true" 163 <text type="string" length="1" bg_visible="true" border_drop_shadow_visible="false" border_visible="true"
@@ -229,22 +229,22 @@
229 </text> 229 </text>
230 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20" 230 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20"
231 hidden="false" label="Play" label_selected="Play" left="310" 231 hidden="false" label="Play" label_selected="Play" left="310"
232 mouse_opaque="true" name="WLAnimSky" scale_image="true" width="40" /> 232 mouse_opaque="true" name="WLAnimSky" scale_image="true" width="50" />
233 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20" 233 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20"
234 hidden="false" label="Stop!" label_selected="Stop" left_delta="45" 234 hidden="false" label="Stop!" label_selected="Stop" left_delta="55"
235 mouse_opaque="true" name="WLStopAnimSky" scale_image="true" width="40" /> 235 mouse_opaque="true" name="WLStopAnimSky" scale_image="true" width="50" />
236 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20" 236 <button bottom="-155" enabled="true" font="SansSerif" halign="center" height="20"
237 hidden="false" label="Use Estate Time" label_selected="Go to Estate Time" 237 hidden="false" label="Use Estate Time" label_selected="Go to Estate Time"
238 left_delta="45" mouse_opaque="true" name="WLUseLindenTime" 238 left_delta="55" mouse_opaque="true" name="WLUseLindenTime"
239 scale_image="true" width="120" /> 239 scale_image="true" width="140" />
240 <button bottom="-170" enabled="true" font="SansSerif" halign="center" height="20"
241 hidden="false" label="Save Test Day" label_selected="Save Test Day"
242 left="530" mouse_opaque="true" name="WLSaveDayCycle" scale_image="true"
243 width="100" />
244 <button bottom="-195" enabled="true" font="SansSerif" halign="center" height="20" 240 <button bottom="-195" enabled="true" font="SansSerif" halign="center" height="20"
241 hidden="false" label="Save Test Day" label_selected="Save Test Day"
242 left="480" mouse_opaque="true" name="WLSaveDayCycle" scale_image="true"
243 width="150" />
244 <button bottom="-220" enabled="true" font="SansSerif" halign="center" height="20"
245 hidden="false" label="Load Test Day" label_selected="Load Test Day" 245 hidden="false" label="Load Test Day" label_selected="Load Test Day"
246 left="530" mouse_opaque="true" name="WLLoadDayCycle" scale_image="true" 246 left="480" mouse_opaque="true" name="WLLoadDayCycle" scale_image="true"
247 width="100" /> 247 width="150" />
248 </panel> 248 </panel>
249 </tab_container> 249 </tab_container>
250</floater> 250</floater>
diff --git a/linden/indra/newview/skins/xui/en-us/floater_html.xml b/linden/indra/newview/skins/xui/en-us/floater_html.xml
index 3dfbdb1..6edeec2 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_html.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_html.xml
@@ -19,10 +19,4 @@
19 <string name="home_page_url"> 19 <string name="home_page_url">
20 http://www.secondlife.com 20 http://www.secondlife.com
21 </string> 21 </string>
22 <string name="f1_help_title">
23 Second Life Help
24 </string>
25 <string name="f1_help_url">
26 http://secondlife.com/app/support/
27 </string>
28</floater> 22</floater>
diff --git a/linden/indra/newview/skins/xui/en-us/floater_instant_message.xml b/linden/indra/newview/skins/xui/en-us/floater_instant_message.xml
index 20efaae..66a6768 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_instant_message.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_instant_message.xml
@@ -35,11 +35,11 @@
35 name="profile_callee_btn" width="80" /> 35 name="profile_callee_btn" width="80" />
36 <button bottom="-40" follows="left|top" halign="center" height="20" 36 <button bottom="-40" follows="left|top" halign="center" height="20"
37 image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left" 37 image_overlay="icn_voice-call-start.tga" image_overlay_alignment="left"
38 label="Call" left_delta="85" name="start_call_btn" width="80" /> 38 label="Call" left_delta="85" name="start_call_btn" width="90" />
39 <button bottom="-40" follows="left|top" halign="right" height="20" 39 <button bottom="-40" follows="left|top" halign="right" height="20"
40 image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" 40 image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left"
41 label="End Call" left_delta="0" name="end_call_btn" pad_right="10" 41 label="End Call" left_delta="0" name="end_call_btn" pad_right="10"
42 visible="false" width="80" /> 42 visible="false" width="90" />
43 <panel border="false" bottom="-40" follows="left|top|right" height="20" 43 <panel border="false" bottom="-40" follows="left|top|right" height="20"
44 left_delta="77" name="speaker_controls" width="344"> 44 left_delta="77" name="speaker_controls" width="344">
45 <volume_slider bottom="0" follows="left|bottom" height="15" increment="0.05" initial_val="0.5" 45 <volume_slider bottom="0" follows="left|bottom" height="15" increment="0.05" initial_val="0.5"
diff --git a/linden/indra/newview/skins/xui/en-us/floater_media_browser.xml b/linden/indra/newview/skins/xui/en-us/floater_media_browser.xml
index 1a793e8..5b2d310 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_media_browser.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_media_browser.xml
@@ -1,34 +1,34 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true" 2<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
3 height="440" min_height="140" min_width="432" name="floater_about" 3 height="440" min_height="140" min_width="467" name="floater_about"
4 rect_control="FloaterMediaRect" title="Media Browser" width="535"> 4 rect_control="FloaterMediaRect" title="Media Browser" width="560">
5 <layout_stack name="stack1" bottom="0" follows="left|right|top|bottom" left="10" top="-20" width="515"> 5 <layout_stack name="stack1" bottom="0" follows="left|right|top|bottom" left="10" top="-20" width="540">
6 <layout_panel auto_resize="false" bottom="0" height="20" left="0" name="nav_controls" user_resize="false" 6 <layout_panel auto_resize="false" bottom="0" height="20" left="0" name="nav_controls" user_resize="false"
7 width="515"> 7 width="540">
8 <button bottom="0" follows="left|top" height="20" label="Back" left="0" name="back" 8 <button bottom="0" follows="left|top" height="20" label="Back" left="0" name="back"
9 width="50" /> 9 width="55" />
10 <button bottom_delta="0" follows="left|top" height="20" label="Forward" left_delta="55" 10 <button bottom_delta="0" follows="left|top" height="20" label="Forward" left_delta="55"
11 name="forward" width="60" /> 11 name="forward" width="60" />
12 <button bottom_delta="0" enabled="false" follows="left|top" height="20" label="Reload" 12 <button bottom_delta="0" enabled="false" follows="left|top" height="20" label="Reload"
13 left_delta="65" name="reload" width="60" /> 13 left_delta="65" name="reload" width="70" />
14 <combo_box allow_text_entry="true" bottom_delta="0" follows="left|top|right" height="20" 14 <combo_box allow_text_entry="true" bottom_delta="0" follows="left|top|right" height="20"
15 left_delta="65" max_chars="255" name="address" width="295" /> 15 left_delta="75" max_chars="255" name="address" width="280" />
16 <button bottom_delta="0" enabled="false" follows="right|top" height="20" label="Go" 16 <button bottom_delta="0" enabled="false" follows="right|top" height="20" label="Go"
17 left_delta="300" name="go" width="30" /> 17 left_delta="285" name="go" width="55" />
18 </layout_panel> 18 </layout_panel>
19 <layout_panel auto_resize="false" bottom="0" height="20" left="0" 19 <layout_panel auto_resize="false" bottom="0" height="20" left="0"
20 name="parcel_owner_controls" user_resize="false" width="515"> 20 name="parcel_owner_controls" user_resize="false" width="540">
21 <button bottom="0" enabled="false" follows="left|top" height="20" 21 <button bottom="0" enabled="false" follows="left|top" height="20"
22 label="Send Current URL to Parcel" left="0" name="assign" width="200" /> 22 label="Send Current URL to Parcel" left="0" name="assign" width="200" />
23 </layout_panel> 23 </layout_panel>
24 <layout_panel auto_resize="true" bottom="0" height="20" left="0" name="external_controls" user_resize="false" 24 <layout_panel auto_resize="true" bottom="0" height="20" left="0" name="external_controls" user_resize="false"
25 width="515"> 25 width="540">
26 <web_browser bottom="30" follows="left|right|top|bottom" left="0" name="browser" top="20" 26 <web_browser bottom="30" follows="left|right|top|bottom" left="0" name="browser" top="20"
27 width="515" /> 27 width="540" />
28 <button bottom="5" follows="bottom|left" height="20" label="Open in My Web Browser" 28 <button bottom="5" follows="bottom|left" height="20" label="Open in My Web Browser"
29 left="0" name="open_browser" width="150" /> 29 left="0" name="open_browser" width="185" />
30 <check_box bottom="5" control_name="UseExternalBrowser" follows="bottom|left" height="20" 30 <check_box bottom="5" control_name="UseExternalBrowser" follows="bottom|left" height="20"
31 label="Always open in my web browser" left_delta="155" name="open_always" 31 label="Always open in my web browser" left_delta="190" name="open_always"
32 width="200" /> 32 width="200" />
33 <button bottom="5" follows="bottom|right" height="20" label="Close" left="-70" 33 <button bottom="5" follows="bottom|right" height="20" label="Close" left="-70"
34 name="close" width="70" /> 34 name="close" width="70" />
diff --git a/linden/indra/newview/skins/xui/en-us/floater_water.xml b/linden/indra/newview/skins/xui/en-us/floater_water.xml
index 9182c17..bd63105 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_water.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_water.xml
@@ -16,13 +16,13 @@
16 name="WaterPresetsCombo" width="150" /> 16 name="WaterPresetsCombo" width="150" />
17 <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" 17 <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20"
18 hidden="false" label="New" label_selected="New" left_delta="170" 18 hidden="false" label="New" label_selected="New" left_delta="170"
19 mouse_opaque="true" name="WaterNewPreset" scale_image="true" width="50" /> 19 mouse_opaque="true" name="WaterNewPreset" scale_image="true" width="70" />
20 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" 20 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20"
21 hidden="false" label="Save" label_selected="Save" left_delta="60" 21 hidden="false" label="Save" label_selected="Save" left_delta="80"
22 mouse_opaque="true" name="WaterSavePreset" scale_image="true" width="50" /> 22 mouse_opaque="true" name="WaterSavePreset" scale_image="true" width="70" />
23 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" 23 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20"
24 hidden="false" label="Delete" label_selected="Delete" left_delta="60" 24 hidden="false" label="Delete" label_selected="Delete" left_delta="80"
25 mouse_opaque="true" name="WaterDeletePreset" scale_image="true" width="50" /> 25 mouse_opaque="true" name="WaterDeletePreset" scale_image="true" width="70" />
26 <tab_container bottom="-240" follows="left|top" height="180" hidden="false" left="0" 26 <tab_container bottom="-240" follows="left|top" height="180" hidden="false" left="0"
27 mouse_opaque="false" name="Water Tabs" tab_position="top" width="700"> 27 mouse_opaque="false" name="Water Tabs" tab_position="top" width="700">
28 <panel border="true" bottom="-240" follows="left|top|right|bottom" height="180" 28 <panel border="true" bottom="-240" follows="left|top|right|bottom" height="180"
@@ -35,7 +35,7 @@
35 Water Fog Color 35 Water Fog Color
36 </text> 36 </text>
37 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 37 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
38 left="105" name="WaterFogColorHelp" width="18" /> 38 left="160" name="WaterFogColorHelp" width="18" />
39 <color_swatch border_color="0.45098, 0.517647, 0.607843, 1" bottom="-80" 39 <color_swatch border_color="0.45098, 0.517647, 0.607843, 1" bottom="-80"
40 can_apply_immediately="true" color="0.5, 0.5, 0.5, 1" follows="left|top" 40 can_apply_immediately="true" color="0.5, 0.5, 0.5, 1" follows="left|top"
41 height="50" hidden="false" label="" left="40" mouse_opaque="true" 41 height="50" hidden="false" label="" left="40" mouse_opaque="true"
@@ -47,7 +47,7 @@
47 Fog Density Exponent 47 Fog Density Exponent
48 </text> 48 </text>
49 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 49 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
50 left="135" name="WaterFogDensityHelp" width="18" /> 50 left="160" name="WaterFogDensityHelp" width="18" />
51 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFogDensity" 51 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFogDensity"
52 decimal_digits="1" follows="left" height="10" increment=".1" 52 decimal_digits="1" follows="left" height="10" increment=".1"
53 initial_val="16" label="" left="24" max_val="10" min_val="0" 53 initial_val="16" label="" left="24" max_val="10" min_val="0"
@@ -61,7 +61,7 @@
61 Underwater Fog Modifier 61 Underwater Fog Modifier
62 </text> 62 </text>
63 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 63 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
64 left="155" name="WaterUnderWaterFogModHelp" width="18" /> 64 left="160" name="WaterUnderWaterFogModHelp" width="18" />
65 <slider bottom_delta="-30" can_edit_text="false" control_name="" decimal_digits="2" 65 <slider bottom_delta="-30" can_edit_text="false" control_name="" decimal_digits="2"
66 follows="left" height="10" increment=".01" initial_val="16" label="" 66 follows="left" height="10" increment=".01" initial_val="16" label=""
67 left="24" max_val="2" min_val="0" mouse_opaque="true" 67 left="24" max_val="2" min_val="0" mouse_opaque="true"
@@ -73,7 +73,7 @@
73 Reflection Wavelet Scale 73 Reflection Wavelet Scale
74 </text> 74 </text>
75 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 75 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
76 left="391" name="WaterNormalScaleHelp" width="18" /> 76 left="395" name="WaterNormalScaleHelp" width="18" />
77 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 77 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
78 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 78 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
79 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 79 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -114,7 +114,7 @@
114 Fresnel Scale 114 Fresnel Scale
115 </text> 115 </text>
116 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 116 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
117 left="325" name="WaterFresnelScaleHelp" width="18" /> 117 left="395" name="WaterFresnelScaleHelp" width="18" />
118 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFresnelScale" 118 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFresnelScale"
119 decimal_digits="2" follows="left" height="10" increment="0.01" 119 decimal_digits="2" follows="left" height="10" increment="0.01"
120 initial_val="0.7" label="" left="259" max_val="1" min_val="0" 120 initial_val="0.7" label="" left="259" max_val="1" min_val="0"
@@ -128,7 +128,7 @@
128 Fresnel Offset 128 Fresnel Offset
129 </text> 129 </text>
130 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 130 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
131 left="330" name="WaterFresnelOffsetHelp" width="18" /> 131 left="395" name="WaterFresnelOffsetHelp" width="18" />
132 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFresnelOffset" 132 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterFresnelOffset"
133 decimal_digits="2" follows="left" height="10" increment="0.01" 133 decimal_digits="2" follows="left" height="10" increment="0.01"
134 initial_val="0.7" label="" left="259" max_val="1" min_val="0" 134 initial_val="0.7" label="" left="259" max_val="1" min_val="0"
@@ -141,7 +141,7 @@
141 Refract Scale Above 141 Refract Scale Above
142 </text> 142 </text>
143 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 143 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
144 left="598" name="WaterScaleAboveHelp" width="18" /> 144 left="630" name="WaterScaleAboveHelp" width="18" />
145 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterScaleAbove" 145 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterScaleAbove"
146 decimal_digits="2" follows="left" height="10" increment="0.01" 146 decimal_digits="2" follows="left" height="10" increment="0.01"
147 initial_val="0.1" label="" left="494" max_val="1" min_val="0" 147 initial_val="0.1" label="" left="494" max_val="1" min_val="0"
@@ -155,7 +155,7 @@
155 Refract Scale Below 155 Refract Scale Below
156 </text> 156 </text>
157 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 157 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
158 left="598" name="WaterScaleBelowHelp" width="18" /> 158 left="630" name="WaterScaleBelowHelp" width="18" />
159 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterScaleBelow" 159 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterScaleBelow"
160 decimal_digits="2" follows="left" height="10" increment="0.01" 160 decimal_digits="2" follows="left" height="10" increment="0.01"
161 initial_val="0" label="" left="494" max_val="1" min_val="0" 161 initial_val="0" label="" left="494" max_val="1" min_val="0"
@@ -168,7 +168,7 @@
168 Blur Multiplier 168 Blur Multiplier
169 </text> 169 </text>
170 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 170 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
171 left="565" name="WaterBlurMultiplierHelp" width="18" /> 171 left="630" name="WaterBlurMultiplierHelp" width="18" />
172 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterBlurMult" 172 <slider bottom_delta="-30" can_edit_text="false" control_name="WaterBlurMult"
173 decimal_digits="3" follows="left" height="10" increment=".001" 173 decimal_digits="3" follows="left" height="10" increment=".001"
174 initial_val="0" label="" left="494" max_val=".16" min_val="0" 174 initial_val="0" label="" left="494" max_val=".16" min_val="0"
@@ -185,7 +185,7 @@
185 Big Wave Direction 185 Big Wave Direction
186 </text> 186 </text>
187 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 187 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
188 left="120" name="WaterWave1Help" width="18" /> 188 left="155" name="WaterWave1Help" width="18" />
189 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 189 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
190 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 190 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
191 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 191 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -217,7 +217,7 @@
217 Little Wave Direction 217 Little Wave Direction
218 </text> 218 </text>
219 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 219 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
220 left="130" name="WaterWave2Help" width="18" /> 220 left="155" name="WaterWave2Help" width="18" />
221 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 221 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
222 bottom="-87" drop_shadow_visible="true" follows="left|top|right" 222 bottom="-87" drop_shadow_visible="true" follows="left|top|right"
223 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 223 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -249,7 +249,7 @@
249 Normal Map 249 Normal Map
250 </text> 250 </text>
251 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 251 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
252 left="315" name="WaterNormalMapHelp" width="18" /> 252 left="365" name="WaterNormalMapHelp" width="18" />
253 <texture_picker bottom="-165" height="143" label="" left="250" name="WaterNormalMap" 253 <texture_picker bottom="-165" height="143" label="" left="250" name="WaterNormalMap"
254 width="128" /> 254 width="128" />
255 </panel> 255 </panel>
diff --git a/linden/indra/newview/skins/xui/en-us/floater_windlight_options.xml b/linden/indra/newview/skins/xui/en-us/floater_windlight_options.xml
index 30ca821..ff51de0 100644
--- a/linden/indra/newview/skins/xui/en-us/floater_windlight_options.xml
+++ b/linden/indra/newview/skins/xui/en-us/floater_windlight_options.xml
@@ -16,16 +16,16 @@
16 width="150" /> 16 width="150" />
17 <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20" 17 <button bottom="-53" enabled="true" font="SansSerif" halign="center" height="20"
18 hidden="false" label="New" label_selected="New" left_delta="170" 18 hidden="false" label="New" label_selected="New" left_delta="170"
19 mouse_opaque="true" name="WLNewPreset" scale_image="true" width="50" /> 19 mouse_opaque="true" name="WLNewPreset" scale_image="true" width="70" />
20 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" 20 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20"
21 hidden="false" label="Save" label_selected="Save" left_delta="60" 21 hidden="false" label="Save" label_selected="Save" left_delta="80"
22 mouse_opaque="true" name="WLSavePreset" scale_image="true" width="50" /> 22 mouse_opaque="true" name="WLSavePreset" scale_image="true" width="70" />
23 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" 23 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20"
24 hidden="false" label="Delete" label_selected="Delete" left_delta="60" 24 hidden="false" label="Delete" label_selected="Delete" left_delta="80"
25 mouse_opaque="true" name="WLDeletePreset" scale_image="true" width="50" /> 25 mouse_opaque="true" name="WLDeletePreset" scale_image="true" width="70" />
26 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20" 26 <button bottom_delta="0" enabled="true" font="SansSerif" halign="center" height="20"
27 hidden="false" label="Day Cycle Editor" label_selected="Day Cycle Editor" 27 hidden="false" label="Day Cycle Editor" label_selected="Day Cycle Editor"
28 left_delta="160" mouse_opaque="true" name="WLDayCycleMenuButton" 28 left_delta="120" mouse_opaque="true" name="WLDayCycleMenuButton"
29 scale_image="true" width="120" /> 29 scale_image="true" width="120" />
30 <tab_container bottom="-220" follows="left|top" height="160" hidden="false" left="0" 30 <tab_container bottom="-220" follows="left|top" height="160" hidden="false" left="0"
31 mouse_opaque="false" name="WindLight Tabs" tab_position="top" width="700"> 31 mouse_opaque="false" name="WindLight Tabs" tab_position="top" width="700">
@@ -39,7 +39,7 @@
39 Blue Horizon 39 Blue Horizon
40 </text> 40 </text>
41 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 41 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
42 left="85" name="WLBlueHorizonHelp" width="18" /> 42 left="160" name="WLBlueHorizonHelp" width="18" />
43 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 43 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
44 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 44 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
45 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 45 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -91,7 +91,7 @@
91 Haze Horizon 91 Haze Horizon
92 </text> 92 </text>
93 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 93 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
94 left="87" name="WLHazeHorizonHelp" width="18" /> 94 left="160" name="WLHazeHorizonHelp" width="18" />
95 <slider bottom_delta="-30" can_edit_text="false" control_name="WLHazeHorizon" 95 <slider bottom_delta="-30" can_edit_text="false" control_name="WLHazeHorizon"
96 decimal_digits="2" follows="left" height="10" increment="0.01" 96 decimal_digits="2" follows="left" height="10" increment="0.01"
97 initial_val="0.25" label="" left="24" max_val="1.0" min_val="0" 97 initial_val="0.25" label="" left="24" max_val="1.0" min_val="0"
@@ -104,7 +104,7 @@
104 Blue Density 104 Blue Density
105 </text> 105 </text>
106 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 106 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
107 left="320" name="WLBlueDensityHelp" width="18" /> 107 left="395" name="WLBlueDensityHelp" width="18" />
108 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 108 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
109 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 109 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
110 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 110 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -156,7 +156,7 @@
156 Haze Density 156 Haze Density
157 </text> 157 </text>
158 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 158 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
159 left="325" name="WLHazeDensityHelp" width="18" /> 159 left="395" name="WLHazeDensityHelp" width="18" />
160 <slider bottom_delta="-30" can_edit_text="false" control_name="WLHazeDensity" 160 <slider bottom_delta="-30" can_edit_text="false" control_name="WLHazeDensity"
161 decimal_digits="2" follows="left" height="10" increment="0.01" 161 decimal_digits="2" follows="left" height="10" increment="0.01"
162 initial_val="0.7" label="" left="259" max_val="4" min_val="0" 162 initial_val="0.7" label="" left="259" max_val="4" min_val="0"
@@ -169,7 +169,7 @@
169 Density Multiplier 169 Density Multiplier
170 </text> 170 </text>
171 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 171 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
172 left="582" name="WLDensityMultHelp" width="18" /> 172 left="630" name="WLDensityMultHelp" width="18" />
173 <slider bottom_delta="-30" can_edit_text="false" control_name="WLDensityMult" 173 <slider bottom_delta="-30" can_edit_text="false" control_name="WLDensityMult"
174 decimal_digits="2" follows="left" height="10" increment="0.01" 174 decimal_digits="2" follows="left" height="10" increment="0.01"
175 initial_val="0.1" label="" left="494" max_val="0.9" min_val="0" 175 initial_val="0.1" label="" left="494" max_val="0.9" min_val="0"
@@ -183,7 +183,7 @@
183 Distance Multiplier 183 Distance Multiplier
184 </text> 184 </text>
185 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 185 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
186 left="589" name="WLDistanceMultHelp" width="18" /> 186 left="630" name="WLDistanceMultHelp" width="18" />
187 <slider bottom_delta="-30" can_edit_text="false" control_name="WLDistancMult" 187 <slider bottom_delta="-30" can_edit_text="false" control_name="WLDistancMult"
188 decimal_digits="1" follows="left" height="10" increment="0.1" 188 decimal_digits="1" follows="left" height="10" increment="0.1"
189 initial_val="1.0" label="" left="494" max_val="100" min_val="0" 189 initial_val="1.0" label="" left="494" max_val="100" min_val="0"
@@ -196,7 +196,7 @@
196 Max Altitude 196 Max Altitude
197 </text> 197 </text>
198 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 198 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
199 left="555" name="WLMaxAltitudeHelp" width="18" /> 199 left="630" name="WLMaxAltitudeHelp" width="18" />
200 <slider bottom_delta="-30" can_edit_text="false" control_name="WLMaxAltitude" 200 <slider bottom_delta="-30" can_edit_text="false" control_name="WLMaxAltitude"
201 decimal_digits="0" follows="left" height="10" increment="1" 201 decimal_digits="0" follows="left" height="10" increment="1"
202 initial_val="500" label="" left="494" max_val="4000" min_val="0" 202 initial_val="500" label="" left="494" max_val="4000" min_val="0"
@@ -213,7 +213,7 @@
213 Sun/Moon Color 213 Sun/Moon Color
214 </text> 214 </text>
215 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 215 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
216 left="108" name="WLSunlightColorHelp" width="18" /> 216 left="160" name="WLSunlightColorHelp" width="18" />
217 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 217 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
218 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 218 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
219 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 219 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -265,7 +265,7 @@
265 Sun/Moon Position 265 Sun/Moon Position
266 </text> 266 </text>
267 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 267 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
268 left="142" name="WLTimeOfDayHelp" width="18" /> 268 left="160" name="WLTimeOfDayHelp" width="18" />
269 <icon bottom_delta="-30" follows="left|top" height="20" image_name="icon_diurnal.tga" 269 <icon bottom_delta="-30" follows="left|top" height="20" image_name="icon_diurnal.tga"
270 left="30" name="SkyDayCycle" width="148" /> 270 left="30" name="SkyDayCycle" width="148" />
271 <slider bottom_delta="-30" can_edit_text="false" control_name="WLSunAngle" 271 <slider bottom_delta="-30" can_edit_text="false" control_name="WLSunAngle"
@@ -280,7 +280,7 @@
280 Ambient 280 Ambient
281 </text> 281 </text>
282 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 282 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
283 left="294" name="WLAmbientHelp" width="18" /> 283 left="395" name="WLAmbientHelp" width="18" />
284 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 284 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
285 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 285 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
286 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 286 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -331,7 +331,7 @@
331 East Angle 331 East Angle
332 </text> 332 </text>
333 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 333 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
334 left="307" name="WLEastAngleHelp" width="18" /> 334 left="395" name="WLEastAngleHelp" width="18" />
335 <slider bottom_delta="-30" can_edit_text="false" control_name="WLEastAngle" 335 <slider bottom_delta="-30" can_edit_text="false" control_name="WLEastAngle"
336 decimal_digits="2" follows="left" height="10" increment="0.01" 336 decimal_digits="2" follows="left" height="10" increment="0.01"
337 initial_val="0.0" label="" left="259" max_val="1" min_val="0" 337 initial_val="0.0" label="" left="259" max_val="1" min_val="0"
@@ -344,7 +344,7 @@
344 Sun Glow 344 Sun Glow
345 </text> 345 </text>
346 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 346 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
347 left="540" name="WLSunGlowHelp" width="18" /> 347 left="630" name="WLSunGlowHelp" width="18" />
348 <slider bottom_delta="-30" can_edit_text="false" control_name="WLGlowB" 348 <slider bottom_delta="-30" can_edit_text="false" control_name="WLGlowB"
349 decimal_digits="2" follows="left" height="10" increment="0.01" 349 decimal_digits="2" follows="left" height="10" increment="0.01"
350 initial_val="0.1" label="Focus " left="494" max_val="0.5" min_val="0" 350 initial_val="0.1" label="Focus " left="494" max_val="0.5" min_val="0"
@@ -360,7 +360,7 @@
360 Scene Gamma 360 Scene Gamma
361 </text> 361 </text>
362 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 362 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
363 left="564" name="WLSceneGammaHelp" width="18" /> 363 left="630" name="WLSceneGammaHelp" width="18" />
364 <slider bottom_delta="-30" can_edit_text="false" control_name="WLGamma" 364 <slider bottom_delta="-30" can_edit_text="false" control_name="WLGamma"
365 decimal_digits="2" follows="bottom" height="10" increment="0.01" 365 decimal_digits="2" follows="bottom" height="10" increment="0.01"
366 initial_val="2.0" label="" left="494" max_val="10.0" min_val="0" 366 initial_val="2.0" label="" left="494" max_val="10.0" min_val="0"
@@ -372,7 +372,7 @@
372 Star Brightness 372 Star Brightness
373 </text> 373 </text>
374 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 374 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
375 left="570" name="WLStarBrightnessHelp" width="18" /> 375 left="630" name="WLStarBrightnessHelp" width="18" />
376 <slider bottom_delta="-30" can_edit_text="false" control_name="WLStarAlpha" 376 <slider bottom_delta="-30" can_edit_text="false" control_name="WLStarAlpha"
377 decimal_digits="2" follows="bottom" height="10" increment="0.01" 377 decimal_digits="2" follows="bottom" height="10" increment="0.01"
378 initial_val="0" label="" left="494" max_val="2" min_val="0" 378 initial_val="0" label="" left="494" max_val="2" min_val="0"
@@ -389,7 +389,7 @@
389 Cloud Color 389 Cloud Color
390 </text> 390 </text>
391 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 391 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
392 left="80" name="WLCloudColorHelp" width="18" /> 392 left="160" name="WLCloudColorHelp" width="18" />
393 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 393 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
394 bottom="-37" drop_shadow_visible="true" follows="left|top|right" 394 bottom="-37" drop_shadow_visible="true" follows="left|top|right"
395 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 395 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -442,7 +442,7 @@
442 Cloud XY/Density 442 Cloud XY/Density
443 </text> 443 </text>
444 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 444 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
445 left="110" name="WLCloudDensityHelp" width="18" /> 445 left="160" name="WLCloudDensityHelp" width="18" />
446 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 446 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
447 bottom="-103" drop_shadow_visible="true" follows="left|top|right" 447 bottom="-103" drop_shadow_visible="true" follows="left|top|right"
448 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 448 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -483,7 +483,7 @@
483 Cloud Coverage 483 Cloud Coverage
484 </text> 484 </text>
485 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 485 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
486 left="335" name="WLCloudCoverageHelp" width="18" /> 486 left="395" name="WLCloudCoverageHelp" width="18" />
487 <slider bottom_delta="-30" can_edit_text="false" control_name="WLCloudCoverage" 487 <slider bottom_delta="-30" can_edit_text="false" control_name="WLCloudCoverage"
488 decimal_digits="2" follows="left" height="10" increment="0.01" 488 decimal_digits="2" follows="left" height="10" increment="0.01"
489 initial_val="0.5" label="" left="259" max_val="1" min_val="0" 489 initial_val="0.5" label="" left="259" max_val="1" min_val="0"
@@ -492,12 +492,12 @@
492 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 492 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
493 bottom="-55" drop_shadow_visible="true" follows="left|top|right" 493 bottom="-55" drop_shadow_visible="true" follows="left|top|right"
494 font="SansSerif" h_pad="0" halign="left" height="16" hidden="false" 494 font="SansSerif" h_pad="0" halign="left" height="16" hidden="false"
495 left="240" mouse_opaque="true" name="WLCloudScaleText" v_pad="0" 495 left="245" mouse_opaque="true" name="WLCloudScaleText" v_pad="0"
496 width="355"> 496 width="355">
497 Cloud Scale 497 Cloud Scale
498 </text> 498 </text>
499 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 499 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
500 left="310" name="WLCloudScaleHelp" width="18" /> 500 left="395" name="WLCloudScaleHelp" width="18" />
501 <slider bottom_delta="-30" can_edit_text="false" control_name="WLCloudScale" 501 <slider bottom_delta="-30" can_edit_text="false" control_name="WLCloudScale"
502 decimal_digits="2" follows="left" height="10" increment="0.01" 502 decimal_digits="2" follows="left" height="10" increment="0.01"
503 initial_val="1.0" label="" left="259" max_val="1.0" min_val="0.01" 503 initial_val="1.0" label="" left="259" max_val="1.0" min_val="0.01"
@@ -511,7 +511,7 @@
511 Cloud Detail (XY/Density) 511 Cloud Detail (XY/Density)
512 </text> 512 </text>
513 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 513 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
514 left="390" name="WLCloudDetailHelp" width="18" /> 514 left="395" name="WLCloudDetailHelp" width="18" />
515 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 515 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
516 bottom="-103" drop_shadow_visible="true" follows="left|top|right" 516 bottom="-103" drop_shadow_visible="true" follows="left|top|right"
517 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false" 517 font="SansSerifSmall" h_pad="0" halign="center" height="16" hidden="false"
@@ -553,9 +553,9 @@
553 Cloud Scroll X 553 Cloud Scroll X
554 </text> 554 </text>
555 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 555 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
556 left="558" name="WLCloudScrollXHelp" width="18" /> 556 left="605" name="WLCloudScrollXHelp" width="18" />
557 <check_box control_name="WLCloudLockX" follows="left" font="SansSerifSmall" height="16" 557 <check_box control_name="WLCloudLockX" follows="left" font="SansSerifSmall" height="16"
558 initial_value="false" label="Lock" left="580" mouse_opaque="true" 558 initial_value="false" label="Lock" left="625" mouse_opaque="true"
559 name="WLCloudLockX" width="200" /> 559 name="WLCloudLockX" width="200" />
560 <slider bottom_delta="-15" can_edit_text="false" control_name="WLCloudScrollX" 560 <slider bottom_delta="-15" can_edit_text="false" control_name="WLCloudScrollX"
561 decimal_digits="2" follows="left" height="10" increment="0.01" 561 decimal_digits="2" follows="left" height="10" increment="0.01"
@@ -570,9 +570,9 @@
570 Cloud Scroll Y 570 Cloud Scroll Y
571 </text> 571 </text>
572 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?" 572 <button bottom_delta="0" follows="left|top" font="SansSerifSmall" height="15" label="?"
573 left="558" name="WLCloudScrollYHelp" width="18" /> 573 left="605" name="WLCloudScrollYHelp" width="18" />
574 <check_box control_name="WLCloudLockY" follows="left" font="SansSerifSmall" height="16" 574 <check_box control_name="WLCloudLockY" follows="left" font="SansSerifSmall" height="16"
575 initial_value="false" label="Lock" left="580" mouse_opaque="true" 575 initial_value="false" label="Lock" left="625" mouse_opaque="true"
576 name="WLCloudLockY" width="200" /> 576 name="WLCloudLockY" width="200" />
577 <slider bottom_delta="-15" can_edit_text="false" control_name="WLCloudScrollY" 577 <slider bottom_delta="-15" can_edit_text="false" control_name="WLCloudScrollY"
578 decimal_digits="2" follows="left" height="10" increment="0.01" 578 decimal_digits="2" follows="left" height="10" increment="0.01"
diff --git a/linden/indra/newview/skins/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/xui/en-us/panel_preferences_general.xml
index 696c404..bca8cf9 100644
--- a/linden/indra/newview/skins/xui/en-us/panel_preferences_general.xml
+++ b/linden/indra/newview/skins/xui/en-us/panel_preferences_general.xml
@@ -174,9 +174,6 @@
174 <combo_item type="string" length="1" enabled="true" name="(Korean)" value="ko"> 174 <combo_item type="string" length="1" enabled="true" name="(Korean)" value="ko">
175 한국어 (Korean) - Beta 175 한국어 (Korean) - Beta
176 </combo_item> 176 </combo_item>
177 <combo_item type="string" length="1" enabled="true" name="Portugese" value="pt">
178 Português (Portuguese) - Beta
179 </combo_item>
180 <combo_item type="string" length="1" enabled="true" name="Spanish" value="es"> 177 <combo_item type="string" length="1" enabled="true" name="Spanish" value="es">
181 Español (Spanish) - Beta 178 Español (Spanish) - Beta
182 </combo_item> 179 </combo_item>
diff --git a/linden/indra/newview/skins/xui/es/floater_html.xml b/linden/indra/newview/skins/xui/es/floater_html.xml
index 7d84b59..ab36540 100644
--- a/linden/indra/newview/skins/xui/es/floater_html.xml
+++ b/linden/indra/newview/skins/xui/es/floater_html.xml
@@ -1,16 +1,9 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="Navegador de internet"> 2<floater name="htmlfloater" title="">
3 <button label="Volver" name="back_btn" /> 3 <button label="Volver" name="back_btn" />
4 <button label="Avanzar" name="forward_btn" /> 4 <button label="Avanzar" name="forward_btn" />
5 <button label="Recargar" name="reload_btn" /> 5 <button label="Recargar" name="reload_btn" />
6 <button label="Parar" name="stop_btn" /> 6 <button label="Parar" name="stop_btn" />
7 <button label="Casa" name="home_btn" /> 7 <button label="Casa" name="home_btn" />
8 <button label="Ir" name="go_btn" /> 8 <button label="Ir" name="go_btn" />
9 <text name="status_text">
10 Texto de progreso va aquí
11 </text>
12 <text hidden="true" name="f1_help_title">Second Life Help</text>
13 <text hidden="true" name="f1_help_url">
14 http://secondlife.com/app/support/index_es.html
15 </text>
16</floater> 9</floater>
diff --git a/linden/indra/newview/skins/xui/es/panel_login.xml b/linden/indra/newview/skins/xui/es/panel_login.xml
index d2e60bd..7b79f2e 100644
--- a/linden/indra/newview/skins/xui/es/panel_login.xml
+++ b/linden/indra/newview/skins/xui/es/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 Nombre de pila: 4 Nombre de pila:
8 </text> 5 </text>
diff --git a/linden/indra/newview/skins/xui/fr/floater_html.xml b/linden/indra/newview/skins/xui/fr/floater_html.xml
index ada5fd1..c60d6ca 100644
--- a/linden/indra/newview/skins/xui/fr/floater_html.xml
+++ b/linden/indra/newview/skins/xui/fr/floater_html.xml
@@ -1,16 +1,9 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="Navigateur"> 2<floater name="htmlfloater" title="">
3 <button label="Retour" name="back_btn" /> 3 <button label="Retour" name="back_btn" />
4 <button label="Avancer" name="forward_btn" /> 4 <button label="Avancer" name="forward_btn" />
5 <button label="Recharger" name="reload_btn" /> 5 <button label="Recharger" name="reload_btn" />
6 <button label="Arrêter" name="stop_btn" /> 6 <button label="Arrêter" name="stop_btn" />
7 <button label="Domicile" name="home_btn" /> 7 <button label="Domicile" name="home_btn" />
8 <button label="Aller" name="go_btn" /> 8 <button label="Aller" name="go_btn" />
9 <text name="status_text">
10 Texte de progression ici
11 </text>
12 <text hidden="true" name="f1_help_title">Second Life Help</text>
13 <text hidden="true" name="f1_help_url">
14 http://secondlife.com/app/support/index_fr.html
15 </text>
16</floater> 9</floater>
diff --git a/linden/indra/newview/skins/xui/fr/panel_login.xml b/linden/indra/newview/skins/xui/fr/panel_login.xml
index c8d237b..6081b4c 100644
--- a/linden/indra/newview/skins/xui/fr/panel_login.xml
+++ b/linden/indra/newview/skins/xui/fr/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 Prénom : 4 Prénom :
8 </text> 5 </text>
diff --git a/linden/indra/newview/skins/xui/ja/floater_html.xml b/linden/indra/newview/skins/xui/ja/floater_html.xml
index bc1078d..1cb5384 100644
--- a/linden/indra/newview/skins/xui/ja/floater_html.xml
+++ b/linden/indra/newview/skins/xui/ja/floater_html.xml
@@ -5,11 +5,4 @@
5 <button label="ホーム" name="home_btn" /> 5 <button label="ホーム" name="home_btn" />
6 <button label="進む" name="forward_btn" /> 6 <button label="進む" name="forward_btn" />
7 <button label="移動" name="go_btn" /> 7 <button label="移動" name="go_btn" />
8 <text name="home_page_url">
9 http://www.secondlife.com
10 </text>
11 <text hidden="true" name="f1_help_title">Second Life Help</text>
12 <text hidden="true" name="f1_help_url">
13 http://secondlife.com/app/support/index_ja.html
14 </text>
15</floater> 8</floater>
diff --git a/linden/indra/newview/skins/xui/ja/panel_login.xml b/linden/indra/newview/skins/xui/ja/panel_login.xml
index 1f6a4d5..df51507 100644
--- a/linden/indra/newview/skins/xui/ja/panel_login.xml
+++ b/linden/indra/newview/skins/xui/ja/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 ファーストネーム: 4 ファーストネーム:
8 </text> 5 </text>
diff --git a/linden/indra/newview/skins/xui/ja/panel_preferences_graphics1.xml b/linden/indra/newview/skins/xui/ja/panel_preferences_graphics1.xml
index 0139602..93f4095 100644
--- a/linden/indra/newview/skins/xui/ja/panel_preferences_graphics1.xml
+++ b/linden/indra/newview/skins/xui/ja/panel_preferences_graphics1.xml
@@ -14,7 +14,7 @@
14 <text type="string" length="1" name="(width / height)"> 14 <text type="string" length="1" name="(width / height)">
15 (幅/高さ) 15 (幅/高さ)
16 </text> 16 </text>
17 <text_editor name="FullScreenInfo"> 17 <text_editor name="FullScreenInfo" width="480" bottom="-63" height="40">
18 チェックされていない場合は、ログインするとビューワがフルスクリーンで表示されます。 18 チェックされていない場合は、ログインするとビューワがフルスクリーンで表示されます。
19 </text_editor> 19 </text_editor>
20 <text name="DisplayResLabel"> 20 <text name="DisplayResLabel">
diff --git a/linden/indra/newview/skins/xui/ko/floater_html.xml b/linden/indra/newview/skins/xui/ko/floater_html.xml
index 408619d..7974995 100644
--- a/linden/indra/newview/skins/xui/ko/floater_html.xml
+++ b/linden/indra/newview/skins/xui/ko/floater_html.xml
@@ -5,11 +5,4 @@
5 <button label="홈" name="home_btn" /> 5 <button label="홈" name="home_btn" />
6 <button label="앞으로" name="forward_btn" /> 6 <button label="앞으로" name="forward_btn" />
7 <button label="이동" name="go_btn" /> 7 <button label="이동" name="go_btn" />
8 <text name="home_page_url">
9 http://www.secondlife.com
10 </text>
11 <text hidden="true" name="f1_help_title">Second Life Help</text>
12 <text hidden="true" name="f1_help_url">
13 http://secondlife.com/app/support/index_ko.html
14 </text>
15</floater> 8</floater>
diff --git a/linden/indra/newview/skins/xui/ko/panel_login.xml b/linden/indra/newview/skins/xui/ko/panel_login.xml
index a0a6912..1c66ef2 100644
--- a/linden/indra/newview/skins/xui/ko/panel_login.xml
+++ b/linden/indra/newview/skins/xui/ko/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 이름: 4 이름:
8 </text> 5 </text>
diff --git a/linden/indra/newview/skins/xui/ko/panel_preferences_graphics1.xml b/linden/indra/newview/skins/xui/ko/panel_preferences_graphics1.xml
index 599c114..4fa81ef 100644
--- a/linden/indra/newview/skins/xui/ko/panel_preferences_graphics1.xml
+++ b/linden/indra/newview/skins/xui/ko/panel_preferences_graphics1.xml
@@ -14,7 +14,7 @@
14 <text type="string" length="1" name="(width / height)"> 14 <text type="string" length="1" name="(width / height)">
15 (폭/높이) 15 (폭/높이)
16 </text> 16 </text>
17 <text_editor name="FullScreenInfo"> 17 <text_editor name="FullScreenInfo" width="480">
18 선택을 해제하면 로그인 시 전체 화면으로 표시됩니다. 18 선택을 해제하면 로그인 시 전체 화면으로 표시됩니다.
19 </text_editor> 19 </text_editor>
20 <text name="DisplayResLabel"> 20 <text name="DisplayResLabel">
diff --git a/linden/indra/newview/skins/xui/zh/floater_html.xml b/linden/indra/newview/skins/xui/zh/floater_html.xml
index 4cda56e..0232bdc 100644
--- a/linden/indra/newview/skins/xui/zh/floater_html.xml
+++ b/linden/indra/newview/skins/xui/zh/floater_html.xml
@@ -1,16 +1,9 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<floater name="htmlfloater" title="网络浏览器"> 2<floater name="htmlfloater" title="">
3 <button label="返回" name="back_btn" /> 3 <button label="返回" name="back_btn" />
4 <button label="朝向" name="forward_btn" /> 4 <button label="朝向" name="forward_btn" />
5 <button label="重载入" name="reload_btn" /> 5 <button label="重载入" name="reload_btn" />
6 <button label="停止" name="stop_btn" /> 6 <button label="停止" name="stop_btn" />
7 <button label="家" name="home_btn" /> 7 <button label="家" name="home_btn" />
8 <button label="行动" name="go_btn" /> 8 <button label="行动" name="go_btn" />
9 <text name="status_text">
10 过程文本传到这里
11 </text>
12 <text hidden="true" name="f1_help_title">Second Life Help</text>
13 <text hidden="true" name="f1_help_url">
14 http://secondlife.com/app/support/index_zh.html
15 </text>
16</floater> 9</floater>
diff --git a/linden/indra/newview/skins/xui/zh/panel_login.xml b/linden/indra/newview/skins/xui/zh/panel_login.xml
index 5e78b00..dc06531 100644
--- a/linden/indra/newview/skins/xui/zh/panel_login.xml
+++ b/linden/indra/newview/skins/xui/zh/panel_login.xml
@@ -1,8 +1,5 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2<panel name="panel_login"> 2<panel name="panel_login">
3 <text name="real_url">
4 http://secondlife.com/app/login/
5 </text>
6 <text name="first_name_text"> 3 <text name="first_name_text">
7 姓: 4 姓:
8 </text> 5 </text>