From 8241b4d734ad553948c801164f5d2cd5fee1becd Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Fri, 15 Aug 2008 23:45:18 -0500 Subject: Second Life viewer sources 1.18.5.3 --- linden/indra/llcommon/llversionviewer.h | 2 +- linden/indra/llui/lltexteditor.cpp | 2 +- .../indra/newview/English.lproj/InfoPlist.strings | 4 +- linden/indra/newview/Info-SecondLife.plist | 2 +- linden/indra/newview/llpaneldirfind.cpp | 35 +++++++++++----- linden/indra/newview/llpanelplace.cpp | 7 ---- linden/indra/newview/llwebbrowserctrl.cpp | 13 +++--- .../newview/macview.xcodeproj/project.pbxproj | 9 ++-- linden/indra/newview/releasenotes.txt | 49 +++++++++------------- linden/indra/newview/res/newViewRes.rc | 8 ++-- 10 files changed, 66 insertions(+), 65 deletions(-) diff --git a/linden/indra/llcommon/llversionviewer.h b/linden/indra/llcommon/llversionviewer.h index e24c38b..1df8a89 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 = 18; const S32 LL_VERSION_PATCH = 5; -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/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp index 1f13bbb..200cf29 100644 --- a/linden/indra/llui/lltexteditor.cpp +++ b/linden/indra/llui/lltexteditor.cpp @@ -4202,7 +4202,7 @@ BOOL LLTextEditor::findHTML(const LLString &line, S32 *begin, S32 *end) m2 = line.substr(*begin,(m1 - *begin)).find("http"); m3 = line.substr(*begin,(m1 - *begin)).find("secondlife"); - LLString badneighbors=".,<>/?';\"][}{=-+_)(*&^%$#@!~`\t\r\n\\"; + LLString badneighbors=".,<>?';\"][}{=-+_)(*&^%$#@!~`\t\r\n\\"; if (m2 >= 0 || m3>=0) { diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings index 9dfdda9..da89514 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.18.5.2"; -CFBundleGetInfoString = "Second Life version 1.18.5.2, Copyright 2004-2007 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 1.18.5.3"; +CFBundleGetInfoString = "Second Life version 1.18.5.3, Copyright 2004-2007 Linden Research, Inc."; diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist index fac66b8..427651c 100644 --- a/linden/indra/newview/Info-SecondLife.plist +++ b/linden/indra/newview/Info-SecondLife.plist @@ -32,7 +32,7 @@ CFBundleVersion - 1.18.5.2 + 1.18.5.3 CSResourcesFileMapped diff --git a/linden/indra/newview/llpaneldirfind.cpp b/linden/indra/newview/llpaneldirfind.cpp index 591f06d..3dd419f 100644 --- a/linden/indra/newview/llpaneldirfind.cpp +++ b/linden/indra/newview/llpaneldirfind.cpp @@ -182,23 +182,36 @@ void LLPanelDirFindAll::search(const std::string& search_text) // Replace spaces with "+" for use by Google search appliance // Yes, this actually works for double-spaces // " foo bar" becomes "+foo++bar" and works fine. JC - std::string query = search_text; - std::string::iterator it = query.begin(); - for ( ; it != query.end(); ++it ) + + // Since we are already iterating over the query, + // do our own custom escaping here. + + // Our own special set of allowed chars (RFC1738 http://www.ietf.org/rfc/rfc1738.txt) + const char* allowed = + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + "0123456789" + "-._~$+!*'()"; + + std::string query; + std::string::const_iterator it = search_text.begin(); + for ( ; it != search_text.end(); ++it ) { if ( std::isspace( *it ) ) { - *it = '+'; + query += '+'; + } + else if(strchr(allowed,*it)) + { + // The character is in the allowed set, just copy it + query += *it; + } + else + { + // Do escaping + query += llformat("%%%02X", *it); } } - // If user types "%" into search, it builds a bogus URL. - // Try to work around that. It's not a security problem - // as far as I can tell -- we MySQL escape database queries - // on the server. Do this after "+" substitution because - // "+" is an allowed character. - query = LLURI::escape(query); - std::string url = gSavedSettings.getString("SearchURLQuery"); std::string substring = "[QUERY]"; url.replace(url.find(substring), substring.length(), query); diff --git a/linden/indra/newview/llpanelplace.cpp b/linden/indra/newview/llpanelplace.cpp index 8825ce7..a05f712 100644 --- a/linden/indra/newview/llpanelplace.cpp +++ b/linden/indra/newview/llpanelplace.cpp @@ -390,13 +390,6 @@ void LLPanelPlace::onClickTeleport(void* data) void LLPanelPlace::onClickMap(void* data) { LLPanelPlace* self = (LLPanelPlace*)data; - LLView* parent_viewp = self->getParent(); - if (parent_viewp->getWidgetType() == WIDGET_TYPE_FLOATER) - { - LLFloater* parent_floaterp = (LLFloater*)parent_viewp; - parent_floaterp->close(); - } - if (!self->mPosGlobal.isExactlyZero()) { gFloaterWorldMap->trackLocation(self->mPosGlobal); diff --git a/linden/indra/newview/llwebbrowserctrl.cpp b/linden/indra/newview/llwebbrowserctrl.cpp index 879d229..7fedc4c 100644 --- a/linden/indra/newview/llwebbrowserctrl.cpp +++ b/linden/indra/newview/llwebbrowserctrl.cpp @@ -66,8 +66,8 @@ LLWebBrowserCtrl::LLWebBrowserCtrl( const std::string& name, const LLRect& rect mIgnoreUIScale( true ), mAlwaysRefresh( false ) { - S32 screen_width = mIgnoreUIScale ? llround((F32)mRect.getWidth() * LLUI::sGLScaleFactor.mV[VX]) : mRect.getWidth(); - S32 screen_height = mIgnoreUIScale ? llround((F32)mRect.getHeight() * LLUI::sGLScaleFactor.mV[VY]) : mRect.getHeight(); + S32 screen_width = mIgnoreUIScale ? llround((F32)mRect.getWidth() * LLUI::sGLScaleFactor.mV[VX]) : llround((F32)mRect.getWidth() * gViewerWindow->getDisplayScale().mV[VX]); + S32 screen_height = mIgnoreUIScale ? llround((F32)mRect.getHeight() * LLUI::sGLScaleFactor.mV[VY]) : llround((F32)mRect.getHeight() * gViewerWindow->getDisplayScale().mV[VY]); // create a new browser window { @@ -322,8 +322,9 @@ void LLWebBrowserCtrl::onVisibilityChange ( BOOL new_visibility ) // void LLWebBrowserCtrl::reshape( S32 width, S32 height, BOOL called_from_parent ) { - S32 screen_width = mIgnoreUIScale ? llround((F32)width * LLUI::sGLScaleFactor.mV[VX]) : width; - S32 screen_height = mIgnoreUIScale ? llround((F32)height * LLUI::sGLScaleFactor.mV[VX]) : height; + S32 screen_width = mIgnoreUIScale ? llround((F32)width * LLUI::sGLScaleFactor.mV[VX]) : llround((F32)width * gViewerWindow->getDisplayScale().mV[VX]); + S32 screen_height = mIgnoreUIScale ? llround((F32)height * LLUI::sGLScaleFactor.mV[VY]) : llround((F32)height * gViewerWindow->getDisplayScale().mV[VY]); + // when floater is minimized, these sizes are negative if ( screen_height > 0 && screen_width > 0 ) { @@ -500,8 +501,8 @@ void LLWebBrowserCtrl::draw() void LLWebBrowserCtrl::convertInputCoords(S32& x, S32& y) { - x = mIgnoreUIScale ? llround((F32)x * LLUI::sGLScaleFactor.mV[VX]) : x; - y = mIgnoreUIScale ? llround((F32)(mRect.getHeight() - y) * LLUI::sGLScaleFactor.mV[VY]) : (mRect.getHeight() - y); + x = mIgnoreUIScale ? llround((F32)x * LLUI::sGLScaleFactor.mV[VX]) : llround((F32)x * gViewerWindow->getDisplayScale().mV[VX]); + y = mIgnoreUIScale ? llround((F32)(mRect.getHeight() - y) * LLUI::sGLScaleFactor.mV[VY]) : llround((F32)(mRect.getHeight() - y) * gViewerWindow->getDisplayScale().mV[VY]); } //////////////////////////////////////////////////////////////////////////////// diff --git a/linden/indra/newview/macview.xcodeproj/project.pbxproj b/linden/indra/newview/macview.xcodeproj/project.pbxproj index d1c572f..c3a4b0a 100644 --- a/linden/indra/newview/macview.xcodeproj/project.pbxproj +++ b/linden/indra/newview/macview.xcodeproj/project.pbxproj @@ -4942,17 +4942,20 @@ target = 99CDED4905E70BAB0000F8AA /* llcommon */; targetProxy = D64593570B3B4D8500FAB68F /* PBXContainerItemProxy */; }; - D64E29CE0B4B288600963559 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - }; FD53B40C09BDFD3E00BFE3BC /* PBXTargetDependency */ = { isa = PBXTargetDependency; + target = FD53B40509BDF9F600BFE3BC /* third party libs */; + targetProxy = FD53B40B09BDFD3E00BFE3BC /* PBXContainerItemProxy */; }; FD53B41009BDFD5300BFE3BC /* PBXTargetDependency */ = { isa = PBXTargetDependency; + target = FD53B40509BDF9F600BFE3BC /* third party libs */; + targetProxy = FD53B40F09BDFD5300BFE3BC /* PBXContainerItemProxy */; }; FD53B41209BDFD5A00BFE3BC /* PBXTargetDependency */ = { isa = PBXTargetDependency; + target = FD53B40509BDF9F600BFE3BC /* third party libs */; + targetProxy = FD53B41109BDFD5A00BFE3BC /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ diff --git a/linden/indra/newview/releasenotes.txt b/linden/indra/newview/releasenotes.txt index d98a14c..72288b8 100644 --- a/linden/indra/newview/releasenotes.txt +++ b/linden/indra/newview/releasenotes.txt @@ -1,38 +1,29 @@ -Release Notes for Second Life 1.18.5(2) November 21, 2007 -===================================== -Changes: -* Permissions request dialogue boxes are now throttled to prevent griefing -* Additional localization work on xml files for Japanese, Korean, and German. - -Bug fixes: -* Fixed various XML errors related to the search feature, Windows & Linux only -* Fixed VWR-3064: Land Search does not show Description Text for any parcel selected in Search -* Fixed VWR-3084: Dramatic drop in frame rate after the first use of the new search engine. -* Fixed VWR-3200: Classifieds Statistics in profile are broken - -Release Notes for Second Life 1.18.5(1) November 16, 2007 -===================================== -Changes: -* Search button always enabled in Search All panel -** Empty searches show the classifieds splash page -* Teleport is the first option listed for landmarks in inventory - -Bug fixes: -* Fixed search turning transparent instead of minimizing -* Fixed VWR-3073: Right-clicking someone's attachments to view profile loads (???) (???) instead - -Release Notes for Second Life 1.18.5(0) November 13, 2007 +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 -Bug fixes: -* Fixed avatar turning in Appearance mode -* Fixed Lag Meter metrics for non-USA residents -* Fixed open source build issues -* Fixed Korean text display on Mac OSX 10.5 +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 ===================================== diff --git a/linden/indra/newview/res/newViewRes.rc b/linden/indra/newview/res/newViewRes.rc index fe21ed9..a3dfa72 100644 --- a/linden/indra/newview/res/newViewRes.rc +++ b/linden/indra/newview/res/newViewRes.rc @@ -228,8 +228,8 @@ TOOLPIPETTE CURSOR "toolpipette.cur" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 1,18,5,2 - PRODUCTVERSION 1,18,5,2 + FILEVERSION 1,18,5,3 + PRODUCTVERSION 1,18,5,3 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -246,12 +246,12 @@ BEGIN BEGIN VALUE "CompanyName", "Linden Lab" VALUE "FileDescription", "Second Life" - VALUE "FileVersion", "1.18.5.2" + VALUE "FileVersion", "1.18.5.3" VALUE "InternalName", "Second Life" VALUE "LegalCopyright", "Copyright © 2001-2007, Linden Research, Inc." VALUE "OriginalFilename", "SecondLife.exe" VALUE "ProductName", "Second Life" - VALUE "ProductVersion", "1.18.5.2" + VALUE "ProductVersion", "1.18.5.3" END END BLOCK "VarFileInfo" -- cgit v1.1