From d7f00c03e236098b10ad5e30d35a0f159eb17255 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Fri, 15 Aug 2008 23:45:38 -0500 Subject: Second Life viewer sources 1.19.1.3 --- linden/indra/llcommon/llares.cpp | 32 +- linden/indra/llcommon/llversionserver.h | 2 +- linden/indra/llcommon/llversionviewer.h | 2 +- linden/indra/llimage/llimage.cpp | 27 + linden/indra/llimage/llimage.h | 9 +- linden/indra/llwindow/llwindowwin32.cpp | 480 +++---- .../indra/newview/English.lproj/InfoPlist.strings | 4 +- linden/indra/newview/Info-SecondLife.plist | 2 +- linden/indra/newview/featuretable.txt | 5 +- linden/indra/newview/featuretable_linux.txt | 2 +- linden/indra/newview/featuretable_mac.txt | 2 +- linden/indra/newview/gpu_table.txt | 18 +- linden/indra/newview/llappviewer.cpp | 8 + linden/indra/newview/llcontroldef.cpp | 6 +- linden/indra/newview/llfasttimerview.cpp | 4 +- linden/indra/newview/llfloaterhtmlhelp.cpp | 9 + linden/indra/newview/llinventorymodel.cpp | 17 +- linden/indra/newview/llselectmgr.cpp | 15 +- linden/indra/newview/llstartup.cpp | 14 +- linden/indra/newview/llviewermenu.cpp | 2 +- linden/indra/newview/llviewerwindow.cpp | 2 +- linden/indra/newview/releasenotes.txt | 1323 +------------------- linden/indra/newview/res/newViewRes.rc | 8 +- linden/indra/newview/skins/xui/de/alerts.xml | 2 +- linden/indra/newview/skins/xui/de/floater_html.xml | 7 - linden/indra/newview/skins/xui/de/panel_login.xml | 3 - .../skins/xui/de/panel_preferences_graphics1.xml | 2 +- .../newview/skins/xui/en-us/floater_about_land.xml | 4 +- .../skins/xui/en-us/floater_day_cycle_options.xml | 42 +- .../indra/newview/skins/xui/en-us/floater_html.xml | 6 - .../skins/xui/en-us/floater_instant_message.xml | 4 +- .../skins/xui/en-us/floater_media_browser.xml | 26 +- .../newview/skins/xui/en-us/floater_water.xml | 34 +- .../skins/xui/en-us/floater_windlight_options.xml | 60 +- .../skins/xui/en-us/panel_preferences_general.xml | 3 - linden/indra/newview/skins/xui/es/floater_html.xml | 9 +- linden/indra/newview/skins/xui/es/panel_login.xml | 3 - linden/indra/newview/skins/xui/fr/floater_html.xml | 9 +- linden/indra/newview/skins/xui/fr/panel_login.xml | 3 - linden/indra/newview/skins/xui/ja/floater_html.xml | 7 - linden/indra/newview/skins/xui/ja/panel_login.xml | 3 - .../skins/xui/ja/panel_preferences_graphics1.xml | 2 +- linden/indra/newview/skins/xui/ko/floater_html.xml | 7 - linden/indra/newview/skins/xui/ko/panel_login.xml | 3 - .../skins/xui/ko/panel_preferences_graphics1.xml | 2 +- linden/indra/newview/skins/xui/zh/floater_html.xml | 9 +- linden/indra/newview/skins/xui/zh/panel_login.xml | 3 - 47 files changed, 514 insertions(+), 1732 deletions(-) (limited to 'linden/indra') 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) } LLAres::LLAres() + : chan_(NULL) { ares_init(&chan_); } LLAres::~LLAres() { - ares_destroy(chan_); + if (chan_) + ares_destroy(chan_); } void LLAres::cancel() { - ares_cancel(chan_); + if (chan_) + ares_cancel(chan_); } static 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) void LLAres::getHostByName(const char *name, HostResponder *resp, int family) { + if (!chan_) + { + resp->hostError(ARES_EBADRESP); + return; + } ares_gethostbyname(chan_, name, family, host_callback, new LLPointer(resp)); } @@ -398,6 +406,11 @@ static void nameinfo_callback(void *arg, int status, char *node, char *service) void LLAres::getNameInfo(const struct sockaddr &sa, socklen_t salen, int flags, NameInfoResponder *resp) { + if (!chan_) + { + resp->nameInfoError(ARES_EBADRESP); + return; + } ares_getnameinfo(chan_, &sa, salen, flags, nameinfo_callback, new LLPointer(resp)); } @@ -421,6 +434,11 @@ static void search_callback(void *arg, int status, unsigned char *abuf, void LLAres::search(const std::string &query, LLResType type, QueryResponder *resp) { + if (!chan_) + { + resp->queryError(ARES_EBADRESP); + return; + } ares_search(chan_, query.c_str(), ns_c_in, type, search_callback, new LLPointer(resp)); } @@ -440,6 +458,11 @@ bool LLAres::process(U64 timeout) int nactive = 0; int bitmask; + if (!chan_) + { + goto bail; + } + bitmask = ares_getsock(chan_, socks, ARES_GETSOCK_MAXNUM); if (bitmask == 0) @@ -511,6 +534,11 @@ bail: bool LLAres::processAll() { + if (!chan_) + { + return false; + } + bool anyProcessed = false, ret; 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 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 19; const S32 LL_VERSION_PATCH = 1; -const S32 LL_VERSION_BUILD = 80913; +const S32 LL_VERSION_BUILD = 3; const char * const LL_CHANNEL = "Second Life Server"; 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 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 19; const S32 LL_VERSION_PATCH = 1; -const S32 LL_VERSION_BUILD = 2; +const S32 LL_VERSION_BUILD = 3; const char * const LL_CHANNEL = "Second Life Release"; 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() mComponents(0), mMemType(LLMemType::MTYPE_IMAGEBASE) { + mBadBufferAllocation = FALSE ; } // virtual @@ -141,6 +142,7 @@ U8* LLImageBase::allocateData(S32 size) if (!mData || size != mDataSize) { deleteData(); // virtual + mBadBufferAllocation = FALSE ; mData = new U8[size]; if (!mData) { @@ -148,6 +150,7 @@ U8* LLImageBase::allocateData(S32 size) llwarns << "allocate image data: " << size << llendl; size = 0 ; mWidth = mHeight = 0 ; + mBadBufferAllocation = TRUE ; } mDataSize = size; } @@ -176,6 +179,30 @@ U8* LLImageBase::reallocateData(S32 size) return mData; } +const U8* LLImageBase::getData() const +{ + if(mBadBufferAllocation) + { + llerrs << "Bad memory allocation for the image buffer!" << llendl ; + } + + return mData; +} // read only + +U8* LLImageBase::getData() +{ + if(mBadBufferAllocation) + { + llerrs << "Bad memory allocation for the image buffer!" << llendl ; + } + + return mData; +} + +BOOL LLImageBase::isBufferInvalid() +{ + return mBadBufferAllocation || mData == NULL ; +} void LLImageBase::setSize(S32 width, S32 height, S32 ncomponents) { 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: S8 getComponents() const { return mComponents; } S32 getDataSize() const { return mDataSize; } - const U8 *getData() const { return mData; } // read only - U8 *getData() { return mData; } - + const U8 *getData() const ; + U8 *getData() ; + BOOL isBufferInvalid() ; + void setSize(S32 width, S32 height, S32 ncomponents); U8* allocateDataSize(S32 width, S32 height, S32 ncomponents, S32 size = -1); // setSize() + allocateData() @@ -133,6 +134,8 @@ private: S8 mComponents; + BOOL mBadBufferAllocation ; + public: S16 mMemType; // debug 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 @@ -/** +/** * @file llwindowwin32.cpp * @brief Platform-dependent implementation of llwindow * @@ -103,7 +103,7 @@ LLCoordWindow LLWindowWin32::sWinIMEWindowPosition(-1,-1); // as a default, and we can't link against imm32.lib statically. // I believe DLL loading of this type is best suited to do // in a static initialization of a class. What I'm not sure is -// whether it follows the Linden Conding Standard... +// whether it follows the Linden Conding Standard... // See http://wiki.secondlife.com/wiki/Coding_standards#Static_Members class LLWinImm @@ -113,16 +113,16 @@ public: public: // Wrappers for IMM API. - static BOOL isIME(HKL hkl); + static BOOL isIME(HKL hkl); static HWND getDefaultIMEWnd(HWND hwnd); - static HIMC getContext(HWND hwnd); + static HIMC getContext(HWND hwnd); static BOOL releaseContext(HWND hwnd, HIMC himc); - static BOOL getOpenStatus(HIMC himc); - static BOOL setOpenStatus(HIMC himc, BOOL status); - static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence); - static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence); - static BOOL getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); - static BOOL setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); + static BOOL getOpenStatus(HIMC himc); + static BOOL setOpenStatus(HIMC himc, BOOL status); + static BOOL getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence); + static BOOL setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence); + static BOOL getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); + static BOOL setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form); static LONG getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length); static BOOL setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength); static BOOL setCompositionFont(HIMC himc, LPLOGFONTW logfont); @@ -160,10 +160,10 @@ LLWinImm LLWinImm::sTheInstance; LLWinImm::LLWinImm() : mHImmDll(NULL) { - // Check system metrics + // Check system metrics if ( !GetSystemMetrics( SM_DBCSENABLED ) ) return; - + mHImmDll = LoadLibraryA("Imm32"); if (mHImmDll != NULL) @@ -200,13 +200,13 @@ LLWinImm::LLWinImm() : mHImmDll(NULL) mImmSetCandidateWindow == NULL || mImmNotifyIME == NULL) { - // If any of the above API entires are not found, we can't use IMM API. - // So, turn off the IMM support. We should log some warning message in - // the case, since it is very unusual; these APIs are available from - // the beginning, and all versions of IMM32.DLL should have them all. - // Unfortunately, this code may be executed before initialization of - // the logging channel (llwarns), and we can't do it here... Yes, this - // is one of disadvantages to use static constraction to DLL loading. + // If any of the above API entires are not found, we can't use IMM API. + // So, turn off the IMM support. We should log some warning message in + // the case, since it is very unusual; these APIs are available from + // the beginning, and all versions of IMM32.DLL should have them all. + // Unfortunately, this code may be executed before initialization of + // the logging channel (llwarns), and we can't do it here... Yes, this + // is one of disadvantages to use static constraction to DLL loading. FreeLibrary(mHImmDll); mHImmDll = NULL; @@ -231,117 +231,117 @@ LLWinImm::LLWinImm() : mHImmDll(NULL) } -// static -BOOL LLWinImm::isIME(HKL hkl) -{ +// static +BOOL LLWinImm::isIME(HKL hkl) +{ if ( sTheInstance.mImmIsIME ) - return sTheInstance.mImmIsIME(hkl); + return sTheInstance.mImmIsIME(hkl); return FALSE; } -// static +// static HIMC LLWinImm::getContext(HWND hwnd) { if ( sTheInstance.mImmGetContext ) - return sTheInstance.mImmGetContext(hwnd); + return sTheInstance.mImmGetContext(hwnd); return 0; } -//static +//static BOOL LLWinImm::releaseContext(HWND hwnd, HIMC himc) -{ +{ if ( sTheInstance.mImmIsIME ) - return sTheInstance.mImmReleaseContext(hwnd, himc); + return sTheInstance.mImmReleaseContext(hwnd, himc); return FALSE; } -// static +// static BOOL LLWinImm::getOpenStatus(HIMC himc) -{ +{ if ( sTheInstance.mImmGetOpenStatus ) - return sTheInstance.mImmGetOpenStatus(himc); + return sTheInstance.mImmGetOpenStatus(himc); return FALSE; } -// static -BOOL LLWinImm::setOpenStatus(HIMC himc, BOOL status) -{ +// static +BOOL LLWinImm::setOpenStatus(HIMC himc, BOOL status) +{ if ( sTheInstance.mImmSetOpenStatus ) - return sTheInstance.mImmSetOpenStatus(himc, status); + return sTheInstance.mImmSetOpenStatus(himc, status); return FALSE; } -// static -BOOL LLWinImm::getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence) -{ +// static +BOOL LLWinImm::getConversionStatus(HIMC himc, LPDWORD conversion, LPDWORD sentence) +{ if ( sTheInstance.mImmGetConversionStatus ) - return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence); + return sTheInstance.mImmGetConversionStatus(himc, conversion, sentence); return FALSE; } -// static -BOOL LLWinImm::setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence) -{ +// static +BOOL LLWinImm::setConversionStatus(HIMC himc, DWORD conversion, DWORD sentence) +{ if ( sTheInstance.mImmSetConversionStatus ) - return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence); + return sTheInstance.mImmSetConversionStatus(himc, conversion, sentence); return FALSE; } -// static -BOOL LLWinImm::getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) -{ +// static +BOOL LLWinImm::getCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) +{ if ( sTheInstance.mImmGetCompostitionWindow ) - return sTheInstance.mImmGetCompostitionWindow(himc, form); + return sTheInstance.mImmGetCompostitionWindow(himc, form); return FALSE; } -// static -BOOL LLWinImm::setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) -{ +// static +BOOL LLWinImm::setCompositionWindow(HIMC himc, LPCOMPOSITIONFORM form) +{ if ( sTheInstance.mImmSetCompostitionWindow ) - return sTheInstance.mImmSetCompostitionWindow(himc, form); + return sTheInstance.mImmSetCompostitionWindow(himc, form); return FALSE; } -// static -LONG LLWinImm::getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length) -{ +// static +LONG LLWinImm::getCompositionString(HIMC himc, DWORD index, LPVOID data, DWORD length) +{ if ( sTheInstance.mImmGetCompositionString ) - return sTheInstance.mImmGetCompositionString(himc, index, data, length); + return sTheInstance.mImmGetCompositionString(himc, index, data, length); return FALSE; } -// static -BOOL LLWinImm::setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength) -{ +// static +BOOL LLWinImm::setCompositionString(HIMC himc, DWORD index, LPVOID pComp, DWORD compLength, LPVOID pRead, DWORD readLength) +{ if ( sTheInstance.mImmSetCompositionString ) - return sTheInstance.mImmSetCompositionString(himc, index, pComp, compLength, pRead, readLength); + return sTheInstance.mImmSetCompositionString(himc, index, pComp, compLength, pRead, readLength); return FALSE; } -// static -BOOL LLWinImm::setCompositionFont(HIMC himc, LPLOGFONTW pFont) -{ +// static +BOOL LLWinImm::setCompositionFont(HIMC himc, LPLOGFONTW pFont) +{ if ( sTheInstance.mImmSetCompositionFont ) - return sTheInstance.mImmSetCompositionFont(himc, pFont); + return sTheInstance.mImmSetCompositionFont(himc, pFont); return FALSE; } -// static -BOOL LLWinImm::setCandidateWindow(HIMC himc, LPCANDIDATEFORM form) -{ +// static +BOOL LLWinImm::setCandidateWindow(HIMC himc, LPCANDIDATEFORM form) +{ if ( sTheInstance.mImmSetCandidateWindow ) - return sTheInstance.mImmSetCandidateWindow(himc, form); + return sTheInstance.mImmSetCandidateWindow(himc, form); return FALSE; } -// static -BOOL LLWinImm::notifyIME(HIMC himc, DWORD action, DWORD index, DWORD value) -{ +// static +BOOL LLWinImm::notifyIME(HIMC himc, DWORD action, DWORD index, DWORD value) +{ if ( sTheInstance.mImmNotifyIME ) - return sTheInstance.mImmNotifyIME(himc, action, index, value); + return sTheInstance.mImmNotifyIME(himc, action, index, value); return FALSE; } @@ -359,8 +359,8 @@ LLWinImm::~LLWinImm() } -LPDIRECTINPUT8 g_pDI = NULL; -LPDIRECTINPUTDEVICE8 g_pJoystick = NULL; +LPDIRECTINPUT8 g_pDI = NULL; +LPDIRECTINPUTDEVICE8 g_pJoystick = NULL; BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance, VOID* pContext ); BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, @@ -368,7 +368,7 @@ BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, - S32 height, U32 flags, + S32 height, U32 flags, BOOL fullscreen, BOOL clearBg, BOOL disable_vsync, BOOL use_gl, BOOL ignore_pixel_depth) @@ -442,8 +442,8 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, // Grab screen size to sanitize the window S32 window_border_y = GetSystemMetrics(SM_CYBORDER); - S32 virtual_screen_x = GetSystemMetrics(SM_XVIRTUALSCREEN); - S32 virtual_screen_y = GetSystemMetrics(SM_YVIRTUALSCREEN); + S32 virtual_screen_x = GetSystemMetrics(SM_XVIRTUALSCREEN); + S32 virtual_screen_y = GetSystemMetrics(SM_YVIRTUALSCREEN); S32 virtual_screen_width = GetSystemMetrics(SM_CXVIRTUALSCREEN); S32 virtual_screen_height = GetSystemMetrics(SM_CYVIRTUALSCREEN); @@ -554,7 +554,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh); } - // Keep a copy of the actual current device mode in case we minimize + // Keep a copy of the actual current device mode in case we minimize // and change the screen resolution. JC EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode); @@ -637,7 +637,7 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, // track_mouse_event.dwFlags = TME_LEAVE; // track_mouse_event.hwndTrack = mWindowHandle; // track_mouse_event.dwHoverTime = HOVER_DEFAULT; - // TrackMouseEvent( &track_mouse_event ); + // TrackMouseEvent( &track_mouse_event ); // } @@ -653,9 +653,9 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, //----------------------------------------------------------------------- PIXELFORMATDESCRIPTOR pfd = { - sizeof(PIXELFORMATDESCRIPTOR), + sizeof(PIXELFORMATDESCRIPTOR), 1, - pfdflags, + pfdflags, PFD_TYPE_RGBA, BITS_PER_PIXEL, 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, llinfos << "Swap Method: Unknown" << llendl; break; } - } + } } else { @@ -903,9 +903,9 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, OSMessageBox("Can't get pixel format description", "Error", OSMB_OK); return; } - llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) + llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) << " Alpha Bits " << S32(pfd.cAlphaBits) - << " Depth Bits " << S32(pfd.cDepthBits) + << " Depth Bits " << S32(pfd.cDepthBits) << llendl; if (pfd.cColorBits < 32) @@ -989,20 +989,20 @@ LLWindowWin32::LLWindowWin32(char *title, char *name, S32 x, S32 y, S32 width, // We're going to assume that gamma's the same for all 3 channels, because I don't feel like doing it otherwise. // Using the red channel. - F32 Csum = 0.0; - S32 Ccount = 0; - for (i = 0; i < 256; i++) - { - if (i != 0 && mPrevGammaRamp[i] != 0 && mPrevGammaRamp[i] != 65536) - { - F64 B = (i % 256) / 256.0; - F64 A = mPrevGammaRamp[i] / 65536.0; - F32 C = (F32) ( log(A) / log(B) ); - Csum += C; - Ccount++; - } - } - mCurrentGamma = Csum / Ccount; + F32 Csum = 0.0; + S32 Ccount = 0; + for (i = 0; i < 256; i++) + { + if (i != 0 && mPrevGammaRamp[i] != 0 && mPrevGammaRamp[i] != 65536) + { + F64 B = (i % 256) / 256.0; + F64 A = mPrevGammaRamp[i] / 65536.0; + F32 C = (F32) ( log(A) / log(B) ); + Csum += C; + Ccount++; + } + } + mCurrentGamma = Csum / Ccount; llinfos << "Previous gamma: " << mCurrentGamma << llendl; } @@ -1027,7 +1027,7 @@ void LLWindowWin32::initInputDevices() // Direct Input HRESULT hr; - if( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, + if( FAILED( hr = DirectInput8Create( GetModuleHandle(NULL), DIRECTINPUT_VERSION, IID_IDirectInput8, (VOID**)&g_pDI, NULL ) ) ) { llwarns << "Direct8InputCreate failed!" << llendl; @@ -1037,7 +1037,7 @@ void LLWindowWin32::initInputDevices() while(1) { // Look for a simple joystick we can use for this sample program. - if (FAILED( hr = g_pDI->EnumDevices( DI8DEVCLASS_GAMECTRL, + if (FAILED( hr = g_pDI->EnumDevices( DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback, NULL, DIEDFL_ATTACHEDONLY ) ) ) break; @@ -1045,7 +1045,7 @@ void LLWindowWin32::initInputDevices() break; if( FAILED( hr = g_pJoystick->SetDataFormat( &c_dfDIJoystick ) ) ) break; - if( FAILED( hr = g_pJoystick->EnumObjects( EnumObjectsCallback, + if( FAILED( hr = g_pJoystick->EnumObjects( EnumObjectsCallback, (VOID*)mWindowHandle, DIDFT_ALL ) ) ) break; g_pJoystick->Acquire(); @@ -1149,7 +1149,7 @@ void LLWindowWin32::close() } llinfos << "Destroying Window" << llendl; - + // Don't process events in our mainWindowProc any longer. SetWindowLong(mWindowHandle, GWL_USERDATA, NULL); @@ -1360,7 +1360,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa success = setDisplayResolution(width, height, BITS_PER_PIXEL, closest_refresh); } - // Keep a copy of the actual current device mode in case we minimize + // Keep a copy of the actual current device mode in case we minimize // and change the screen resolution. JC EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dev_mode); @@ -1437,9 +1437,9 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa //----------------------------------------------------------------------- static PIXELFORMATDESCRIPTOR pfd = { - sizeof(PIXELFORMATDESCRIPTOR), + sizeof(PIXELFORMATDESCRIPTOR), 1, - PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, + PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, BITS_PER_PIXEL, 0, 0, 0, 0, 0, 0, // RGB bits and shift, unused @@ -1668,7 +1668,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa llinfos << "Swap Method: Unknown" << llendl; break; } - } + } } else { @@ -1684,9 +1684,9 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, LLCoordScreen size, BOOL disa return FALSE; } - llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) + llinfos << "GL buffer: Color Bits " << S32(pfd.cColorBits) << " Alpha Bits " << S32(pfd.cAlphaBits) - << " Depth Bits " << S32(pfd.cDepthBits) + << " Depth Bits " << S32(pfd.cDepthBits) << llendl; if (pfd.cColorBits < 32) @@ -1884,10 +1884,10 @@ void LLWindowWin32::initCursors() mCursor[ UI_CURSOR_CROSS ] = LoadCursor(NULL, IDC_CROSS); mCursor[ UI_CURSOR_SIZENWSE ] = LoadCursor(NULL, IDC_SIZENWSE); mCursor[ UI_CURSOR_SIZENESW ] = LoadCursor(NULL, IDC_SIZENESW); - mCursor[ UI_CURSOR_SIZEWE ] = LoadCursor(NULL, IDC_SIZEWE); - mCursor[ UI_CURSOR_SIZENS ] = LoadCursor(NULL, IDC_SIZENS); + mCursor[ UI_CURSOR_SIZEWE ] = LoadCursor(NULL, IDC_SIZEWE); + mCursor[ UI_CURSOR_SIZENS ] = LoadCursor(NULL, IDC_SIZENS); mCursor[ UI_CURSOR_NO ] = LoadCursor(NULL, IDC_NO); - mCursor[ UI_CURSOR_WORKING ] = LoadCursor(NULL, IDC_APPSTARTING); + mCursor[ UI_CURSOR_WORKING ] = LoadCursor(NULL, IDC_APPSTARTING); HMODULE module = GetModuleHandle(NULL); mCursor[ UI_CURSOR_TOOLGRAB ] = LoadCursor(module, TEXT("TOOLGRAB")); @@ -1902,7 +1902,7 @@ void LLWindowWin32::initCursors() mCursor[ UI_CURSOR_ARROWLOCKED ]= LoadCursor(module, TEXT("ARROWLOCKED")); mCursor[ UI_CURSOR_GRABLOCKED ] = LoadCursor(module, TEXT("GRABLOCKED")); mCursor[ UI_CURSOR_TOOLTRANSLATE ] = LoadCursor(module, TEXT("TOOLTRANSLATE")); - mCursor[ UI_CURSOR_TOOLROTATE ] = LoadCursor(module, TEXT("TOOLROTATE")); + mCursor[ UI_CURSOR_TOOLROTATE ] = LoadCursor(module, TEXT("TOOLROTATE")); mCursor[ UI_CURSOR_TOOLSCALE ] = LoadCursor(module, TEXT("TOOLSCALE")); mCursor[ UI_CURSOR_TOOLCAMERA ] = LoadCursor(module, TEXT("TOOLCAMERA")); mCursor[ UI_CURSOR_TOOLPAN ] = LoadCursor(module, TEXT("TOOLPAN")); @@ -2103,7 +2103,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (window_imp->mFullscreen) { - // When we run fullscreen, restoring or minimizing the app needs + // When we run fullscreen, restoring or minimizing the app needs // to switch the screen resolution if (activating) { @@ -2131,13 +2131,13 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ window_imp->interruptLanguageTextInput(); } - // JC - I'm not sure why, but if we don't report that we handled the - // WM_ACTIVATE message, the WM_ACTIVATEAPP messages don't work + // JC - I'm not sure why, but if we don't report that we handled the + // WM_ACTIVATE message, the WM_ACTIVATEAPP messages don't work // properly when we run fullscreen. if (gDebugWindowProc) { llinfos << "WINDOWPROC Activate " - << " activating " << S32(activating) + << " activating " << S32(activating) << " minimized " << S32(minimized) << llendl; } @@ -2153,9 +2153,9 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ case WM_SYSCOMMAND: switch(w_param) { - case SC_KEYMENU: + case SC_KEYMENU: // Disallow the ALT key from triggering the default system menu. - return 0; + return 0; case SC_SCREENSAVE: case SC_MONITORPOWER: @@ -2196,7 +2196,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (gDebugWindowProc) { llinfos << "Debug WindowProc WM_KEYDOWN " - << " key " << S32(w_param) + << " key " << S32(w_param) << llendl; } if(gKeyboard->handleKeyDown(w_param, mask) && eat_keystroke) @@ -2215,7 +2215,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (gDebugWindowProc) { llinfos << "Debug WindowProc WM_KEYUP " - << " key " << S32(w_param) + << " key " << S32(w_param) << llendl; } if (gKeyboard->handleKeyUp(w_param, mask) && eat_keystroke) @@ -2284,7 +2284,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (gDebugWindowProc) { llinfos << "Debug WindowProc WM_CHAR " - << " key " << S32(w_param) + << " key " << S32(w_param) << llendl; } // Even if LLWindowCallbacks::handleUnicodeChar(llwchar, BOOL) returned FALSE, @@ -2527,7 +2527,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ // track_mouse_event.dwFlags = TME_LEAVE; // track_mouse_event.hwndTrack = h_wnd; // track_mouse_event.dwHoverTime = HOVER_DEFAULT; - // TrackMouseEvent( &track_mouse_event ); + // TrackMouseEvent( &track_mouse_event ); return 0; } */ @@ -2559,12 +2559,12 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ << llendl; } - // There's an odd behavior with WM_SIZE that I would call a bug. If + // There's an odd behavior with WM_SIZE that I would call a bug. If // the window is maximized, and you call MoveWindow() with a size smaller - // than a maximized window, it ends up sending WM_SIZE with w_param set + // than a maximized window, it ends up sending WM_SIZE with w_param set // to SIZE_MAXIMIZED -- which isn't true. So the logic below doesn't work. - // (SL-44655). Fixed it by calling ShowWindow(SW_RESTORE) first (see - // LLWindowWin32::moveWindow in this file). + // (SL-44655). Fixed it by calling ShowWindow(SW_RESTORE) first (see + // LLWindowWin32::moveWindow in this file). // If we are now restored, but we weren't before, this // means that the window was un-minimized. @@ -2589,8 +2589,8 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ if (w_param != SIZE_MINIMIZED) { // Ignore updates for minimizing and minimized "windows" - window_imp->mCallbacks->handleResize( window_imp, - LOWORD(l_param), + window_imp->mCallbacks->handleResize( window_imp, + LOWORD(l_param), HIWORD(l_param) ); } @@ -2619,7 +2619,7 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_ // received a URL PCOPYDATASTRUCT myCDS = (PCOPYDATASTRUCT) l_param; window_imp->mCallbacks->handleDataCopy(window_imp, myCDS->dwData, myCDS->lpData); - return 0; + return 0; } } @@ -2667,7 +2667,7 @@ BOOL LLWindowWin32::convertCoords(LLCoordWindow from, LLCoordGL* to) } BOOL LLWindowWin32::convertCoords(LLCoordScreen from, LLCoordWindow* to) -{ +{ POINT mouse_point; mouse_point.x = from.mX; @@ -2778,7 +2778,7 @@ BOOL LLWindowWin32::copyTextToClipboard(const LLWString& wstr) const size_t size_utf16 = (out_utf16.length() + 1) * sizeof(WCHAR); // Memory is allocated and then ownership of it is transfered to the system. - HGLOBAL hglobal_copy_utf16 = GlobalAlloc(GMEM_MOVEABLE, size_utf16); + HGLOBAL hglobal_copy_utf16 = GlobalAlloc(GMEM_MOVEABLE, size_utf16); if (hglobal_copy_utf16) { WCHAR* copy_utf16 = (WCHAR*) GlobalLock(hglobal_copy_utf16); @@ -2841,12 +2841,12 @@ BOOL LLWindowWin32::getClientRectInScreenSpace( RECT* rectp ) POINT top_left; top_left.x = client_rect.left; top_left.y = client_rect.top; - ClientToScreen(mWindowHandle, &top_left); + ClientToScreen(mWindowHandle, &top_left); POINT bottom_right; bottom_right.x = client_rect.right; bottom_right.y = client_rect.bottom; - ClientToScreen(mWindowHandle, &bottom_right); + ClientToScreen(mWindowHandle, &bottom_right); SetRect( rectp, top_left.x, @@ -2977,8 +2977,8 @@ BOOL LLWindowWin32::setGamma(const F32 gamma) if ( value > 0xffff ) value = 0xffff; - mCurrentGammaRamp [ 0 * 256 + i ] = - mCurrentGammaRamp [ 1 * 256 + i ] = + mCurrentGammaRamp [ 0 * 256 + i ] = + mCurrentGammaRamp [ 1 * 256 + i ] = mCurrentGammaRamp [ 2 * 256 + i ] = ( WORD )value; }; @@ -3152,7 +3152,7 @@ BOOL CALLBACK EnumJoysticksCallback( const DIDEVICEINSTANCE* pdidInstance, // If it failed, then we can't use this joystick. (Maybe the user unplugged // it while we were in the middle of enumerating it.) - if( FAILED(hr) ) + if( FAILED(hr) ) return DIENUM_CONTINUE; // Stop enumeration. Note: we're just taking the first joystick we get. You @@ -3165,16 +3165,16 @@ BOOL CALLBACK EnumObjectsCallback( const DIDEVICEOBJECTINSTANCE* pdidoi, { if( pdidoi->dwType & DIDFT_AXIS ) { - DIPROPRANGE diprg; - diprg.diph.dwSize = sizeof(DIPROPRANGE); - diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER); - diprg.diph.dwHow = DIPH_BYID; + DIPROPRANGE diprg; + diprg.diph.dwSize = sizeof(DIPROPRANGE); + diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER); + diprg.diph.dwHow = DIPH_BYID; diprg.diph.dwObj = pdidoi->dwType; // Specify the enumerated axis - diprg.lMin = -1000; - diprg.lMax = +1000; + diprg.lMin = -1000; + diprg.lMax = +1000; // Set the range for the axis - if( FAILED( g_pJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) ) + if( FAILED( g_pJoystick->SetProperty( DIPROP_RANGE, &diprg.diph ) ) ) return DIENUM_STOP; } @@ -3234,10 +3234,10 @@ void LLSplashScreenWin32::showImpl() // This appears to work. ??? HINSTANCE hinst = GetModuleHandle(NULL); - mWindow = CreateDialog(hinst, - TEXT("SPLASHSCREEN"), + mWindow = CreateDialog(hinst, + TEXT("SPLASHSCREEN"), NULL, // no parent - (DLGPROC) LLSplashScreenWin32::windowProc); + (DLGPROC) LLSplashScreenWin32::windowProc); ShowWindow(mWindow, SW_SHOW); } @@ -3262,7 +3262,7 @@ void LLSplashScreenWin32::hideImpl() if (mWindow) { DestroyWindow(mWindow); - mWindow = NULL; + mWindow = NULL; } } @@ -3349,74 +3349,92 @@ void spawn_web_browser(const char* escaped_url ) llinfos << "Opening URL " << escaped_url << llendl; - // Figure out the user's default web browser - // HKEY_CLASSES_ROOT\http\shell\open\command - char reg_path_str[256]; /* Flawfinder: ignore */ - snprintf(reg_path_str, sizeof(reg_path_str), "%s\\shell\\open\\command", gURLProtocolWhitelistHandler[i]); /* Flawfinder: ignore */ - WCHAR reg_path_wstr[256]; - mbstowcs(reg_path_wstr, reg_path_str, sizeof(reg_path_wstr)/sizeof(reg_path_wstr[0])); - - HKEY key; - WCHAR browser_open_wstr[1024]; - DWORD buffer_length = 1024; - RegOpenKeyEx(HKEY_CLASSES_ROOT, reg_path_wstr, 0, KEY_QUERY_VALUE, &key); - RegQueryValueEx(key, NULL, NULL, NULL, (LPBYTE)browser_open_wstr, &buffer_length); - RegCloseKey(key); - - // Convert to STL string - LLWString browser_open_wstring = utf16str_to_wstring(browser_open_wstr); - - if (browser_open_wstring.length() < 2) - { - llwarns << "Invalid browser executable in registry " << browser_open_wstring << llendl; - return; - } - - // Extract the process that's supposed to be launched - LLWString browser_executable; - if (browser_open_wstring[0] == '"') - { - // executable is quoted, find the matching quote - size_t quote_pos = browser_open_wstring.find('"', 1); - // copy out the string including both quotes - browser_executable = browser_open_wstring.substr(0, quote_pos+1); - } - else - { - // executable not quoted, find a space - size_t space_pos = browser_open_wstring.find(' ', 1); - browser_executable = browser_open_wstring.substr(0, space_pos); - } - - llinfos << "Browser reg key: " << wstring_to_utf8str(browser_open_wstring) << llendl; - llinfos << "Browser executable: " << wstring_to_utf8str(browser_executable) << llendl; - - // Convert URL to wide string for Windows API - // Assume URL is UTF8, as can come from scripts - LLWString url_wstring = utf8str_to_wstring(escaped_url); - llutf16string url_utf16 = wstring_to_utf16str(url_wstring); - - // Convert executable and path to wide string for Windows API - llutf16string browser_exec_utf16 = wstring_to_utf16str(browser_executable); - - // ShellExecute returns HINSTANCE for backwards compatiblity. - // MS docs say to cast to int and compare to 32. - HWND our_window = NULL; - LPCWSTR directory_wstr = NULL; - int retval = (int) ShellExecute(our_window, /* Flawfinder: ignore */ - L"open", - browser_exec_utf16.c_str(), - url_utf16.c_str(), - directory_wstr, - SW_SHOWNORMAL); - if (retval > 32) - { - llinfos << "load_url success with " << retval << llendl; - } - else - { - llinfos << "load_url failure with " << retval << llendl; - } + // replaced ShellExecute code with ShellExecuteEx since ShellExecute doesn't work + // reliablly on Vista. + + // this is madness.. no, this is.. + LLWString url_wstring = utf8str_to_wstring( escaped_url ); + llutf16string url_utf16 = wstring_to_utf16str( url_wstring ); + + // let the OS decide what to use to open the URL + SHELLEXECUTEINFO sei = { sizeof( sei ) }; + sei.fMask = SEE_MASK_FLAG_DDEWAIT; + sei.nShow = SW_SHOWNORMAL; + sei.lpVerb = L"open"; + sei.lpFile = url_utf16.c_str(); + ShellExecuteEx( &sei ); + + ////// TODO: LEAVING OLD CODE HERE SO I DON'T BONE OTHER MERGES + ////// DELETE THIS ONCE THE MERGES ARE DONE + + //// Figure out the user's default web browser + //// HKEY_CLASSES_ROOT\http\shell\open\command + //char reg_path_str[256]; /* Flawfinder: ignore */ + //snprintf(reg_path_str, sizeof(reg_path_str), "%s\\shell\\open\\command", gURLProtocolWhitelistHandler[i]); /* Flawfinder: ignore */ + //WCHAR reg_path_wstr[256]; + //mbstowcs(reg_path_wstr, reg_path_str, sizeof(reg_path_wstr)/sizeof(reg_path_wstr[0])); + + //HKEY key; + //WCHAR browser_open_wstr[1024]; + //DWORD buffer_length = 1024; + //RegOpenKeyEx(HKEY_CLASSES_ROOT, reg_path_wstr, 0, KEY_QUERY_VALUE, &key); + //RegQueryValueEx(key, NULL, NULL, NULL, (LPBYTE)browser_open_wstr, &buffer_length); + //RegCloseKey(key); + + //// Convert to STL string + //LLWString browser_open_wstring = utf16str_to_wstring(browser_open_wstr); + + //if (browser_open_wstring.length() < 2) + //{ + // llwarns << "Invalid browser executable in registry " << browser_open_wstring << llendl; + // return; + //} + + //// Extract the process that's supposed to be launched + //LLWString browser_executable; + //if (browser_open_wstring[0] == '"') + //{ + // // executable is quoted, find the matching quote + // size_t quote_pos = browser_open_wstring.find('"', 1); + // // copy out the string including both quotes + // browser_executable = browser_open_wstring.substr(0, quote_pos+1); + //} + //else + //{ + // // executable not quoted, find a space + // size_t space_pos = browser_open_wstring.find(' ', 1); + // browser_executable = browser_open_wstring.substr(0, space_pos); + //} + + //llinfos << "Browser reg key: " << wstring_to_utf8str(browser_open_wstring) << llendl; + //llinfos << "Browser executable: " << wstring_to_utf8str(browser_executable) << llendl; + + //// Convert URL to wide string for Windows API + //// Assume URL is UTF8, as can come from scripts + //LLWString url_wstring = utf8str_to_wstring(escaped_url); + //llutf16string url_utf16 = wstring_to_utf16str(url_wstring); + + //// Convert executable and path to wide string for Windows API + //llutf16string browser_exec_utf16 = wstring_to_utf16str(browser_executable); + + //// ShellExecute returns HINSTANCE for backwards compatiblity. + //// MS docs say to cast to int and compare to 32. + //HWND our_window = NULL; + //LPCWSTR directory_wstr = NULL; + //int retval = (int) ShellExecute(our_window, /* Flawfinder: ignore */ + // L"open", + // browser_exec_utf16.c_str(), + // url_utf16.c_str(), + // directory_wstr, + // SW_SHOWNORMAL); + //if (retval > 32) + //{ + // llinfos << "load_url success with " << retval << llendl; + //} + //else + //{ + // llinfos << "load_url failure with " << retval << llendl; + //} } @@ -3430,13 +3448,13 @@ BOOL LLWindowWin32::dialog_color_picker ( F32 *r, F32 *g, F32 *b ) cc.hwndOwner = mWindowHandle; cc.hInstance = NULL; cc.rgbResult = RGB ((*r * 255.f),(*g *255.f),(*b * 255.f)); - //cc.rgbResult = RGB (0x80,0x80,0x80); + //cc.rgbResult = RGB (0x80,0x80,0x80); cc.lpCustColors = crCustColors; cc.Flags = CC_RGBINIT | CC_FULLOPEN; cc.lCustData = 0; cc.lpfnHook = NULL; cc.lpTemplateName = NULL; - + // This call is modal, so pause agent //send_agent_pause(); // this is in newview and we don't want to set up a dependency { @@ -3447,7 +3465,7 @@ BOOL LLWindowWin32::dialog_color_picker ( F32 *r, F32 *g, F32 *b ) *b = ((F32)((cc.rgbResult >> 16) & 0xff)) / 255.f; *g = ((F32)((cc.rgbResult >> 8) & 0xff)) / 255.f; - + *r = ((F32)(cc.rgbResult & 0xff)) / 255.f; return (retval); @@ -3501,8 +3519,8 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b) if ( sLanguageTextInputAllowed ) { - // Allowing: Restore the previous IME status, so that the user has a feeling that the previous - // text input continues naturally. Be careful, however, the IME status is meaningful only during the user keeps + // Allowing: Restore the previous IME status, so that the user has a feeling that the previous + // text input continues naturally. Be careful, however, the IME status is meaningful only during the user keeps // using same Input Locale (aka Keyboard Layout). if (sWinIMEOpened && GetKeyboardLayout(0) == sWinInputLocale) { @@ -3527,7 +3545,7 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b) { LLWinImm::getConversionStatus(himc, &sWinIMEConversionMode, &sWinIMESentenceMode); - // We need both ImmSetConversionStatus and ImmSetOpenStatus here to surely disable IME's + // We need both ImmSetConversionStatus and ImmSetOpenStatus here to surely disable IME's // keyboard hooking, because Some IME reacts only on the former and some other on the latter... LLWinImm::setConversionStatus(himc, IME_CMODE_NOCONVERSION, sWinIMESentenceMode); LLWinImm::setOpenStatus(himc, FALSE); @@ -3537,7 +3555,7 @@ void LLWindowWin32::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b) } } -void LLWindowWin32::fillCandidateForm(const LLCoordGL& caret, const LLRect& bounds, +void LLWindowWin32::fillCandidateForm(const LLCoordGL& caret, const LLRect& bounds, CANDIDATEFORM *form) { LLCoordWindow caret_coord, top_left, bottom_right; @@ -3566,7 +3584,7 @@ void LLWindowWin32::setLanguageTextInput( const LLCoordGL & position ) LLCoordWindow win_pos; convertCoords( position, &win_pos ); - if ( win_pos.mX >= 0 && win_pos.mY >= 0 && + if ( win_pos.mX >= 0 && win_pos.mY >= 0 && (win_pos.mX != sWinIMEWindowPosition.mX) || (win_pos.mY != sWinIMEWindowPosition.mY) ) { COMPOSITIONFORM ime_form; @@ -3631,13 +3649,13 @@ void LLWindowWin32::fillCompositionLogfont(LOGFONT *logfont) default: logfont->lfCharSet = CHINESEBIG5_CHARSET; lstrcpy(logfont->lfFaceName, TEXT("MingLiU")); - break; + break; } break; case LANG_JAPANESE: logfont->lfCharSet = SHIFTJIS_CHARSET; lstrcpy(logfont->lfFaceName, TEXT("MS Gothic")); - break; + break; case LANG_KOREAN: logfont->lfCharSet = HANGUL_CHARSET; lstrcpy(logfont->lfFaceName, TEXT("Gulim")); @@ -3647,10 +3665,10 @@ void LLWindowWin32::fillCompositionLogfont(LOGFONT *logfont) lstrcpy(logfont->lfFaceName, TEXT("Tahoma")); break; } - + logfont->lfHeight = mPreeditor->getPreeditFontSize(); logfont->lfWeight = FW_NORMAL; -} +} U32 LLWindowWin32::fillReconvertString(const LLWString &text, S32 focus, S32 focus_length, RECONVERTSTRING *reconvert_string) @@ -3764,7 +3782,7 @@ void LLWindowWin32::handleCompositionMessage(const U32 indexes) needs_update = TRUE; } } - + if (indexes & GCS_COMPSTR) { LONG size = LLWinImm::getCompositionString(himc, GCS_COMPSTR, NULL, 0); @@ -3930,7 +3948,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result) LLCoordGL caret_coord; LLRect preedit_bounds; mPreeditor->getPreeditLocation(-1, &caret_coord, &preedit_bounds, NULL); - + CANDIDATEFORM *const form = (CANDIDATEFORM *)param; DWORD const dwIndex = form->dwIndex; fillCandidateForm(caret_coord, preedit_bounds, form); @@ -3945,7 +3963,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result) // char_position->dwCharPos counts in number of // WCHARs, i.e., UTF-16 encoding units, so we can't simply pass the - // number to getPreeditLocation. + // number to getPreeditLocation. const LLWString & wtext = mPreeditor->getWText(); S32 preedit, preedit_length; @@ -4019,7 +4037,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result) const LLWString & wtext = mPreeditor->getWText(); S32 preedit, preedit_length; mPreeditor->getPreeditRange(&preedit, &preedit_length); - + S32 context_offset; LLWString context = find_context(wtext, preedit, preedit_length, &context_offset); preedit -= context_offset; @@ -4030,7 +4048,7 @@ BOOL LLWindowWin32::handleImeRequests(U32 request, U32 param, LRESULT *result) // Otherwise, some IME are confused. context.erase(preedit, preedit_length); } - + RECONVERTSTRING *reconvert_string = (RECONVERTSTRING *)param; *result = fillReconvertString(context, preedit, 0, reconvert_string); 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 @@ /* Localized versions of Info.plist keys */ CFBundleName = "Second Life"; -CFBundleShortVersionString = "Second Life version 1.19.1.2"; -CFBundleGetInfoString = "Second Life version 1.19.1.2, Copyright 2004-2008 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 1.19.1.3"; +CFBundleGetInfoString = "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 @@ CFBundleVersion - 1.19.1.2 + 1.19.1.3 CSResourcesFileMapped 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 @@ -version 15 +version 16 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // Should be combined into one table @@ -45,6 +45,7 @@ RenderUseImpostors 1 1 RenderVBOEnable 1 1 RenderVolumeLODFactor 1 2.0 RenderWaterReflections 1 1 +UseStartScreen 1 1 UseOcclusion 1 1 VertexShaderEnable 1 1 WindLightUseAtmosShaders 1 1 @@ -364,10 +365,12 @@ list ATI_Radeon_X700 Disregard128DefaultDrawDistance 1 0 list ATI_Radeon_X1300 Disregard128DefaultDrawDistance 1 0 +UseStartScreen 0 0 list ATI_Radeon_X1400 Disregard128DefaultDrawDistance 1 0 list ATI_Radeon_X1500 Disregard128DefaultDrawDistance 1 0 +UseStartScreen 0 0 list ATI_Radeon_X1600 Disregard128DefaultDrawDistance 1 0 list 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 @@ -version 15 +version 16 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // 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 @@ -version 15 +version 16 // NOTE: This is mostly identical to featuretable_mac.txt with a few differences // 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 @@ ATI 3D-Analyze .*ATI.*3D-Analyze.* 0 0 ATI All-in-Wonder PCI-E .*ATI.*All-in-Wonder.*PCI-E.* 1 1 ATI All-in-Wonder 9xxx .*ATI.*All-in-Wonder 9.* 1 1 +ATI All-in-Wonder X600 .*ATI.*All-in-Wonder X6.* 1 1 ATI All-in-Wonder X800 .*ATI.*All-in-Wonder X8.* 2 1 ATI All-in-Wonder X1800 .*ATI.*All-in-Wonder X18.* 3 1 ATI All-in-Wonder X1900 .*ATI.*All-in-Wonder X19.* 3 1 @@ -33,11 +34,12 @@ ATI ASUS AH26xx .*ATI.*ASUS.*AH26.* 3 1 ATI ASUS AX3xx .*ATI.*ASUS.*AX3.* 1 1 ATI ASUS AX5xx .*ATI.*ASUS.*AX5.* 1 1 ATI ASUS AX8xx .*ATI.*ASUS.*AX8.* 2 1 -ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1 ATI ASUS EAH24xx .*ATI.*ASUS.*EAH24.* 2 1 ATI ASUS EAH26xx .*ATI.*ASUS.*EAH26.* 3 1 +ATI ASUS EAH34xx .*ATI.*ASUS.*EAH34.* 1 1 +ATI ASUS EAH36xx .*ATI.*ASUS.*EAH36.* 3 1 +ATI ASUS EAH38xx .*ATI.*ASUS.*EAH38.* 3 1 ATI ASUS X1xxx .*ATI.*ASUS.*X1.* 2 1 -ATI Diamond X1xxx .*ATI.*Diamond.*X1.* 3 1 ATI Diamond X550 .*ATI.*Diamond X550.* 1 1 ATI FireGL 5200 .*ATI.*FireGL V52.* 0 1 ATI FireGL 5xxx .*ATI.*FireGL V5.* 1 1 @@ -47,6 +49,9 @@ ATI Generic .*ATI.*Generic.* 0 0 ATI Hercules 9800 .*ATI.*Hercules.*9800.* 1 1 ATI IGP 340M .*ATI.*IGP.*340M.* 0 0 ATI M52 .*ATI.*M52.* 1 1 +ATI M54 .*ATI.*M54.* 1 1 +ATI M56 .*ATI.*M56.* 1 1 +ATI M76 .*ATI.*M76.* 3 1 ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 1 1 ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1 ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1 @@ -58,9 +63,11 @@ ATI Mobility Radeon X7xx .*ATI.*Mobility.*X7.* 1 1 ATI Mobility Radeon Xxxx .*ATI.*Mobility.*X.* 1 1 ATI Mobility Radeon .*ATI.*Mobility.* 0 1 ATI Radeon HD 2300 .*ATI.*Radeon HD 23.* 1 1 -ATI Radeon HD 2400 .*ATI.*Radeon HD 24.* 1 1 +ATI Radeon HD 2400 .*ATI.*Radeon HD.*24.* 1 1 ATI Radeon HD 2600 .*ATI.*Radeon HD 26.* 2 1 ATI Radeon HD 2900 .*ATI.*Radeon HD 29.* 3 1 +ATI Radeon HD 3400 .*ATI.*Radeon HD 34.* 1 1 +ATI Radeon HD 3600 .*ATI.*Radeon HD 36.* 3 1 ATI Radeon HD 3800 .*ATI.*Radeon HD 38.* 3 1 ATI Radeon OpenGL .*ATI.*Radeon OpenGL.* 0 0 ATI Radeon 7000 .*ATI.*Radeon 7.* 0 1 @@ -73,6 +80,7 @@ ATI Radeon 9600 .*ATI.*Radeon 96.* 0 1 ATI Radeon 9700 .*ATI.*Radeon 97.* 1 1 ATI Radeon 9800 .*ATI.*Radeon 98.* 1 1 ATI Radeon RV250 .*ATI.*RV250.* 0 1 +ATI Radeon RV600 .*ATI.*RV6.* 1 1 ATI Radeon RX700 .*ATI.*RX70.* 1 1 ATI Radeon RX800 .*ATI.*Radeon *RX80.* 2 1 ATI Radeon VE .*ATI.*Radeon.*VE.* 0 0 @@ -145,6 +153,10 @@ NVIDIA GeForce 8500 .*NVIDIA.*GeForce 85.* 3 1 NVIDIA GeForce 8600 .*NVIDIA.*GeForce 86.* 3 1 NVIDIA GeForce 8700 .*NVIDIA.*GeForce 87.* 3 1 NVIDIA GeForce 8800 .*NVIDIA.*GeForce 88.* 3 1 +NVIDIA GeForce 9300M .*NVIDIA.*GeForce 9300M.* 1 1 +NVIDIA GeForce 9500M .*NVIDIA.*GeForce 9500M.* 2 1 +NVIDIA GeForce 9600 .*NVIDIA.*GeForce 96.* 3 1 +NVIDIA GeForce 9800 .*NVIDIA.*GeForce 98.* 3 1 NVIDIA GeForce FX 5100 .*NVIDIA.*GeForce FX 51.* 0 1 NVIDIA GeForce FX 5200 .*NVIDIA.*GeForce FX 52.* 0 1 NVIDIA 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() } pApp->mReportedCrash = TRUE; + //We already do this in writeSystemInfo(), but we do it again here to make /sure/ we have a version + //to check against no matter what + gDebugInfo["ClientInfo"]["Name"] = gChannelName; + gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; + gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; + gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; + gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD; + gDebugInfo["SettingsFilename"] = gSettingsFileName; gDebugInfo["CAFilename"] = gDirUtilp->getCAFile(); 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() gSavedSettings.declareBOOL("RenderGroupTitleAll", TRUE, "Show group titles in name labels"); // Camera widget controls + const S32 CAMERA_OFFSET = 64; const S32 CAMERA_LEFT = MOVE_BTN_FLY_RIGHT + 10; const S32 CAMERA_WIDTH = 16 + 64 + 16 + 64 + 16; const S32 CAMERA_HEIGHT = 64; gSavedSettings.declareRect("FloaterCameraRect", - LLRect(CAMERA_LEFT, CAMERA_HEIGHT, CAMERA_LEFT+CAMERA_WIDTH, 0), "Rectangle for camera control window"); + LLRect(CAMERA_LEFT + CAMERA_OFFSET, CAMERA_HEIGHT + CAMERA_OFFSET, CAMERA_LEFT+CAMERA_WIDTH + CAMERA_OFFSET, 0 + CAMERA_OFFSET), "Rectangle for camera control window"); // Tool view LLRect floater_tools_rect; @@ -1298,6 +1299,9 @@ void declare_settings() gSavedSettings.declareRect("FloaterDayCycleRect", LLRect(50, 450, 300, 0), "Rectangle for Day Cycle Editor" ); gSavedSettings.declareRect("FloaterAdvancedWaterRect", LLRect(50, 220, 450, 0), "Rectangle for Advanced Water Editor" ); + // Graphics compatibility and driver crash workaround params + gSavedSettings.declareBOOL("UseStartScreen", TRUE, "Whether to load a start screen image or not."); + // Tweaked draw distance default settings gSavedSettings.declareBOOL("Disregard128DefaultDrawDistance", TRUE, "Whether to use the auto default to 128 draw distance"); 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[] = { LLFastTimer::FTM_RENDER_BLOOM_FBO, " First FBO", &LLColor4::blue, 0 }, { LLFastTimer::FTM_RENDER_UI, " UI", &LLColor4::cyan4, 1 }, { LLFastTimer::FTM_RENDER_TIMER, " Timers", &LLColor4::cyan5, 1, 0 }, -// { LLFastTimer::FTM_RENDER_FONTS, " Fonts", &LLColor4::pink1, 0 }, - { LLFastTimer::FTM_SWAP, " Swap", &LLColor4::pink1, 0 }, + { LLFastTimer::FTM_RENDER_FONTS, " Fonts", &LLColor4::pink1, 0 }, + { LLFastTimer::FTM_SWAP, " Swap", &LLColor4::pink2, 0 }, { LLFastTimer::FTM_CLIENT_COPY, " Client Copy", &LLColor4::red1, 1}, #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) else if ( lang == "de" ) help_url = "http://de.secondlife.com/support"; + else + if ( lang == "es" ) + help_url = "http://secondlife.com/app/support/index_es.html"; + else + if ( lang == "fr" ) + help_url = "http://secondlife.com/app/support/index_fr.html"; + else + if ( lang == "zh" ) + help_url = "http://secondlife.com/app/support/index_zh.html"; LLWeb::loadURL( help_url ); }; 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* { if (option == 0) { - std::string url = gAgent.getRegion()->getCapability("FetchInventoryDescendents"); + std::string url; + + LLViewerRegion * agent_region = gAgent.getRegion(); + if (agent_region) + { + url = agent_region->getCapability("FetchInventoryDescendents"); + } if (!url.empty()) //Capability found. Build up LLSD and use it. { @@ -1346,7 +1352,14 @@ void LLInventoryModel::backgroundFetch(void*) if (sBackgroundFetchActive) { //If we'll be using the capability, we'll be sending batches and the background thing isn't as important. - std::string url = gAgent.getRegion()->getCapability("FetchInventoryDescendents"); + std::string url; + + LLViewerRegion * agent_region = gAgent.getRegion(); + if (agent_region) + { + url = agent_region->getCapability("FetchInventoryDescendents"); + } + if (!url.empty()) { 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() iter != roots.end(); iter++) { LLViewerObject* objectp = *iter; - LLSelectNode* rect_select_root_node = new LLSelectNode(objectp, TRUE); - rect_select_root_node->selectAllTEs(TRUE); - if (!canSelectObject(objectp)) { continue; } + LLSelectNode* rect_select_root_node = new LLSelectNode(objectp, TRUE); + rect_select_root_node->selectAllTEs(TRUE); + if (!select_linked_set) { rect_select_root_node->mIndividualSelection = TRUE; @@ -5666,6 +5666,12 @@ void LLSelectMgr::validateSelection() BOOL LLSelectMgr::canSelectObject(LLViewerObject* object) { + // Never select dead objects + if (!object || object->isDead()) + { + return FALSE; + } + if (mForceSelection) { return TRUE; @@ -5678,9 +5684,6 @@ BOOL LLSelectMgr::canSelectObject(LLViewerObject* object) return FALSE; } - // Can't select dead objects - if (object->isDead()) return FALSE; - // Can't select orphans if (object->isOrphaned()) return FALSE; 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() } static std::vector sAuthUris; -static int sAuthUriNum = -1; +static S32 sAuthUriNum = -1; // Returns FALSE to skip other idle processing. Should only return // TRUE when all initialization done. @@ -1007,6 +1007,7 @@ BOOL idle_startup() hashed_mac.hex_digest(hashed_mac_string); // TODO if statement here to use web_login_key + sAuthUriNum = llclamp(sAuthUriNum, 0, (S32)sAuthUris.size()-1); gUserAuthp->authenticate( sAuthUris[sAuthUriNum].c_str(), auth_method.c_str(), @@ -3619,7 +3620,15 @@ void init_start_screen(S32 location_id) } LLPointer start_image_bmp = new LLImageBMP; - if( !start_image_bmp->load(temp_str) ) + + // Turn off start screen to get around the occasional readback + // driver bug + if(!gSavedSettings.getBOOL("UseStartScreen")) + { + llinfos << "Bitmap load disabled" << llendl; + return; + } + else if(!start_image_bmp->load(temp_str) ) { llinfos << "Bitmap load failed" << llendl; return; @@ -3628,6 +3637,7 @@ void init_start_screen(S32 location_id) gStartImageGL = new LLImageGL(FALSE); gStartImageWidth = start_image_bmp->getWidth(); gStartImageHeight = start_image_bmp->getHeight(); + LLPointer raw = new LLImageRaw; if (!start_image_bmp->decode(raw, 0.0f)) { 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) NULL, NULL)); - menu->append(new LLMenuItemCallGL("Debug Settings", LLFloaterSettingsDebug::show, NULL, NULL)); + menu->append(new LLMenuItemCallGL("Debug Settings...", LLFloaterSettingsDebug::show, NULL, NULL)); menu->append(new LLMenuItemCheckGL("View Admin Options", &handle_admin_override_toggle, NULL, &check_admin_override, NULL, 'V', MASK_CONTROL | MASK_ALT)); 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 image_buffer_y = llfloor(snapshot_height *scale_factor) ; } raw->resize(image_buffer_x, image_buffer_y, type == SNAPSHOT_TYPE_DEPTH ? 4 : 3); - if(!raw->getData()) + if(raw->isBufferInvalid()) { return FALSE ; } 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 @@ +Release Notes for Second Life 1.19.1(3) March 26th, 2008 +===================================== +Changes and fixes: +* VWR-4125: Duplicate names in XUI files make some translated UI texts to show inappropriately +* VWR-2273: View menu > Instant Message should be changed to "Communicate" +* VWR-1722: Profiles are editable in two places (including Search browser) +* Fixed list of names in Friends List showing (Waiting) +* Help menus have been combined +* 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 +* Place Information is hidden behind the tool bar when opened from Second Life Help +* Fixed: bulk upload of a single file (on Windows) includes the path in the item name and description +* "Mute" button on script permission dialogs closes all dialogs from the sender +* Changing viewer language selection doesn't bring up a localized F1 Help in French, Spanish +* Translated camera controls +64 in both directions. +* localized versions of panel_login.xml (incorrectly) override the splash page url set in en-us +* XML resizing in \xui\en-us to accommodate localization lengths + Release Notes for Second Life 1.19.1(2) March 19th, 2008 ===================================== -Chnages and fixes: +Changes and fixes: * Fix for crash in LLViewerPartGroup::updateParticles * 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. * VWR-5517: Search failure dialog doesn't fill in [FINAL SEARCH]. @@ -283,1307 +300,3 @@ Source changes: * Rebuild and/or update libraries to use statically linked libs. * Remove llfloaterhtmlhelp.cpp / h and floater_html_help.xml - -Release Notes for Second Life 1.18.5(3) November 29, 2007 -===================================== -New features: -* New inworld search via the 'All' tab -** Includes improved search functionality on land parcels, profiles, groups, wiki documents, events, classifieds, and some individual objects -** Classifieds are returned both within and next to search results - -Changes: -* slurls with 3 slashes (secondlife:///app....) are now highlighted in the text window -* UI elements placement/sizing updated to accommodate localized versions of Second Life viewer -* Korean text displays correctly on Leopard (Mac OS X 10.5) -* Permissions dialogs are now throttled to avoid griefing - -Fixes: -* Public source bundle not getting all ares libs -* VWR-2959: Windows (Visual Studio) solution file refers to a non-existing project "build_all" -* VWR-2551: Error in macview.xcodeproj -- invalid dependencies -* VWR-2856: libs package missing c-ares -* VWR-3073: Right-clicking someone's attachments to view profile loads (???) (???) instead -* VWR-592: crash in LLTemplateMessageBuilder::addString -* VWR-2826: Several problems on handling Japanese input (and possiblly Chinese/Korean also) -* VWR-2834: Builds fail on 1.18.4.0 with no mozlib -* VWR-2030: Avatar only turns half-way in Appearance Mode -* VWR-2803: Lag Meter network ping metric doesn't account for residents outside the USA -* VWR-3311: Web UI elements' focus rectangle are offset from their displayed position - - -Release Notes for Second Life 1.18.4(3) November 7, 2007 -===================================== -New features: -* Help > Lag Meter; monitors Client, Network and Server lag and reports possible causes - -Changes: -* Visual changes in preparation for a forthcoming release of new in-world search -** Opt-in and opt-out checkboxes for Resident Profile, Parcels, For Sale Objects, Not For Sale Objects, Regions, and Groups -* About Land description field is now a three-line text box -* Minimap indicators for "above" and "below" updated -** After the next server update, friends will appear in a different color - -Bug fixes: -* Fixed a sculptie LOD issue -* Fixed region Mature setting reverting to PG after Estate/Region changes -* Fixed several UI elements -* Fixed new group not appearing in group window until relog -* Fixed Trash folders in user inventory -* Fixed missing line of information on land sales -* Fixed parcel listings showing [AREA] instead of parcel size -* Fixed bad teleports from landmarks -* Fixed up/down arrows for Repeats Per Face -* Fixed a viewer nested message crash -* Fixed a viewer crash with editing classifieds -* Fixed a viewer crash when pressing Ctrl-F with a minimized Search window -* Fixed secondlife.log spam when group info window opens -* Fixed Publish on Web not saving for parcels -* Fixed missing dialog for Publish in Classifieds -* Fixed updates for Land and L$ -* Fixed invisible sculpted prims when sculpted texture contains alpha -* Fixed scope of drag-select with locked objects -* Fixed link order of drag-selected objects -* Fixed Accept Notices flag in Group Panel General tab not saving value -* Fixed Linux viewer preferences for choosing the cache location or chat log location -* Fixed Apply button disabled after setting group preferences -* Fixed Apply button failing to grey out after selecting 'List Group in Profile' -* Fixed filename filter for Linux/GTK file picker -* Fixed Linux/GTK file picker not remembering most recent directory -* Fixed channel argument in Linux client -* Fixed muted particles not clearing -* Fixed Show in Search option not carrying over to copied object -* Fixed muted users disappearing from Active Speakers -* Fixed Mature content flag when searching All -* Fixed viewer crash when pasting/typing UTF8 text in the object For Sale price box -* Fixed Gesture Editor sounds not initialized -* Fixed Group enrollment fee accepting floating point -* Fixed 'Quiet Snapshots to Disk' and 'Disable Camera Constraints' not persisting across sessions -* Fixed dot characters in various fields -* Fixed a crash on startup (due to empty list of rewritten login URIs) -* Fixed a Viewer crash while trying to rez an object -* Fixed a crash when editing classifieds -* Fixed Land & L$ fields no longer update -* Fixed a crash by minimizing the search window followed by Ctrl+F -* Fixed parcel option doesnt save publish listing on the web setting -* Fixed texture editing user interface is confusing -* Fixed can't set Repeats Per Face with up/down arrows -* Fixed Auction ID and Land Description Overlap in the 'About Land' window -* Disabled Add to Outfit and Replace Outfit options on the top-level Clothing folder -* MISC-567: Multiple system folders (e.g., '100 Lost and Found Folders') in inventory -* VWR-2471: SL-viewer chrashes after opening the 10th group-info-window -* VWR-2444: Menu background colors aren't settable in colors_base.xml -* VWR-2291: LOD defaults are now too aggressive in RC 1.18.3 -* VWR-2283: Some changes to groups cannot be saved -* VWR-2116: Viewer crashes when starting a new Group IM session under Japanese UI -* VWR-2104: long avatar names overflow on the chat history window volume control/muting section -* VWR-2065: Custom Snapshot setting do not save for next Snapshot -* VWR-2041: Allow using voice component on another computer -* VWR-1945: toolbox floater displays window elements incorrectly when minimized then moved. -* VWR-1944: Active gestures sometimes fail to show in the Active Gestures list -* VWR-1888: Characters missing in IM window -* VWR-1724: HUD zoom snaps back after selecting another HUD object -* VWR-1695: llGiveInventoryList objects spam the owner with messages when the recipient is in Busy mode -* VWR-1590: Keyboard changes inventory selection after right-click -* VWR-1562: llassert(mNumDescendantsSelected >= 0) with crash and loop. (Debug build) -* VWR-1448: llSetText on non-root prims is unreliable (including after relogs) -* VWR-1408: Online status viewable via Groups even if 'Make my online status visible only to my Friends' is set -* VWR-1399: Client crashes when viewing details of an empty proposal window -* VWR-1096: llPlaySound does not play whilst in HUD depending on HUD attachment point -* VWR-1045: Client crashes with no warning when uploading corrupted TGA file -* VWR-851: Viewer Crashes in high texture environments when moving or when panning with camera. -* VWR-813: Recent Items tab shows folders with no matching items -* VWR-738: SL crashes when loading with a GTK_IM scim module -* VWR-379: Fix shell scripts to use bash and not sh when appropriate. -* VWR-333: 'Unable to load gesture.' or 'Gesture is missing from database.' on login -* VWR-315: Script changes in the editor may be cancelled because of lag -* VWR-851: Viewer Crashes in high texture environments when moving or when panning with camera. -* VWR-813: Recent Items tab shows folders with no matching items -* VWR-738: SL crashes when loading with a GTK_IM scim module -* VWR-379: Fix shell scripts to use bash and not sh when appropriate. -* VWR-333: 'Unable to load gesture.' or 'Gesture is missing from database.' on login -* VWR-315: Script changes in the editor may be cancelled because of lag - -Release Notes for Second Life 1.18.3(5) September 28, 2007 -===================================== -Changes: -* Changed Bug Reporting links to http:// instead of https:// -* Build mode no longer automatically turns on beacons -* Removed 'Ping User' in statistics window (was returning 0, as userserver no longer exists) -* Removed 'Open' menu option when clothing is selected (as 'Wear' is available) -* Added minimize button to Inventory -* Updated voice components to improve quality and address VWR-1532 -* Added name of viewer release channel to embedded browser agent ID string -* Reverted map beacon behavior (per VWR-2270) - -Known issues: -* Sculpted prims with alpha in the sculpted texture are invisible -* The command line option '-drop' does not work on Linux or OSX clients. -* VWR-2268: Role Description causes Apply Changes, Ignore Changes, Cancel alert even if you don't have rights to change -* VWR-2551: Error in macview.xcodeproj -- invalid dependencies -* VWR-2404: lossless texture compression on small textures not lossless -* VWR-2552: Telehub gui very broken in RC - -LSL changes: -* Ability to get details about an object by object key: -** list llGetObjectDetails(key id, list params) -*** id = the key of the object to get info about. -*** params = a list of the object details requested: [OBJECT_NAME, OBJECT_OWNER] -*** returns a list of values in the order requested: [ 'Object_Name', ] -**** OBJECT_UNKNOWN_DETAIL Returned by llGetObjectDetails when passed an invalid object parameter type. -**** OBJECT_NAME Used with llGetObjectDetails to get an object's name. -**** OBJECT_DESC Used with llGetObjectDetails to get an object's description. -**** OBJECT_POS Used with llGetObjectDetails to get an object's position. -**** OBJECT_ROT Used with llGetObjectDetails to get an object's rotation. -**** OBJECT_VELOCITY Used with llGetObjectDetails to get an object's velocity. -**** OBJECT_OWNER Used with llGetObjectDetails to get an object's owner's key. Will be NULL_KEY if group owned. -**** OBJECT_GROUP Used with llGetObjectDetails to get an object's group's key. -**** OBJECT_CREATOR Used with llGetObjectDetails to get an object's creator's key. - -Bug fixes: -* Fixed default eyes appearing gray -* Fixed viewer source linking error -* Enrollment fees are no longer displayed with decimals -* Fixed inworld map region search failing if a space is included after the region name -* Fixed Appearance editor preview squares after changing tabs -* Fixed a bug with LODs for sculpted prims -* Fixed flexy causes llTargetOmega child objects to not rotate -* Fixed an incorrect Support link -* Fixed clipboard capture on login screen's config info -* Fixed web browser widget shows up blank when connecting via https -* Fixed doubleclicking text entry fields should select a single word first, then the entire field -* Fixed items renamed from Recent Items not displaying the correct name in All Items -* Fixed physical memory calls with more than 4GB of memory -* Fixed viewer crash by clicking Connect button repeatedly -* Fixed crash in viewer when receiving bad HUD Effects -* Fixed a Linux client crash -* Fixed client on 64-bit Linux systems that cannot find their GL drivers -* Improved Linux client threading -* Improved client performance after closing an inventory folder with a large number of items -* VWR-2487: Covenant Details between live version and release candidate version -* VWR-2275: Linux 1.18.3 Won't Link -* VWR-2152: Possible crash in llviewerobjectlist -* VWR-2144: Client crashes when deleting unsaved gestures -* VWR-2036: Build tools floater does not remember its position on restart -* VWR-1987: Segfault on startup if audio doesn't initialize. -* VWR-1976: Solaris' fprintf segfaults on NULL arguments -* VWR-1968: Possible crash in llmultigesture.cpp -* VWR-1951: Hide Particles is not working from the View > Beacons menu item -* VWR-1942: An error in the do-while example of the LSL Scripting Guide could cause infinite looping. -* VWR-1892: Use pkgconfig for more libraries in the standalone build -* VWR-1891: Detect a Debian bulid-host, as is done for Fedora -* VWR-1880: Modify 'Ctrl-F' to call Search/Replace Dialog when invoked inside Script Window -* VWR-1872: An attempt to fix the 'empty inventory trash' crashes -* VWR-1861: Renaming items in inventory folders does not update item sort order -* VWR-1823: Bad typecast for 64 bit systems, llagent llfloatercustomize -* VWR-1808: Possible crash in llviewerobjectlist -* VWR-1761: Group Invite Suggestion--add 'view group info' to invite dialog box -* VWR-1743: LLFloaterGroups source code inconsistencies -* VWR-1736: Add a Invite to Group option to the Avatar Pie Menu -* VWR-1722: Profiles are editable in two places (including Search browser) -* VWR-1721: GUI quirk in groups -* VWR-1714: Folders flashing in Inventory window with Filters and 'Always show folders' checked -* VWR-1699: Sculpt map preview inaccurate -* VWR-1647: 'Show end of last IM conversation' in Preferences/Communication automatically remains checked after OK-ing unchecked -* VWR-1640: login retires cause LLFrameStatView::setup() to seg fault -* VWR-1638: confused viewer - displays login and regular menus and buttons -* VWR-1567: Change the default item name for 'snapshot to inventory' to something more usefull than 'snapshot' -* VWR-1566: An attempt to fix the glDrawRangeElements crashes (refcount LLDrawInfo ) -* VWR-1564: Viewer crashes when started with the '-local' argument. -* VWR-1460: Can not see permissions of objects in Buy Contents window when item has long name -* VWR-1398: Appearance editor's previews do not render correctly (1.17.2) -* VWR-1372: Sculpt prim topology reverts to sphere unexpectedly -* VWR-1230: Text highlighting in Chat History window is cancelled when history scrolls -* VWR-1225: Embedded notecards not functioning -* VWR-1187: Profile > Classifieds tab shows confirmation dialog when no changes are made -* VWR-1079: Group Notice dialog: message text can't be copied and pasted -* VWR-942: logRanOffEndOfPacket is too terse when it logs packet data, add some more info -* VWR-866: Sculpties suffer HORRIBLY from JPEG artifacts -* VWR-819: Open the 'More>>' section of the edit tools by default and persist it across sessions -* VWR-749: Bandwidth indicator: Kbps, should not have capital k -* VWR-493: Statistics bar, Packet Loss: % sign is doubled -* VWR-493: Objects with 'Linden' in their name can't be muted -* VWR-423: Selecting group charter text causes Apply/Ignore/Cancel popup even if the text wasn't changed -* VWR-240: Cannot input Japanese characters from keyboard on Linux -* SVC-300: Spam upon TP out of Help Island Public, per calling card and landmark - - -Release Notes for Second Life 1.18.2(1) September 19, 2007 -===================================== - -Changes: -* Fix URL handler exploit described here: http://blog.secondlife.com/2007/09/18/second-life-url-handler-exploit/ -* Update voice components to improve quality and address VWR-1532 -* Add name of viewer release channel to embedded browser agent ID string - - -Release Notes for Second Life 1.18.2(0) August 10, 2007 -===================================== - -Bug fixes: -* VWR-1936: Line editor history missing from First Look: Voice -* Adjusted thread priorities and buffering algorithms in SLVoice to improve performance on low-end machines -* Added a DC bias removal filter to SLVoice, which should remove 'popping' artifacts heard with some microphones -* Fixed: Audio devices added to a system after launch of client do not appear in the device menu -* Fixed: The first time opening the prefs window after launch kicks the user out of their voice channel - -Release Notes for Second Life 1.18.1(2) August 2, 2007 -===================================== - -New Features: -* In-World Voice Chat -** In-world Voice Chat is now part of the main viewer. -** You can see and manage all voice settings in Edit > Preferences > Voice Chat. -** Voice is off by default. To enable (and disable) voice, visit Edit > Preferences > Voice Chat and check/uncheck the box beside 'Enable voice chat'. -** 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. -** Push-to-Talk is part of the Voice feature. Push-to-Talk is ON by default, which means Resident mics are OFF by default. -** 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. -* Streaming video support for Linux client. - -Changes: -* Shortcut keys for menu items in the Client & Server menus are now disabled if the menus are hidden. -* Text from objects can be muted. - -Bug fixes: -* VWR-1797: Remove mention of 'Live Help' from Crash Logger -* VWR-1732: Pressing Enter, with multiple inventory objects selected, crashes viewer -* VWR-1729: indra/lscript/lscript_compile/indra.l: avoid yyunput hack on Windows build -* VWR-1723: Possible crash in llvopartgroup -* VWR-1706: Minor quirk (and cleanup) in llfloater.cpp -* VWR-1705: indra/lscript/lscript_compile/indra.y: disable compiler warning #4065 for 'switch' statements -* VWR-1704: indra/llui/files.lst: delete llhtmlhelp.h entry -* VWR-1698: Clean up parcel flag manipulation -* VWR-1655: Script Warnings/errors window is hard to resize, resets size after closing tabs. -* VWR-1646: Possible crash when login server is unavailable. -* VWR-1626: Patch to avoid IM window from resizing when sessions open or close -* VWR-1613: Overuse of virtual -* VWR-1612: LLRenderPass::Pushbatch and LLViewerImage::addTextureStats tuning -* VWR-1586: Mismatched delete in llviewerparcelmgr.cpp -* VWR-1578: Two quirks in IM regarding 'xxxx is typing' -* VWR-1471: Inspect (Pie menu > More > More > Inspect) shows nothing on first use when 'only select own objects' is enabled -* VWR-1470: Buttons (IM, Teleport, Profile, ...) in friends list are disabled when opening friends list window -* VWR-1468: LoginPacketNeverReceived dialog text is incorrect -* VWR-1462: Order of right-click menu on Inventory is confusing -* VWR-1453: A few old-school changes for llviewerregion.cpp -* VWR-1434: Null pointer crash when terraforming -* VWR-1406: Unchecking 'Go Away/AFK when idle' has no effect in 1.17.2.0 -* VWR-1382: Some scripted objects are highlighted in red while pressing Alt with tools open -* VWR-1381: libpng12.a for MacOS X is missing in 1.17.1.0 and build fails. -* VWR-1358: Physical objects remain red if tools window is closed while holding Alt key -* VWR-1358: Physical objects remain red if tools window is closed while holding Alt key -* VWR-1353: Misleading variable names in LLTextEditor -* VWR-1344: Reverse order of popups, so that new ones appear underneath existing ones rather than on top. -* VWR-1318: Selecting Cancel while saving a snapshot to disk still triggers snapshot gesture -* VWR-1314: Multiple selection then individual deselection of attachments broken -* VWR-1294: Possibly threads not fully cleaned up at end of program -* VWR-1289: On logging in, sound volume for stream is low, despite the actual setting in the music control -* VWR-1282: Better error handling when fonts are missing -* VWR-1270: Script error window keeps reverting to a very small size -* VWR-1246: Mac: File menu > Snapshot to Disk lists wrong shortcut key -* VWR-1105: Set internal limit of particle count to max value from GUI preferences. -* 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. -* VWR-727: Torn of IM windows should be minimizable (was re: VWR-233: ... resizeable and minimizable) -* VWR-447: Allow minimized windows to be repositioned in client -* VWR-353: Rebake command - add a keyboard shortcut and put in tools menu -* 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) -* VWR-238: Permissions of Roles and Rights in the german version are mased up. -* VWR-102: md5 slow -* SVC-371: Fix the legibility and grammar/consistency of the new llOwnerSay implementation -* 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 -* Fixed preference for showing or hiding server combo box was not preserved -* Fixed residents with negative L$ balance can't purchase items set for sale 'Original' or 'Copy' that are being sold for L$0 -* 'Copy SLURL to clipboard' is now enabled for an avatar's current coordinates -* Macintosh viewer now correctly opens the map and selects the destination on a SLURL request -* Leading and trailing spaces are now automatically trimmed from parcel media URLs -* Corrected the spacing of the yellow 'next dialog' chevron (was partially blocked by the Mute button) -* Corrected the error message shown when adding 11th Estate Manager -* Added CPU detection for Intel Core Duo/Solo and Intel Core 2 Duo -* 'Set Window Size...' setting is now correctly resumed after being minimized -* Added link to Qa wiki in the viewer bug reporter menu. -* Updated text in Second Life Crash Logger with new support portal information -* Corrected an issue with UI font scaling in the bug reporter window - - -Release Notes for Second Life 1.18.0(6) July 11, 2007 -===================================== -Changes: -* Message system changes to support transport via TCP (HTTP) as well as UDP. -** More details are available here: http://blog.secondlife.com/2006/12/21/a-big-change-youll-barely-notice/ -** And here: http://blog.secondlife.com/2007/06/25/dia-de-la-liberacion/ -* German language added to the Windows installer -* Updated translations for German language viewer -* Updated translations for Japanese language viewer -* Updated translations for Korean language viewer -* Viewer 'channel' (Release, First Look, etc) now visible at login in the lower right corner next to the version number - -Bug fixes: -* Fixed SVC-286: deleted fully-permissive objects owned by others skip trash -* Fixed SVC-251: Death teleport fails when teleporting to a home point you no longer have access to -* Fixed MISC-273: Enrollment fee is incorrectly deducted if you belong to max. # of groups and try to join new ones - - -Release Notes for Second Life 1.17.3(0) July 5, 2007 -===================================== -Changes: -* Added muting for permissions requests -* Added viewer channel info to Help > About Second Life... - -Bug fixes: -* SVC-21: Request for making identification of llOwnerSay messages possible -* VWR-1418: Progressive memory consumption (leak) since 1.17.1 -* VWR-1410: Quirk in net.cpp -* VWR-1351: Violation against the conding standard in llfloaterchat.cpp -* VWR-1203: Avatars eyes are constantly crossing in 1.17 -* VWR-1184: [Linux VWR] Signal 7 (SIGBUS) Error (caused by libtcmalloc) -* 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'. -* VWR-605: Include the SL date & day with the time -* VWR-561: Blurry arrows in camera control and other graphics issues -* VWR-53: Inconsistency in order of AV texture layer between the upper and lower body -* Fixed Top Scripts window not refreshing when button is pressed while Top Colliders list is still open -* Fixed odd text overlay on About Land > General tab -* Fixed format of llOwnerSay chat text - - -Release Notes for Second Life 1.17.2(0) June 27, 2007 -===================================== -Bug fixes: -* VWR-1369: Creating, re-rezzing, then editing an object results in a viewer crash - - -Release Notes for Second Life 1.17.1(0) June 25, 2007 -===================================== -Changes: -* VWR-650: Make 'Give money' permissions look different than the other permissions -* VWR-427: Added new menu item: Tools > Edit Linked Parts -* VWR-79: PNG image support submission -* Sculpties now include a one-time explanation the first time a sculptie is created. -* Client and Server menus now have a one-time dialog box to explain what they are. -* 'Skip 'Show next time' Dialogs...' button added to Preferences > Popups tab to skip all one time dialog boxes. -* Added Japanese and German language installers (Windows only) -* The version of Mozilla used in the client is updated to 1.8.0.12 -* F1 help now opens an external browser to the Second Life support web site. -* F1 Help will now open an external browser to language specific support websites for Japanese, Korean and Portuguese based on client's language. -* Delay added to folder opening while dragging items in an inventory window with a vertical scroll bar. -* Default messages for postcards are replaced when adding text. -* In the Inventory window the Filter menu is consolidated into the File menu. -* The sculptie texture picker UI has changed to differentiate it from the surface texture picker. - -LSL changes: -* Added support for alternate sculptie edge stitching. -* VWR-68: LSL constant expression folding and proper constant parsing - -Bug fixes: -* Fixed MISC-217: Accounts with negative L$ balance can't buy L$0 freebie -* Fixed SVC-306: Objects are visible at <0,0,0> (sometimes before moving to their correct position) -* Fixed SVC-225: Searching for Classifieds with blank field results no results -* Fixed VWR-1339: Asset upload fails for certain saves, eg scripts and appearance -* Fixed VWR-1296: Minor memory leak in lltexturecache.cpp -* Fixed VWR-1223: Camera Controls keyboard shortcuts broke -* Fixed VWR-1221: Possible crash in llfloaterland.cpp / line 1556 -* Fixed VWR-1217: Built-in avatar animations stop suddenly, rather than fading out. (jerky head movement) -* Fixed VWR-1203: Avatars eyes are constantly crossing in 1.17 -* Fixed VWR-1170: LLMuteList::loadFromFile() improperly parses the mute list returned from the service -* Fixed VWR-1140: About Land floater is not resizable, ban and access lists too small -* Fixed VWR-1049: Trivial sizeof() miscalculatuion results in incomplete copying of CPU Brand ID string in CProcessor::AnalyzeAMDProcessor() -* Fixed VWR-1044: Unchecking 'Go Away/AFK When Idle' doesn't work when manually setting Away status -* Fixed VWR-944: Boost inclusion is inconsistent -* Fixed VWR-941: Reading length data for a four-byte Variable template message misstores the length -* Fixed VWR-938: ELFIO is technically optional, make this easy to capitalise on -* 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 -* Fixed VWR-873: Dead members 'eVertexDataMask;' in various objects -* Fixed VWR-856: llvfs.cpp: possible loss of memory blocks in LLVFS:audit() -* Fixed VWR-822: 'Create new...' clothing buttons don't auto-wear items -* Fixed VWR-746: Incorrect menu item referred to when member of maximum number of groups and a group invite is received -* Fixed VWR-660: When turning off Flexible Object rendering, flexible objects become permanently invisible -* Fixed VWR-652: A harmless compiler warning in indra.l.cpp -* Fixed VWR-606: Some source files (llprocessor.cpp and llsdserialize_tut.cpp) contain non-ASCII characters -* Fixed VWR-597: Abuse report tool should autofill abuser name when reporting an object -* Fixed VWR-560: Crash in llscrolllistctl.cpp when sorting scroll list -* Fixed VWR-459: Unicode supplementary characters typed in from keybaord are not handled properly on Windows (and potentially on Linux) -* Fixed VWR-446: Automatically start renaming new user-created assets and automatically select new user-created folders -* Fixed VWR-383: Chat logs do not have timestamps -* Fixed VWR-364: Viewer memory leak -* Fixed VWR-287: Inconsistent behaviour between agent_slide_left / agent_slide_right, and the rest of the movement functions. -* Fixed VWR-251: Keystrokes are eaten by IME when no text input is possible, on Windows using Japanese -* Fixed VWR-248: Inexplicable folding of Avatars such that they are walking around with their heads up their arses -* Fixed VWR-247: Viewer generates undesired dialog when IM comes in while minimized -* 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. -* Fixed VWR-218: SConstruct script makes many assumptions that are invalid outside LL -* Fixed VWR-213: Calling DestroyWindow with NULL window handle (win32 version) -* Fixed VWR-207: Textures become increasingly blurry over time on systems with > ~2GB RAM -* Fixed VWR-143: Compiler errors in llwebbrowserctrl.h -* Fixed VWR-132: seg fault in lldrawpool.cpp -* Fixed VWR-119: Zero missing in Sub-unit snap grid. for small fraction like 1/16 and 1/32 -* Fixed VWR-101: Get rid of 'Return All' -* Fixed Inventory's 'Recent Items' tab settings not persisting across logins -* Fixed line breaks showing up as * in various windows. - -Release Notes for Second Life 1.17.0(12) June 13, 2007 -===================================== -Changes: -* Inventory transfers -** Auto-accept inventory and auto-preview texture/notecard/landmark are now separate preferences. -** Viewing an embedded notecard or landmark no longer adds it to your inventory. -** Muting the sender of notecards, inventory, textures, etc., now removes all blue pop-ups in the upper right corner from that sender. -** Offline inventory transfers and group invites now include the name of the item or group, along with group role, in the email. -* Added 'Clear Browser Cache' button to web prefs. -** This only affects the embedded browser, not any other browsers installed on your system -* Embedded Mozilla browser now supports cookies. -* Preliminary support added to the Windows installer for selecting a language (English, Korean) -* Closing a changed Classified now confirms changes - -Bug fixes: -* Fixed a client crash while in startup -* Fixed group chat reopening with one message and an error after closing group chat -* Fixed 'Stop All Animations' when stuck in an animation after teleporting -* Fixed group messages to allow the use of UTF8 characters -* Fixed 'Show Owners' from automatically turning on again -* Fixed an issue with 'Release Controls' when an object is taken and rerezed. -* Fixed an issue with texture picker not displaying any results unless inventory had been shown -* Fixed chat history to not show muted resident chat -* Fixed 'Mute Resident' button, now opens the user picker -* Fixed group ability settings for group owners in German language viewer -* Fixed embedded Mozilla browser to work with HTTPS sites (affected Windows only) -* Notecards no longer display the 'Keep' and 'Discard' buttons when opened from inventory -* Acquired date is now set for items dragged from the contents of a container prim -* VWR-1040: crash when opening several gestures quickly -* VWR-966: Minor memory leak in llfloaterpreferences.cpp and a tiny leak in llstatup.cpp -* VWR-908: Various memory leaks in the group dialog -* VWR-871: More bad f00d: Two minor (or inconsequential) misses of initializing object members -* VWR-870: Memory violation through uninitialized variable (invisible or unrendered flexis) -* VWR-869: Possible hard-loop (endless, viewer-hang) in script editor -* VWR-827: Toruses are borked after making/editing sculpted prims -* VWR-823: Two unintialized variables in lltexturefetch.cpp -* VWR-822: 'Create new...' clothing buttons don't auto-wear items -* VWR-810: Destructor forgets to delete mFloaterContros member in llui/llview.cpp -* VWR-809: Destructor fails to clean up global menus in llviewermenu.cpp -* VWR-808: Incorrect cleanup in message.cpp -* VWR-807: Forgets to delete gToolInspect in lltoolmgr.cpp -* VWR-804: Quirk in llviewerwindow.cpp -* VWR-805: LLCurl not properly cleaned up -* VWR-765: Cannot open embedded notecards in other notecards when Automatic preview of new notecards/textures/landmarks is off -* VWR-409: New Feature -> UI -> Dialog -> Buy Copy/Contents -> Default Action -> Cancel -* VWR-682: Text Editors should try to preserve X cursor position -* VWR-671: Line editor history for recalling previously typed lines -* VWR-648: Texture picker should highlight the texture in the swatch -* VWR-412: Object editing arrows hidden but clickable on objects you can't edit. -* VWR-364: Viewer memory leak - -Release Notes for Second Life 1.16.0(5) May 23, 2007 -===================================== -New Features: -* Sculpted Prims -** Sculpted Prims are a new primitive type that uses a texture to control its 3D shape -** See http://wiki.secondlife.com/wiki/Sculpted_Prims for FAQ and detailed information -* Add 'Mute' button to block unwanted notecards, landmarks, and textures - -Changes: -* Improved muting of particle systems - -LSL Changes: -* New function: llRegionSay() -** Allows object to communicate region-wide -** Does not allow communication on channel 0 -** This is intended to reduce simulator load by eliminating the need for relay objects - -Bug fixes: -* Text for several alert messages has been updated -* Fixed positioning of maximize button when minimizing both script and lsl window -* Fixed positioning of LSL help window after minimizing/maximizing main script window -* Fixed group chat IM showing sender as the only participant until someone responds -* Fixed group chat IM reopening with an error when sending a message after user closes group chat -* Fixed '... has left the session' when leaving group chat after talking -* Fixed failed email when no subject is included -* Fixed object loss occuring when taking an item -* VWR-657: Beta -> Linux -> Startup -> Crash - -Release Notes for Second Life 1.15.3(0) May 22, 2007 (Server-Only Update) -===================================== -Bug fixes: -* SVC-213: llGiveInventoryList not creating a folder to place items - - -Release Notes for Second Life 1.15.2(0) May 18, 2007 (Server-Only Update) -===================================== -Changes: -* IMs and emails received when inventory is given now include the item name, owner, position and SLURL. -** This is useful to track down spamming objects. - -Bug fixes: -* SVC-85: Friends online in the grid does not reflect who is actually online -* SVC-138: Land sales search sorting doesn't work -* MISC-37: Continued breakdowns in group notice popup functionality -* Teleporting to Help Island no longer allows you to teleport back to Orientation Island -* No-copy objects that fail to rez now reappear in inventory (may require a relog) -* Scripted attachments work again correctly on group land -* Fixed a bug where email sent by script with an empty subject would fail (valid per RFC2822) -* Fixed several server-side memory leaks, and changed to new memory allocation library -* Fixed several server-side crashes - - -Release Notes for Second Life 1.15.1(3) May 14, 2007 -===================================== -Changes: -* Soft shadow for text is now an option available via the text style flag -* Expanded Tools->Report Bug to include additional information and links -* Alt-Left and Alt-Right switch between tabs in IM -* Ctrl-W closes one tab in IM window (Ctrl-T closes IM window) -* Ctrl-Shift-W closes all windows -* Inventory system folders may be sorted to top -* Busy mode declines notecards and textures and silently sends all other transfers to Inventory -* L$ balance displays 'Loading...' (instead of a blank) when first checking your balance -* Minimap is enabled when Second Life runs for the first time -* Texture transfers are limited to 5 items per 10 seconds - -Bug fixes: -* Fixed windows maximizing when opening other windows -* Fixed floating text inworld (original hard shadow restored) -* Fixed LSL Help window restoring when clicking on script editor -* Fixed LSL Wiki Help window forgetting its size -* Fixed Ctrl-W closing the floater instead of one IM panel -* Fixed a client crash when deleting an object from inventory -* Fixed avatar eyeball shader -* Fixed closing an inventory folder while selection is inside moves selection to 'My Inventory' -* Fixed nametag text leaving background box while moving -* Fixed graphics cards with unlisted memory sizes defaulting to 16MB -* Fixed right-clicking on self failing if you are wearing a HUD -* Fixed llSetText appearance on HUD attachments -* Fixed Alt-WASD behavior when sitting -* Fixed first digit in Pay dialog cannot be erased -* Fixed reference ruler measuring to region edge instead of reference object -* Fixed permissions on group-owned object's script when group member clicks New Script -* Improved detection of Linux video memory -* VWR-38: Magic Opening Folders -* VWR-42: llSetSoundQueueing() is broken -* VWR-71: Tabulating and moving by word (Ctrl-left, ctrl-right) off-by-one errors in scripting editor. -* VWR-136: Seg fault in llpolymorph.cpp -* VWR-148: llListStatistics tooltip wrong -* VWR-154: typo in en-US/floater_mute.xml 'Resident' not 'resident' -* VWR-155: typo in en-US/floater_mute.xml 'Resident' not 'Person' -* VWR-165: First Digit in the 'Pay' dialog does not erase without entering more digits -* VWR-166: moving of open folders in the inventory to an other indentation level leaves the contents on the previous level -* VWR-192: textures in windows only stretches horizontally -* VWR-326: Allow a 'limit texture recieving' in the client -* VWR-346: Selecting Client>Character>Flush Animations immediately crashes 1.14.0.x -* VWR-379: Fix shell scripts to use bash and not sh when appropriate. -* VWR-414: 8-bit character in llagent.cpp comment confuses Japanese text editors -* VWR-415: Definitions of WM_MOUSEWHEEL and WHEEL_DELTA need conditionals (on Windows) -* VWR-429: add scons option making FMOD optional - -Release Notes for Second Life 1.15.0(2) April 25, 2007 -===================================== -Changes: -* Improved Help menu with links to additional resources -* 'Add as Friend' button added to Profile -* Added buttons to the IM window to scroll to the first and last tabs -* Added parcel flag for Mature Content -** Parcel searches use the parcel rating instead of the region rating -* Share With Group checkbox is cleared after object is deeded to group -* Groups list window taller and resizable -* Residents are now notified if they are the only ones present in a group IM or conference session -* Rating system removed from Profile -* Group Search improvements -** Searches are done against the full text of the group, including charter -** Search index is updated daily; new groups may take 24 hours to appear -** Clicking on a group found via search still shows up-to-date information -* Alpha textures sorted more accurately -** Example: the hollow inner surface of a sphere will no longer draw on top of the outer surface -** This change may cause content using alpha textures to appear differently -* Larger debug beacons (View > Beacon) -** You can now set the beacon size in Preferences -> Adv. Graphics (Range is 1-127) - -LSL changes: -* LSL Wiki browser embedded in the viewer -** When editing a script, select a keyword, then select Help > LSL Wiki Help. in the Script window -* New function: string llStringTrim(string src, integer trim_type) -** STRING_TRIM_HEAD: trim all leading spaces in src -** STRING_TRIM_TAIL: trim all trailing spaces in src -** STRING_TRIM: trim all leading and trailing spaces in src - -Notes: -* LSL Wiki is not editable from within the Second Life viewer -* PARCEL_FLAG_ALLOW_ALL_OBJECT_ENTRY and PARCEL_FLAG_ALLOW_GROUP_OBJECT_ENTRY flags - were added to llGetParcelFlags()/llSetParcelFlags in a previous release, but not - documented. These will now appear correctly in the script editor. -* On systems with ATI Mobility X300/X600/X700 graphics cards, when upgrading from a previous - version of Second Life, sound may be disabled on the first run of the viewer. It - should function correctly on the second run. -* HUD objects may temporarily appear in the wrong position following a region crossing. - -Bug fixes: -* Removed First Land filter in Search -* Improved performance of inventory operations -* Improved recognition of some processor types -* Fixed About Land reporting the wrong parcel when teleporting between estates -* Fixed a source of stalled Pending Uploads -* Fixed Texture Repeats Per Face rounding incorrectly when tabbing between fields -* Fixed objects appearing in two places while moving in editor -* Fixed a client crash with some mobile ATI chipsets -* Fixed button images when first running SL -* Fixed selecting group roles not updating UI -* Fixed avatar names not appearing when Show Avatar Names Temporarily is enabled -* Fixed New IM showing (nobody) for group names -* Fixed task email failing between regions -* Fixed broken embedded landmarks when editing their notecard -* Fixed a case where you could not modify your modifiable object -* Fixed attachments disappearing a minute after teleport -* Fixed ability to set Mature on parcels in non-Mature regions -* Fixed saving changes to notecards in contents -* Fixed HUD positioning guide misaligning when UI Size changed -* Fixed a case where no-copy objects could be lost during rez -* Fixed textures in windows only stretching horizontally -* Fixed texture animation rotation changing when Flip is enabled -* Fixed erroneous 'User has left this session' messages -* Fixed display bug with a cube with Path Cut Begin/End set to .150 -* Fixed disappearing alpha HUD prims -* Fixed menu bar processing keystrokes when moused over -* Fixed detached IM windows not resizing -* Fixed animated textures when using llSetColor, llSetLinkColor, or PRIM_PROPERTIES -* Fixed HUD object movement when logging in at a no-script area -* Fixed HUD objects not loading new textures -* Fixed HUD objects becoming invisible the first time they are attached from inworld -* Fixed 'IM All Contacts In Folder' -* Fixed a viewer crash in the name cache -* Fixed Undo resetting position only on root prim -* Fixed Texture Picker search not showing results -* Fixed IM window reverting to default size -* Fixed overriding stand-up animation freezing you in place -* Fixed Appearance mode showing back of avatar -* Fixed: VWR-14: Inconsistency with reading binary data in llpolymesh.cpp -* Fixed: VWR-45: trivial patch, initialize variables -* Fixed: VWR-94: Buffer overflow in decoding image. -* Fixed: VWR-97: Several iterator bugs in llmessage -* Fixed: VWR-100: Messages form OpenJPEG only in debug mode -* Fixed: VWR-109: Characters from fallback fonts don't scale properly -* Fixed: VWR-123: OpenJPEG meta decode, Second Life patches -* Fixed: VWR-130: llimagejpeg.h remove jinclude.h -* Fixed: VWR-144: HUD and possibly other alpha touch area problems -* Fixed: VWR-188: Patch: Refactor options handling in SConstruct -* Fixed: VWR-198: Missing line of code in source on FFSAVE_WAV -* Fixed: VWR-200: money(); events in a linked sets fail to trigger -* Fixed: VWR-261: lldir_mac.cpp @brief description is wrong - - -Release Notes for Second Life 1.14.0(1) March 30, 2007 -===================================== -Fixes: -* Fixed: When going to recent items tab in inventory, inventory contents do not download -* Fixed: Crash in llvlcomposition -* Fixed: VWR-200: money(); events in a linked sets fail to trigger -* Fixed: VWR-109: Characters from fallback fonts don't scale properly -* Fixed: VWR-100: Messages form OpenJPEG only in debug mode -* Fixed: VWR-97: Several iterator bugs in llmessage -* Fixed: VWR-45: trivial patch, initialize variables -* Fixed: VWR-14: Inconsistancy with reading binary data in llpolymesh.cpp - -Release Notes for Second Life 1.14.0(0) March 27, 2007 -===================================== -New feature: -* Linux client features embedded Mozilla - -Changes: -* Texture Pipeline Architecture -** Significant redesign of texture pipeline -** Improved texture caching -** Unlimited texture cache size -** Cache location can be changed -** Textures from last scene are pre fetched, improving loading speed of inital scene -* Render Pipeline Architecture -** Significant changes to render pipeline -** Introduction of Vertex Buffer Objects for improved stability -** Better batching of geometry for improved render performance (on some systems) -** Alpha sorting changes to improve performance -** Modified texture animations to use hardware acceleration -** Light objects now affect themselves. -*** NOTE: This may cause some objects that are lights to 'wash out' requiring some content to be adjusted -* Setting an object for sale enables 'Buy Copy' by default instead of 'Buy Original' -* User inworld money transaction history floater removed -** Transaction history can be viewed via secondlife.com -* Moving your avatar no longer deselects objects in build mode automatically -* Removed old reference to Announcements forum in a login error message -* Added Port setting in preferences to specify UDP port (ala -port argument) -* Added setting to change cache location -* Added 'Empty Lost and Found' option -* Added 'Use Custom Port' option to Preferences to specify network port -* Objects set for sale are Buy Copy by default (instead of Buy Original) -* Increased Classified's maximum L$ payable from 99999 to 999999 -* Added '?' button next to Partner field explaining partnering -** Added display that shows intersection of prims with translation plane when building. - -LSL changes: -* New script commands -** void llSetLinkPrimitiveParams( integer linknumber, list rules ) -** void llSetLinkTexture( integer linknumber, string texture, integer face ) -* More documentation is available using Help > Scripting Guide... -* The following 4 particle commands have been deprecated for some time, and are now approximated by llParticleSystem -** llMakeExplosion http://wiki.secondlife.com/wiki/LlMakeExplosion -** llMakeFire http://wiki.secondlife.com/wiki/LlMakeFire -** llMakeFountain http://wiki.secondlife.com/wiki/LlMakeFountain -** llMakeSmoke http://wiki.secondlife.com/wiki/LlMakeSmoke - -Bug fixes: -* Fixed texturing all sides of multi-prim object failing under high latency -* Fixed sitting avatar standing when clothes are dragged onto the avatar -* Fixed llGiveInventoryList spamming owner with messages -* Fixed group members ability to set home to land only set to group (not deeded) -* Fixed objects from library being placed back in Library after editing -* Fixed loss of no-copy textures when applied to a prim -* Fixed delivery of Email to IM messages greater than 998 characters -* Fixed attachments leaving inventory after detaching -* Fixed Alt-menu taking focus after Alt-zooming -* Fixed menus not closing when something else is clicked -* Fixed Friends list not showing online friends on login if 'Can see my online status' is disabled -* Fixed World -> Buy Land menu failures -* Fixed LSL email converting numbers in the email body to 0 -* Fixed focus issues when closing a window -* Fixed closed status of folders when opened in inventory -* Fixed a method of sitting on other avatars -* Fixed double-clicking on TOS switching to a different text display -* Fixed rezzed objects appearing at <0,0,0> if you have create rights but do not wear your title -* Fixed Offer Teleport appearing in your own profile -* Fixed Ctrl-P failing to open Preferences if Inventory has focus -* Fixed ability to set sale info on no-modify items -* Fixed ability to further limit permissions on items if they are already no-modify -* Fixed Object Entry rules also preventing rezzing from inventory -* Fixed single-click behavior for objects -* Fixed object selection while crossing region boundary -* Fixed textures leaving their window when resized -* Fixed single items being created in tabbed windows -* Fixed menus not closing when clicked a second time -* Fixed resizing of landmarks -* Fixed textures being applied to all sides when using Select Texture -* Fixed objects not deleting if they contain no-copy items -* Fixed Pay dialog while in busy mode -* Fixed loss of no-copy objects when using llGiveInventory() on a busy avatar -* Fixed script editor not regaining focus when function dropdown is used -* Fixed opening multiple inventory items not using tabbed windows -* Fixed a client crash when opening multiple inventory items (including a script) -* Fixed notecards opened in a tabbed window extending outside the preview window -* Fixed blurry web browser widgets when UI Scale is not 1.0 -* Fixed focus not moving to next window when using Ctrl-W on detached IMs or Appearance -* Fixed Ctrl-W not closing snapshot floater -* Fixed widget overlap in group proposal tab of a searched group -* Fixed a client crash when deleting objects -* Fixed Capslock key detection -* Fixed context menu for items in an object -* Fixed avatar animations not changing when editing an attachment -* Fixed object counts in About Land changing when object loses focus -* Fixed ESC key behavior (closing tools and resetting camera) -* Fixed obscured status bar when debug is off -* Fixed client crash in People Search with Picks tab -* Fixed incorrect prim count in Buy dialog when using prim multipliers -* Fixed build button on toolbar remaining disabled when Create Objects is set to group -* Fixed a client crash while taking an object -* Fixed a script runtime error when using a list inside a while or do-while loop -* Fixed renaming a no-copy clothing item failing during Make New Outfit -* Fixed objects failing to attach when selected from a distance -* Fixed rare texture swapping on Mac -* Fixed non-Latin characters such as Japanese Kanji appearing as small square dots -* Fixed textures in the distance not reducing priority -* Avatars out of view are no longer animated - -Release Notes for Second Life 1.13.4(59510) March 22, 2007 -===================================== -Changes: -* Legacy particle system replacements -* 'Share with Group' checkbox now cleared when deeding objects - -Bugs Fixed: -* Fixed llParticleSystem( [] ) not shutting down reliably -* Fixed SVC-48: llSetScriptState is failing in some tasks -* Fixed SVC-47: llSetPrimitiveParameters with multiple setposition calls capped at 10m, affecting home made TPs -* Fixed SVC-15: Random Prim Drift - -Release Notes for Second Life 1.13.4(59329) March 16, 2007 -===================================== -Changes: -* Replaced deprecated legacy particle systems (llMakeExplosion, llMakeFire, llMakeSmoke, llMakeFountain) - with llparticleSystem approximations - -Release Notes for Second Life 1.13.4(8) March 12, 2007 -===================================== -Bug fixes: -* Fixed picks not appearing with older viewer -* Fixed money() event failing to fire in a linked set - -Release Notes for Second Life 1.13.4(7) March 9, 2007 -===================================== -Changes: -* World -> Account History opens L$ transaction history instead of US$ transaction history - -Bug fixes: -* Fixed a simulator crash with llParcelDetails -* Fixed flex objects vanishing when LOD changes -* Fixed flex objects not updating when modified -* Fixed flex objects disappearing when linked -* Fixed repositioning of HUD attachments when viewer is resized -* Fixed objects copied to/from notecards stating they are missing from database - -Release Notes for Second Life 1.13.4(6) March 8, 2007 -===================================== -Changes: -* Light emiting objects are now affected by their own light - -Fixes: -* Offline IMs now appear upon login -* Fixed autoupdate on Mac viewers -* Fixed Capslock key detection -* Fixed llSetLinkPrimitiveParams to move specified child prim -* Fixed linux client mozilla runtime -* Fixed texture animations to ignore texture 'Flip' flags -* Fixed animated textures with texture offset enabled -* Fixed attachments becoming disembodied when attaching an object -* Fixed a viewer crash that occurs when opening a script in a prim -* Fixed classifieds being deleted instead of auto-renewing -* Fixed jerky/stuttering physics based movement for hover vehicles -* Fix for paying child prim not triggering money event. - - -Release Notes for Second Life 1.13.3(58877) March 6, 2007 -===================================== -Fixes: -* Fix for animated textures ignoring texture offset. -* Fix for animated textures not ignoring flip flags. -* Fix for light emitting objects not being lit by their own light. -* Fix for Textures not being applied to the entire prim -* Fix for Viewer occasionally getting stuck in drag select mode -* Fix for Client crashes when deleting objects -* Fix for Pay dialog is corrupted when attempting to pay while in busy mode -* Fix for Not able to delete objects which contain no copy items - - -Release Notes for Second Life 1.13.4(5) March 6, 2007 -===================================== -Bug fixes: -* Fixed 'Select Texture' applying changes to all sides -* Fixed textures resizing outside their window -* Fixed object rezzing being affected by Object Entry rules instead of Create Object rules -* Fixed drag select mode sticking after mouse button release -* Fixed a client crash when viewing objects -* Fixed content icon for sounds and animations added to an object -* Fixed texture request for textures quickly cycling between visible and not visible -* Fixed several failure cases for offline IM-to-email -* Fixed retrieval of group member list -* Fixed landmark resizing after tear-off -* Fixed ability to delete objects containing no-copy items -* Fixed single items being created in tabbed window - - -Release Notes for Second Life 1.13.4(4) February 28, 2007 -===================================== -Changes: -* Moving your avatar no longer deselects objects in build mode automatically - -Bug fixes: -* Fixed edit crosshairs moving while crossing region boundary -* Fixed text entry in Mac/Linux embedded browser - -Release Notes for Second Life 1.13.4(3) February 26, 2007 -===================================== -Bug fixes: -* Fixed single-click failure for objects -* Fixed status bar obscured when debug is off -* Fixed escape key behavior -* Fixed strange object counts in About Land when no parcel selected -* Fixed avatar animations when editing an attached object -* Fixed Offer Teleport appearing in your own profile -* Fixed incorrect date display in group notices - -Release Notes for Second Life 1.13.4(2) February 26, 2007 -===================================== -Bug fixes: -* Clicking a menu a second time closes the menu -* Fixed closing a blue dialog closes all dialogs -* Fixed retrieval of archived group proposals -* Fixed Ctrl-P shortcut failing when inventory has focus -* Fixed objects using llGiveInventoryList spamming owner when recipient is Busy -* Fixed no copy objects disappearing when given via llGiveInventory to a Busy avatar - -Release Notes for Second Life 1.13.4(1) February 21, 2007 -===================================== -Changes: -* User inworld money transaction history floater removed -** Transaction history can be viewed via secondlife.com -* Added 'Empty Lost and Found' option -* Added 'Use Custom Port' option to Preferences to specify network port -* Objects set for sale are Buy Copy by default (instead of Buy Original) -* Increased Classified's maximum L$ payable from 99999 to 999999 -* Added '?' button next to Partner field explaining partnering - -LSL changes: -* New script commands -** void llSetLinkPrimitiveParams( integer linknumber, list rules ) -** void llSetLinkTexture( integer linknumber, string texture, integer face ) -* More documentation is available using Help > Scripting Guide... - -Bug fixes: -* Fixed taken items not appearing until relog -* Fixed friends list abilities not being applied to friends -* Fixed objects failing to attach when selected from a distance -* Fixed replies to offline IM-to-email messages -* Fixed renaming a no-copy clothing item during Make New Outfit -* Fixed rezzed objects appearing at (0,0,0) if you have create rights, but are not wearing your title -* Fixed modify for gestures/notecards in a prim -* Fixed incorrect context menus for items in an object -* Fixed confirmation dialog when uploading immages, sounds, animations, or snapshots -* Fixed a viewer crash while taking an object -* Fixed a viewer crash after modifying a script inside a prim -* Fixed a viewer crash in People search with Picks tab -* Fixed a script runtime error (list inside a while/do-while loop) -* Fixed login screen not loading unless cache is cleared -* Fixed Ctrl-W not closing snapshot floater -* Fixed Ctrl-W not giving focus to next window -* Fixed Search->Places not showing public estate parcels while on private estate -* Fixed LSL converting numbers in body of email to 0 -* Fixed rejection of avatars as sit targets -* Fixed blurry web browser widgets with UI Scale != 1.0 -* Fixed notecards opened in tabbed windows extending outside the preview window -* Fixed opening multiple object inventory items not using tabbed windows -* Fixed accidental selection of highly transparent objects -* Fixed keyboard focus after selecting function dropdown in script editor -* Fixed Build button in toolbar disabled on land where 'Create Objects' is set to group, even when avatar is in the correct group -* Fixed Buy Dialog displays incorrect Prim Count when using prim multipliers -* Fixed folders not retaining their closed status once opened in inventory -* Fixed IMs of type IM_BUSY_AUTO_RESPONSE ignore mute -* Fixed World->Buy Land menu failures -* Fixed Friends list not displaying online friends on login if 'Can see my online status' is disabled -* Fixed menus remaining open when something else is clicked -* Fixed menus taking focus when leaving alt-zoom -* Fixed accidental loss of no-copy textures by applying them to a prim -* Fixed members of a group cannot set their home location when land is only set to a group and not deeded -* Fixed sitting avatar standing up when close are dragged onto the avatar - -Linux client fixes: -* Added Linux embedded Mozilla client -* Fixed Linux client crash on shutdown - -Release Notes for Second Life 1.13.3(2) January 30, 2007 -===================================== -Changes: -* It is no longer possible to only search for online residents -* Online status is no longer indicated in the Search -> People results list -** The online status inside the profile shows 'Currently Online' or remains blank -*** Friends can see your Online status if you give permission via the Friends list -*** Anyone can see your Online status if 'Make my online status visible only to my Friends' is unchecked - -Release Notes for Second Life 1.13.3(58716) March 1, 2007 - -Fixes: -* Fix for: Textures that quickly cycle between visible and not visible never getting successfully requested -* Fix for: Textures applied via 'Select Texture' are applied to all sides. -* Fix for: Object selection moves to the next sim when crossing region boundary while objects are selected -* Fix for: Landmarks window can be resized -* Fix for: Textures should remain within their window when the viewer is resized -* Fix for: Single items are being created in a tabbed window -* Fix for: 'linux mozilla embedding support should be compile-time optional' - -Beta Grid Only: -* Fix for: Object Entry rules block rezing of objects. - -Release Notes for Second Life 1.13.3(58603) March 1, 2007 - -Changes: -(Note: this change was introduced several versions ago be we forgot to put this in the release notes) -* The following 4 particle commands have been deprecated for some time, and no longer work: -** llMakeExplosion http://wiki.secondlife.com/wiki/LlMakeExplosion -** llMakeFire http://wiki.secondlife.com/wiki/LlMakeFire -** llMakeFountain http://wiki.secondlife.com/wiki/LlMakeFountain -** llMakeSmoke http://wiki.secondlife.com/wiki/LlMakeSmoke -** Please use llParticleSystem (http://wiki.secondlife.com/wiki/LlParticleSystem) instead. -* Set the executable name back to SecondLifeFirstLook.exe (1.13.3(58537) inadvertently set it to SecondLifePreveiw.exe - -Fixes: -* Fixed a bug with image requests, should reduce the latency when loading uncached images -* Rediced frame rate spikes when spinning. -* Fixed bad normals on tapered geometry. -* Fix for bump maps not taking effect immediately. -* Fix for animated texture coordinates not resetting when animation stops. - -Release Notes for Second Life 1.13.3(58537) February 27, 2007 - -Changes: -* Modified texture animations to use hardware acceleration -* Improved framerate when rotating in certain areas that were lagging - -From the main development branch since 1.13.3.2 -(note: some of these were introduced in previous First Look releases) - -Changes: -* User inworld money transaction history floater removed -** Transaction history can be viewed via secondlife.com -* Added 'Empty Lost and Found' option -* Added 'Use Custom Port' option to Preferences to specify network port -* Objects set for sale are Buy Copy by default (instead of Buy Original) -* Increased Classified's maximum L$ payable from 99999 to 999999 -* Added '?' button next to Partner field explaining partnering - -Bug fixes: -* Fixed single-click failure for objects -* Fixed status bar obscured when debug is off -* Fixed escape key behavior -* Fixed strange object counts in About Land when no parcel selected -* Fixed avatar animations when editing an attached object -* Fixed Offer Teleport appearing in your own profile -* Fixed incorrect date display in group notices -* Clicking a menu a second time closes the menu -* Fixed closing a blue dialog closes all dialogs -* Fixed retrieval of archived group proposals -* Fixed Ctrl-P shortcut failing when inventory has focus -* Fixed objects using llGiveInventoryList spamming owner when recipient is Busy -* Fixed no copy objects disappearing when given via llGiveInventory to a Busy avatar -* Fixed taken items not appearing until relog -* Fixed friends list abilities not being applied to friends -* Fixed objects failing to attach when selected from a distance -* Fixed replies to offline IM-to-email messages -* Fixed renaming a no-copy clothing item during Make New Outfit -* Fixed rezzed objects appearing at (0,0,0) if you have create rights, but are not wearing your title -* Fixed modify for gestures/notecards in a prim -* Fixed incorrect context menus for items in an object -* Fixed confirmation dialog when uploading immages, sounds, animations, or snapshots -* Fixed a viewer crash while taking an object -* Fixed a viewer crash after modifying a script inside a prim -* Fixed a viewer crash in People search with Picks tab -* Fixed a script runtime error (list inside a while/do-while loop) -* Fixed login screen not loading unless cache is cleared -* Fixed Ctrl-W not closing snapshot floater -* Fixed Ctrl-W not giving focus to next window -* Fixed Search->Places not showing public estate parcels while on private estate -* Fixed LSL converting numbers in body of email to 0 -* Fixed rejection of avatars as sit targets -* Fixed blurry web browser widgets with UI Scale != 1.0 -* Fixed notecards opened in tabbed windows extending outside the preview window -* Fixed opening multiple object inventory items not using tabbed windows -* Fixed accidental selection of highly transparent objects -* Fixed keyboard focus after selecting function dropdown in script editor -* Fixed Build button in toolbar disabled on land where 'Create Objects' is set to group, even when avatar is in the correct group -* Fixed Buy Dialog displays incorrect Prim Count when using prim multipliers -* Fixed folders not retaining their closed status once opened in inventory -* Fixed IMs of type IM_BUSY_AUTO_RESPONSE ignore mute -* Fixed World->Buy Land menu failures -* Fixed Friends list not displaying online friends on login if 'Can see my online status' is disabled -* Fixed menus remaining open when something else is clicked -* Fixed menus taking focus when leaving alt-zoom -* Fixed accidental loss of no-copy textures by applying them to a prim -* Fixed members of a group cannot set their home location when land is only set to a group and not deeded -* Fixed sitting avatar standing up when close are dragged onto the avatar - -Linux client fixes: -* Added Linux embedded Mozilla client -* Fixed Linux client crash on shutdown - -Release Notes for Second Life 1.13.3(58390) February 23, 2007 - -Fixes: -* Fix for HUD objects being invisible on attach -* Fix for HUD objects not repositioning -* Fix for attachments getting left behind -* Fix for flexible objects not updating on modification. -* Fix for slow scrolling textures and tiny prims being invisible. -* Fix for not being able to change viewer language in firstlook -* Fix for Viewer crash when switching between full screen and windowes with multiple threads -* Fix for additional texture bandwidth usage in First look -* Fix for low detail terrain textures failing to load -* Fix for picking through transparent objects. -* Fix for Lighting turning bright orange or red intermittantly in rendering pipeline focus preview. -* Fix for dismissing one blue dialogs dismisses all blue dialogs -* Fix for Avatar not changing anmations while editing an attached object -* Fix for Object counts in About Land change when floater loses focus -* Fix for clicking a menu a second time not closing it -* 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) -* Fix for crash on 945G when editing objects. - -Release Notes for Second Life 1.13.3(58185) February 20, 2007 - -Changes: -* Fixed a texture prioritization bug -* Sped up texture cache maintenance on startup - -Bug fixes: -* Fixed accidental loss of no-copy texture when applied to a prim -* Fixed incorrect context menu for items inside an object -* Fixed Linux client crash on startup -* Fixed Ctrl-W failing to give focus to the next window -* Fixed renaming no-copy object during Make New Outfit -* Fixed group members cannot set home when land is Set to group but not deeded -* Lost and Found now has an Empty folder option - -Release Notes for Second Life 1.13.3(58100) February 16, 2007 - -New feature: -* Linux client features embedded Mozilla - -Changes: -* Texture Pipeline Architecture -** Significant redesign of texture pipeline -** Improved texture caching -** Unlimited texture cache size -** Texture cache can be relocated -* Render Pipeline Architecture -** Significant changes to render pipeline -** Introduction of Vertex Buffer Objects for improved stability -** Better batching of geometry for improved render performance (on some systems) -** Alpha sorting changes to improve performance -* Added display that shows intersection of prims with translation plane when building. -* Objects set for sale default to 'Buy Copy' instead of 'Buy Original' - -Bug fixes: -* Fixed a viewer crash when taking an object -* Fixed viewer not loading after logout if cache is not cleared -* Closing window passes focus to the next window -* Fixed blurry web browser widgets -* Fixed notecards in tabbd window extending outside the preview window -* Fixed web browser widgets blurred when UI scale != 1.0 -* Updated link to Help -> Scripting Wiki -* Fixed viewer crash when opening a script at the same time as other inventory objects -* Fixed Build not enabling for group members on land where only group members can build -* Fixed World -> Buy Land menu failures -* Fixed menus not closing when other things are clicked -* Fixed objects rezed from Library, edited, and taken to inventory being placed in Library - - -Release Notes for Second Life 1.13.3(58018) February 14, 2007 - -Changes: -* Removed particle throttling; while a performance win in some areas, caused too many bad artifacts - -Fixes: -* VWR-108 Fix for out of bounds error in avatar vertex shader attribute array. -* Fix for toggling selection beam -* Fix for LOD issues with small objects. -* Fix for planar guide grid swimming around in local grid mode. -* Fxed Texture priorities when turning around in place - -Release Notes for Second Life 1.13.3(57947) February 13, 2007 - -Changes: -Significant changes to texture prioritization - -Fixes: -Fix for object flicker. -Fix for HUD objects not moving properly when viewer is resized. -Fix for scale handles not updating on mouse drag. -Fix for undo not working. -Fix for dark foot shadows. -Fix for tree picking alpha threshold too low. -Fix for stars staying out during the day. - -Release Notes for Second Life 1.13.3(57876) February 9, 2006 - -Changes: -Improved LOD and alpha sorting -Improved edits reverting with linked objects - -Fixes: -* Fixed a few crashes -* 'Clear Cache' was failing if the cache location was on a changed -* 'Clear Cache' was not deleting the texture cache on OSX -* Some Textures were never caching correctly - -Release Notes for Second Life 1.13.3(57837) February 8, 2006 - -Fixes: -* 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 -* Fixed a bug where 'skip this message' settings were not being remembered -* Fixed several particle bugs, including some OSX specifix ones -* Fixed several crash bugs - -Release Notes for Second Life 1.13.3(57787) February 7, 2006 - -Notes: -* This release will clear the cache on startup to eliminate potentially corrupt caches -Changes: -* Reduced the frequency of drag-edit updates to reduce the likelihood of changes reverting due to missed updates -Fixes: -* Fixed a bug where small flexi objects were sometimes stuck floating around an avatar -* Fixed a significant memory leak -* Fixed some issues with the texture cache -* Fixed a bug where textures that were partially mapped to objects were not rezing -* Fixed several crash bugs -* Wind volume slider now takes effect immediately - -Release Notes for Second Life 1.13.3(57679) February 5, 2006 -Fixes: -* Fix: Animating textures (using llSetTextureAnim) do not update their pixel area -* Fix for disappearing hud objects. -* Fix for yellow avatars on some ATI cards. -* Fix for flexi LOD issues -* Fix for stars visible with 'Force Sun' -* Several crash bugs fixed -Fixes not specific to 'First Look' -* Fix for library objects returning to library after being taken from world -* Added help button for partner info in profile panel -* Added inventory cache verification to reduce bugs due to cache corruption - -Release Notes for Second Life 1.13.2(57573) February 1, 2006 - -Fixes: -* Fixed: Chat text fadeout bug -* Fixed: Yellow fog in snapshots -* Fixed: Hardware detection incorrect for ATI X1900 and other cards -* Fixed: Several crash bugs -* Fixed: Missing login screen -* Fixed: Avatar preview in image update missing - -Release Notes for Second Life 1.13.2(57463) January 30, 2006 - -Changes: -* Cache location can be set by residents -* Textures from last scene are pre fetched, improving loading speed of inital speed - -Fixes: -* Fixed: Avatars seated on objects don't move with objects -* Fixed: More issues with prim selection silhouettes -* Fixed: HUDS with transparent textures disappear when camera goes underwater -* Fixed: Slowdown rendering Alpha objects -* Fixed: Client crashes attempting to move a HUD attachment - -Release Notes for Second Life 1.13.2(57270) January 26, 2006 -Changes: -Added display that shows intersection of prims with translation plane when building. -Fixes: -* Fixed crash when changing lighting detail. -* Fixed silhouette highlight render bug. - -Release Notes for Second Life 1.13.2(57208) January 25, 2006 -Changes: -* IMPORTANT: 'First Look' now maintains its own settings. When this version is installed, settings will all be set to default values. -* IMPORTANT: Uninstalling 'First Look' will no longer remove any user settings -* More optimizations -* Stability improvements -Fixes: -* Fixed bright red/orange ambient lighting at night -* Fixed right-clicking on avatar names -* Fixed LOD flicker on trees -* Fixed missing avatar from upload window -* Fixed bug with HUD attachments not appearing or rezing at the correct resolution -* Fixed bug wit llSetPos -* Fixed prim selection silhouettes -* Fixed white invisiprim bug -* Fixed smoke texture bug -* Fixed alpha sorting issues -* Fixed Highlight Transparent - -Release Notes for Second Life 1.13.2(56900) January 18, 2006 -Changes: -* More framerate improvements -* Improved texture LOD calculation -* 'Enable VBO' option now defaults to on in most cases, and no longer conflicts with similar trunk version option -Fixes: -* Appearance of other avatars not changing -* Shiny Brightness and Darkness don't work -* Shiny doesn't work on black objects -* Textures are failing to load to 100% clarity when repeats per face is less than 1.00 -* Low res 'cutout' images not transparent - -Release Notes for Second Life 1.13.1(56671) January 11, 2006 -Changes: -* Texture Pipeline Architecture -** Significant redesign of texture pipeline -** Improved texture caching -** Unlimited texture cache size -* Render Pipeline Architecture -** Significant changes to render pipeline -** Introduction of Vertex Buffer Objects for improved stability -** Better batching of geometry for improved render performance (on some systems) -** Alpha sorting changes to improve performance -** Better particle system limits - 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" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,19,1,2 - PRODUCTVERSION 1,19,1,2 + FILEVERSION 1,19,1,3 + PRODUCTVERSION 1,19,1,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -249,12 +249,12 @@ BEGIN BEGIN VALUE "CompanyName", "Linden Lab" VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "1.19.1.2" + VALUE "FileVersion", "1.19.1.3" VALUE "InternalName", "Second Life" VALUE "LegalCopyright", "Copyright 2001-2008, Linden Research, Inc." VALUE "OriginalFilename", "SecondLife.exe" VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "1.19.1.2" + VALUE "ProductVersion", "1.19.1.3" END END 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] Möchten Sie alle Objekte auf dieser Parzelle, -die NICHT dem Einwohner '[NAME]' gehören, +die dem Einwohner '[NAME]' gehören, in das jeweilige Inventar ihrer Eigentümer transferieren? Objekte: [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 @@