From 1e8e051fafa147fc3375bf7693c781e3be17b6d4 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Fri, 15 Aug 2008 23:45:22 -0500 Subject: Second Life viewer sources 1.18.6.1-RC --- linden/indra/llaudio/llaudio.vcproj | 2 + linden/indra/llaudio/llaudio_vc8.vcproj | 2 + linden/indra/llcharacter/llcharacter.vcproj | 2 + linden/indra/llcharacter/llcharacter_vc8.vcproj | 3 + linden/indra/llcommon/indra_constants.h | 2 +- linden/indra/llcommon/llcommon.vcproj | 2 + linden/indra/llcommon/llcommon_vc8.vcproj | 2 + linden/indra/llcommon/llversionviewer.h | 2 +- linden/indra/llimage/llimage.vcproj | 2 + linden/indra/llimage/llimage_vc8.vcproj | 3 + linden/indra/llimagej2coj/llimagej2coj.vcproj | 2 + linden/indra/llinventory/llinventory.vcproj | 2 + linden/indra/llinventory/llinventory_vc8.vcproj | 3 + linden/indra/llmath/llmath.vcproj | 2 + linden/indra/llmath/llmath_vc8.vcproj | 3 + linden/indra/llmedia/llmedia.vcproj | 2 + linden/indra/llmedia/llmedia_vc8.vcproj | 2 + linden/indra/llmessage/llhttpclient.cpp | 5 ++ linden/indra/llmessage/llhttpclient.h | 1 + linden/indra/llmessage/llmessage.vcproj | 2 + linden/indra/llmessage/llmessage_vc8.vcproj | 2 + linden/indra/llmessage/llurlrequest.cpp | 7 ++ linden/indra/llmessage/llurlrequest.h | 1 + linden/indra/llprimitive/llprimitive.vcproj | 2 + linden/indra/llprimitive/llprimitive_vc8.vcproj | 3 + linden/indra/llrender/llrender.vcproj | 2 + linden/indra/llrender/llrender_vc8.vcproj | 3 + linden/indra/llui/llui.vcproj | 2 + linden/indra/llui/llui_vc8.vcproj | 3 + linden/indra/llvfs/llvfs.vcproj | 2 + linden/indra/llvfs/llvfs_vc8.vcproj | 3 + linden/indra/llwindow/llwindow.vcproj | 2 + linden/indra/llwindow/llwindow_vc8.vcproj | 2 + linden/indra/llxml/llxml.vcproj | 2 + linden/indra/llxml/llxml_vc8.vcproj | 3 + .../lscript/lscript_compile/lscript_compile.vcproj | 2 + .../lscript_compile/lscript_compile_vc8.vcproj | 2 + .../lscript/lscript_execute/lscript_execute.vcproj | 2 + .../lscript_execute/lscript_execute_vc8.vcproj | 3 + .../lscript/lscript_library/lscript_library.vcproj | 2 + .../lscript_library/lscript_library_vc8.vcproj | 3 + linden/indra/newview/CrashReporter.nib/classes.nib | 12 ++-- linden/indra/newview/CrashReporter.nib/info.nib | 14 ++-- linden/indra/newview/CrashReporter.nib/objects.xib | 83 +++++++++++----------- .../indra/newview/English.lproj/InfoPlist.strings | 4 +- linden/indra/newview/Info-SecondLife.plist | 2 +- linden/indra/newview/app_settings/colors_base.xml | 1 + linden/indra/newview/llappviewer.cpp | 2 +- linden/indra/newview/llcontroldef.cpp | 1 + linden/indra/newview/llfolderview.cpp | 31 +++++++- linden/indra/newview/llfolderview.h | 3 + linden/indra/newview/llpanelavatar.cpp | 9 +-- linden/indra/newview/llpanellogin.cpp | 49 ++++++++++--- linden/indra/newview/llpanellogin.h | 9 +++ linden/indra/newview/llselectmgr.cpp | 3 +- linden/indra/newview/llviewermenu.cpp | 2 +- linden/indra/newview/llviewermessage.cpp | 17 ++--- linden/indra/newview/llwebbrowserctrl.cpp | 15 ++++ linden/indra/newview/llwebbrowserctrl.h | 1 + .../newview/macview.xcodeproj/project.pbxproj | 21 ++++++ linden/indra/newview/newview.vcproj | 5 +- linden/indra/newview/newview_vc8.vcproj | 5 +- linden/indra/newview/releasenotes.txt | 14 ++++ linden/indra/newview/res/newViewRes.rc | 8 +-- .../indra/newview/skins/xui/en-us/menu_login.xml | 6 +- .../indra/newview/skins/xui/en-us/panel_avatar.xml | 10 +-- linden/indra/test/llhttpclient_tut.cpp | 8 +++ .../win_crash_logger/llcrashloggerwindows.cpp | 2 +- 68 files changed, 340 insertions(+), 96 deletions(-) (limited to 'linden/indra') diff --git a/linden/indra/llaudio/llaudio.vcproj b/linden/indra/llaudio/llaudio.vcproj index 7073b88..dee6916 100644 --- a/linden/indra/llaudio/llaudio.vcproj +++ b/linden/indra/llaudio/llaudio.vcproj @@ -64,6 +64,7 @@ CharacterSet="1"> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> ResponderPtr; + static void head(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); static void get(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); static void get(const std::string& url, ResponderPtr, const LLSD& headers, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); static void get(const std::string& url, const LLSD& query, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); diff --git a/linden/indra/llmessage/llmessage.vcproj b/linden/indra/llmessage/llmessage.vcproj index dcc1202..64551bd 100644 --- a/linden/indra/llmessage/llmessage.vcproj +++ b/linden/indra/llmessage/llmessage.vcproj @@ -64,6 +64,7 @@ CharacterSet="1"> mCurl, CURLOPT_HEADER, 1); + curl_easy_setopt(mDetail->mCurl, CURLOPT_NOBODY, 1); + curl_easy_setopt(mDetail->mCurl, CURLOPT_FOLLOWLOCATION, 1); + rv = true; + break; + case HTTP_GET: curl_easy_setopt(mDetail->mCurl, CURLOPT_HTTPGET, 1); curl_easy_setopt(mDetail->mCurl, CURLOPT_FOLLOWLOCATION, 1); diff --git a/linden/indra/llmessage/llurlrequest.h b/linden/indra/llmessage/llurlrequest.h index f335316..4b12e71 100644 --- a/linden/indra/llmessage/llurlrequest.h +++ b/linden/indra/llmessage/llurlrequest.h @@ -69,6 +69,7 @@ public: enum ERequestAction { INVALID, + HTTP_HEAD, HTTP_GET, HTTP_PUT, HTTP_POST, diff --git a/linden/indra/llprimitive/llprimitive.vcproj b/linden/indra/llprimitive/llprimitive.vcproj index 60dc82e..b04d938 100644 --- a/linden/indra/llprimitive/llprimitive.vcproj +++ b/linden/indra/llprimitive/llprimitive.vcproj @@ -63,6 +63,7 @@ CharacterSet="1"> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> @@ -108,6 +109,7 @@ /> + + + + IBVersion + 1 + + diff --git a/linden/indra/newview/CrashReporter.nib/info.nib b/linden/indra/newview/CrashReporter.nib/info.nib index 8eba931..b541744 100644 --- a/linden/indra/newview/CrashReporter.nib/info.nib +++ b/linden/indra/newview/CrashReporter.nib/info.nib @@ -1,17 +1,19 @@ - + - IBDocumentLocation - 791 275 476 367 0 0 1600 1178 IBFramework Version - 446.1 + 629 + IBLastKnownRelativeProjectPath + ../macview.xcodeproj + IBOldestOS + 5 IBOpenObjects - 166 + 193 IBSystem Version - 8R2218 + 9B18 targetFramework IBCarbonFramework diff --git a/linden/indra/newview/CrashReporter.nib/objects.xib b/linden/indra/newview/CrashReporter.nib/objects.xib index f62b8d5..1099f56 100644 --- a/linden/indra/newview/CrashReporter.nib/objects.xib +++ b/linden/indra/newview/CrashReporter.nib/objects.xib @@ -1,59 +1,59 @@ - IBCarbonFramework - NSApplication + + Second Life appears to have crashed or frozen the last time it ran. This crash reporter collects information about your computer's hardware configuration, operating system, and some Second Life logs, all of which are used for debugging purposes only. In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help! This report is NOT read by Customer Support. If you have billing or other questions, please go to: http://www.secondlife.com/support/ If you don't wish to send Linden Lab a crash report, press Cancel. + 20 20 231 487 + + + not! + 2 + Don't Send + 414 390 434 487 + + + + + + ok + Send Report + 414 273 434 378 + + + + text + TRUE + 242 23 391 484 + + + remb + 1 + Remember This Choice + 415 20 433 186 + + + 0 0 454 507 + - 257 653 711 1160 - Second Life Crash Logger - - 0 0 454 507 - - - 20 20 231 487 - Second Life appears to have crashed or frozen the last time it ran. This crash reporter collects information about your computer's hardware configuration, operating system, and some Second Life logs, all of which are used for debugging purposes only. In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help! This report is NOT read by Customer Support. If you have billing or other questions, please go to: http://www.secondlife.com/support/ If you don't wish to send Linden Lab a crash report, press Cancel. - - - 414 273 434 378 - Send Report - ok - - - 414 390 434 487 - Don't Send - not! - 2 - - - 242 23 391 484 - text - TRUE - - - 415 20 433 186 - Remember This Choice - remb - - - 2 3 7 + Second Life Crash Logger + + 257 653 711 1160 + 0 0 768 1024 - - - - - + + - - + + @@ -64,5 +64,6 @@ File's Owner + IBCarbonFramework 194 diff --git a/linden/indra/newview/English.lproj/InfoPlist.strings b/linden/indra/newview/English.lproj/InfoPlist.strings index 85f7e25..38cbbde 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.6.0"; -CFBundleGetInfoString = "Second Life version 1.18.6.0, Copyright 2004-2007 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 1.18.6.1"; +CFBundleGetInfoString = "Second Life version 1.18.6.1, Copyright 2004-2007 Linden Research, Inc."; diff --git a/linden/indra/newview/Info-SecondLife.plist b/linden/indra/newview/Info-SecondLife.plist index 59822a1..62f1665 100644 --- a/linden/indra/newview/Info-SecondLife.plist +++ b/linden/indra/newview/Info-SecondLife.plist @@ -32,7 +32,7 @@ CFBundleVersion - 1.18.6.0 + 1.18.6.1 CSResourcesFileMapped diff --git a/linden/indra/newview/app_settings/colors_base.xml b/linden/indra/newview/app_settings/colors_base.xml index 5a9261b..5902a7d 100644 --- a/linden/indra/newview/app_settings/colors_base.xml +++ b/linden/indra/newview/app_settings/colors_base.xml @@ -169,4 +169,5 @@ + diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 45eaaa9..e95180c 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp @@ -1003,7 +1003,7 @@ bool LLAppViewer::init() writeSystemInfo(); // Build a string representing the current version number. - gCurrentVersion = llformat("%d.%d.%d", LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH ); + gCurrentVersion = llformat("%s %d.%d.%d.%d", gChannelName.c_str(), LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VERSION_BUILD ); // // Load the feature tables diff --git a/linden/indra/newview/llcontroldef.cpp b/linden/indra/newview/llcontroldef.cpp index 66b5b92..45b8be3 100644 --- a/linden/indra/newview/llcontroldef.cpp +++ b/linden/indra/newview/llcontroldef.cpp @@ -188,6 +188,7 @@ void declare_settings() gSavedSettings.declareBOOL("ShowEmptyFoldersWhenSearching", FALSE, "Shows folders that do not have any visible contents when applying a filter to inventory"); gSavedSettings.declareS32("FilterItemsPerFrame", 500, "Maximum number of inventory items to match against search filter every frame (lower to increase framerate while searching, higher to improve search speed)"); gSavedSettings.declareBOOL("DebugInventoryFilters", FALSE, "Turn on debugging display for inventory filtering"); + gSavedSettings.declareF32("FolderLoadingMessageWaitTime", 0.5f, "Seconds to wait before showing the LOADING... text in folder views"); //------------------------------------------------------------------------ // Status bar diff --git a/linden/indra/newview/llfolderview.cpp b/linden/indra/newview/llfolderview.cpp index eb9addc..7d309a0 100644 --- a/linden/indra/newview/llfolderview.cpp +++ b/linden/indra/newview/llfolderview.cpp @@ -108,6 +108,7 @@ LLColor4 LLFolderViewItem::sHighlightBgColor; LLColor4 LLFolderViewItem::sHighlightFgColor; LLColor4 LLFolderViewItem::sFilterBGColor; LLColor4 LLFolderViewItem::sFilterTextColor; +LLColor4 LLFolderViewItem::sLoadingMessageTextColor; // Default constructor LLFolderViewItem::LLFolderViewItem( const LLString& name, LLViewerImage* icon, @@ -132,7 +133,8 @@ LLFolderViewItem::LLFolderViewItem( const LLString& name, LLViewerImage* icon, mStringMatchOffset(LLString::npos), mControlLabelRotation(0.f), mRoot( root ), - mDragAndDropTarget(FALSE) + mDragAndDropTarget(FALSE), + mIsLoading(FALSE) { setIcon(icon); if( !LLFolderViewItem::sFont ) @@ -151,6 +153,7 @@ LLFolderViewItem::LLFolderViewItem( const LLString& name, LLViewerImage* icon, LLFolderViewItem::sHighlightFgColor = gColors.getColor( "MenuItemHighlightFgColor" ); LLFolderViewItem::sFilterBGColor = gColors.getColor( "FilterBackgroundColor" ); LLFolderViewItem::sFilterTextColor = gColors.getColor( "FilterTextColor" ); + LLFolderViewItem::sLoadingMessageTextColor = gColors.getColor( "FolderViewLoadingMessageTextColor" ); mArrowImage = gImageList.getImage(LLUUID(gViewerArt.getString("folder_arrow.tga")), MIPMAP_FALSE, TRUE); mBoxImage = gImageList.getImage(LLUUID(gViewerArt.getString("rounded_square.tga")), MIPMAP_FALSE, TRUE); @@ -933,6 +936,14 @@ void LLFolderViewItem::draw() text_left = right_x; } + + if ( mIsLoading && mTimeSinceRequestStart.getElapsedTimeF32() >= gSavedSettings.getF32("FolderLoadingMessageWaitTime") ) + { + sFont->renderUTF8( "Loading... ", 0, text_left, y, sLoadingMessageTextColor, + LLFontGL::LEFT, LLFontGL::BOTTOM, mLabelStyle, S32_MAX, S32_MAX, &right_x, FALSE); + text_left = right_x; + } + sFont->renderUTF8( mLabel, 0, text_left, y, color, LLFontGL::LEFT, LLFontGL::BOTTOM, mLabelStyle, S32_MAX, S32_MAX, &right_x, FALSE ); @@ -2197,6 +2208,24 @@ void LLFolderViewFolder::draw() mControlLabelRotation = lerp(mControlLabelRotation, 0.f, LLCriticalDamp::getInterpolant(0.025f)); } + bool possibly_has_children = false; + bool up_to_date = mListener && mListener->isUpToDate(); + if(!up_to_date && mListener && mListener->hasChildren()) // we know we have children but haven't fetched them (doesn't obey filter) + { + possibly_has_children = true; + } + + + BOOL loading = ( mIsOpen && possibly_has_children && !up_to_date ); + + if ( loading && !mIsLoading ) + { + // Measure how long we've been in the loading state + mTimeSinceRequestStart.reset(); + } + + mIsLoading = loading; + LLFolderViewItem::draw(); // draw children if root folder, or any other folder that is open or animating to closed state diff --git a/linden/indra/newview/llfolderview.h b/linden/indra/newview/llfolderview.h index dd0dd21..466aac4 100644 --- a/linden/indra/newview/llfolderview.h +++ b/linden/indra/newview/llfolderview.h @@ -323,6 +323,7 @@ protected: static LLColor4 sHighlightFgColor; static LLColor4 sFilterBGColor; static LLColor4 sFilterTextColor; + static LLColor4 sLoadingMessageTextColor; LLString mLabel; LLString mSearchableLabel; @@ -349,6 +350,8 @@ protected: BOOL mDragAndDropTarget; LLPointer mArrowImage; LLPointer mBoxImage; + BOOL mIsLoading; + LLTimer mTimeSinceRequestStart; // This function clears the currently selected item, and records // the specified selected item appropriately for display and use diff --git a/linden/indra/newview/llpanelavatar.cpp b/linden/indra/newview/llpanelavatar.cpp index 5b43497..18b8462 100644 --- a/linden/indra/newview/llpanelavatar.cpp +++ b/linden/indra/newview/llpanelavatar.cpp @@ -1876,16 +1876,13 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**) payment_text = "NoPaymentInfoOnFile"; } args["[PAYMENTINFO]"] = self->mPanelSecondLife->childGetValue(payment_text).asString(); - LLString age_text = "NotAgeVerified"; - if(age_verified) - { - age_text = "AgeVerified"; - } - args["[PAYMENTINFO]"] += self->mPanelSecondLife->childGetValue(age_text).asString(); + LLString age_text = age_verified ? "AgeVerified" : "NotAgeVerified"; + args["[AGEVERIFICATION]"] = self->mPanelSecondLife->childGetValue(age_text).asString(); } else { args["[PAYMENTINFO]"] = " "; + args["[AGEVERIFICATION]"] = " "; } LLString::format(caption_text, args); } diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index 3e64bba..c7f10fd 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp @@ -149,6 +149,13 @@ void LLLoginHandler::parse(const LLSD& queryMap) gGridChoice = GRID_INFO_UMA; } +#if !LL_RELEASE_FOR_DOWNLOAD + if (gGridChoice > GRID_INFO_NONE && gGridChoice < GRID_INFO_LOCAL) + { + gSavedSettings.setS32("ServerChoice", gGridChoice); + } +#endif + snprintf(gGridName, MAX_STRING, "%s", gGridInfo[gGridChoice].mName); /* Flawfinder: ignore */ LLAppViewer::instance()->resetURIs(); @@ -304,6 +311,9 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "login_html"); if ( web_browser ) { + // observe browser events + web_browser->addObserver( this ); + // don't make it a tab stop until SL-27594 is fixed web_browser->setTabStop(FALSE); @@ -329,7 +339,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, // kick off a request to grab the url manually gResponsePtr = LLIamHereLogin::build( this ); - LLHTTPClient::get( childGetValue( "real_url" ).asString(), gResponsePtr ); + LLHTTPClient::head( childGetValue( "real_url" ).asString(), gResponsePtr ); }; #else mHtmlAvailable = FALSE; @@ -351,20 +361,27 @@ void LLPanelLogin::setSiteIsAlive( bool alive ) // mark as available mHtmlAvailable = TRUE; - }; + } } else // the site is not available (missing page, server down, other badness) { if ( web_browser ) { - // hide browser control (revealing default one) - web_browser->setVisible( FALSE ); + // painfully build the path to the loading screen + std::string loading_path( gDirUtilp->getExpandedFilename( LL_PATH_SKINS, "" ) ); + loading_path.append( gDirUtilp->getDirDelimiter() ); + loading_path.append( "html" ); + loading_path.append( gDirUtilp->getDirDelimiter() ); + loading_path.append( "loading-error" ); + loading_path.append( gDirUtilp->getDirDelimiter() ); + loading_path.append( "index.html" ); + web_browser->navigateTo( loading_path.c_str() ); - // mark as unavailable - mHtmlAvailable = FALSE; - }; - }; + // mark as available + mHtmlAvailable = TRUE; + } + } #else mHtmlAvailable = FALSE; #endif @@ -655,6 +672,22 @@ void LLPanelLogin::loadLoginPage() web_browser->navigateTo( oStr.str() ); } +#if LL_LIBXUL_ENABLED +void LLPanelLogin::onNavigateComplete( const EventType& eventIn ) +{ + LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(sInstance, "login_html"); + if (web_browser) + { + // *HACK HACK HACK HACK! + /* Stuff a Tab key into the browser now so that the first field will + ** get the focus! The embedded javascript on the page that properly + ** sets the initial focus in a real web browser is not working inside + ** the viewer, so this is an UGLY HACK WORKAROUND for now. + */ + web_browser->handleKey(KEY_TAB, MASK_NONE, false); + } +} +#endif //--------------------------------------------------------------------------- // Protected methods diff --git a/linden/indra/newview/llpanellogin.h b/linden/indra/newview/llpanellogin.h index 191e88c..f2a58b7 100644 --- a/linden/indra/newview/llpanellogin.h +++ b/linden/indra/newview/llpanellogin.h @@ -39,6 +39,7 @@ #include "llviewerimage.h" #include "llstring.h" #include "llmd5.h" +#include "llwebbrowserctrl.h" class LLTextBox; class LLLineEditor; @@ -64,6 +65,9 @@ extern LLLoginHandler gLoginHandler; class LLPanelLogin : public LLPanel +#if LL_LIBXUL_ENABLED + , public LLWebBrowserCtrlObserver +#endif { public: LLPanelLogin(const LLRect &rect, BOOL show_server, @@ -89,6 +93,11 @@ public: private: static void onClickQuit(void*); static void onClickVersion(void*); + +#if LL_LIBXUL_ENABLED + // browser observer impls + virtual void onNavigateComplete( const EventType& eventIn ); +#endif private: LLPointer mLogoImage; diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp index 3c29cfd..9b3808f 100644 --- a/linden/indra/newview/llselectmgr.cpp +++ b/linden/indra/newview/llselectmgr.cpp @@ -5825,7 +5825,8 @@ bool LLObjectSelection::applyToTEs(LLSelectedTEFunctor* func, bool firstonly) iterator nextiter = iter++; LLSelectNode* node = *nextiter; LLViewerObject* object = (*nextiter)->getObject(); - for (S32 te = 0; te < object->getNumTEs(); ++te) + S32 num_tes = llmin((S32)object->getNumTEs(), (S32)object->getNumFaces()); // avatars have TEs but no faces + for (S32 te = 0; te < num_tes; ++te) { if (node->isTESelected(te)) { diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp index a6fb7fa..22985b0 100644 --- a/linden/indra/newview/llviewermenu.cpp +++ b/linden/indra/newview/llviewermenu.cpp @@ -1072,7 +1072,7 @@ void init_client_menu(LLMenuGL* menu) &menu_check_control, (void*)"ShowConsoleWindow")); - if(gQAMode && !gInProductionGrid) + if(gQAMode)// && !gInProductionGrid) { LLMenuGL* sub = NULL; sub = new LLMenuGL("Debugging"); diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 2011275..37e851c 100644 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp @@ -279,11 +279,6 @@ void process_logout_reply(LLMessageSystem* msg, void**) llinfos << "process_logout_reply item not found: " << item_id << llendl; } } - if(!parents.empty()) - { - gInventory.accountForUpdate(parents); - gInventory.notifyObservers(); - } LLAppViewer::instance()->forceQuit(); } @@ -1335,7 +1330,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) S32 binary_bucket_size; LLChat chat; - //*TODO:translate - need to fix the full name to first/last (maybe) + // *TODO:translate - need to fix the full name to first/last (maybe) msg->getUUIDFast(_PREHASH_AgentData, _PREHASH_AgentID, from_id); msg->getBOOLFast(_PREHASH_MessageBlock, _PREHASH_FromGroup, from_group); msg->getUUIDFast(_PREHASH_MessageBlock, _PREHASH_ToAgentID, to_id); @@ -1872,6 +1867,8 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) case IM_GOTO_URL: { + // n.b. this is for URLs sent by the system, not for + // URLs sent by scripts (i.e. llLoadURL) if (binary_bucket_size <= 0) { llwarns << "bad binary_bucket_size: " @@ -5091,7 +5088,7 @@ void callback_load_url_name(const LLUUID& id, const char* first, const char* las owner_name += last; } - // TODO: Talk to james about using an id instead of a name for this. + // For legacy name-only mutes. if (gMuteListp->isMuted(LLUUID::null, owner_name)) { delete infop; @@ -5126,8 +5123,12 @@ void process_load_url(LLMessageSystem* msg, void**) // URL is safety checked in load_url above // Check if object or owner is muted - if (gMuteListp->isMuted(infop->mObjectID, infop->mObjectName)) + if (gMuteListp && + (gMuteListp->isMuted(infop->mObjectID, infop->mObjectName) || + gMuteListp->isMuted(infop->mOwnerID)) + ) { + llinfos<<"Ignoring load_url from muted object/owner."<mouseLeftDoubleClick( mEmbeddedBrowserWindowId, x, y ); + + gViewerWindow->setMouseCapture( this ); + + setFocus( TRUE ); + + return TRUE; +} + +//////////////////////////////////////////////////////////////////////////////// +// void LLWebBrowserCtrl::onFocusReceived() { LLMozLib::getInstance()->focusBrowser( mEmbeddedBrowserWindowId, true ); diff --git a/linden/indra/newview/llwebbrowserctrl.h b/linden/indra/newview/llwebbrowserctrl.h index 8b19a23..dedb8cf 100644 --- a/linden/indra/newview/llwebbrowserctrl.h +++ b/linden/indra/newview/llwebbrowserctrl.h @@ -181,6 +181,7 @@ class LLWebBrowserCtrl : virtual BOOL handleHover( S32 x, S32 y, MASK mask ); virtual BOOL handleMouseUp( S32 x, S32 y, MASK mask ); virtual BOOL handleMouseDown( S32 x, S32 y, MASK mask ); + virtual BOOL handleDoubleClick( S32 x, S32 y, MASK mask ); virtual BOOL handleScrollWheel( S32 x, S32 y, S32 clicks ); // navigation diff --git a/linden/indra/newview/macview.xcodeproj/project.pbxproj b/linden/indra/newview/macview.xcodeproj/project.pbxproj index 2d54757..3e03152 100644 --- a/linden/indra/newview/macview.xcodeproj/project.pbxproj +++ b/linden/indra/newview/macview.xcodeproj/project.pbxproj @@ -5289,6 +5289,19 @@ "$(SRCROOT)/../../libraries/universal-darwin/lib_release", "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", ); + OTHER_CFLAGS = ( + "-DLL_DARWIN=1", + "-DLL_RELEASE=1", + "-DLL_RELEASE_FOR_DOWNLOAD=1", + "-DLL_SEND_CRASH_REPORTS=1", + "-DNDEBUG", + "-fconstant-cfstrings", + ); + OTHER_CPLUSPLUSFLAGS = ( + "$(OTHER_CFLAGS)", + "-ffor-scope", + "-Wno-reorder", + ); OTHER_LDFLAGS = "-Wl,-search_paths_first"; PRODUCT_NAME = "Second Life"; SEPARATE_STRIP = YES; @@ -5557,6 +5570,14 @@ ); LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/vivox-runtime/universal-darwin\""; LIBRARY_SEARCH_PATHS_QUOTED_2 = "\"$(SRCROOT)/build/Universal\""; + OTHER_CFLAGS = ( + "-DLL_DARWIN=1", + "-DLL_RELEASE=1", + "-DLL_RELEASE_FOR_DOWNLOAD=1", + "-DLL_SEND_CRASH_REPORTS=1", + "-DNDEBUG", + "-fconstant-cfstrings", + ); OTHER_LDFLAGS = ( "-lllmozlib", "-Wl,-search_paths_first", diff --git a/linden/indra/newview/newview.vcproj b/linden/indra/newview/newview.vcproj index 941c6c0..a2cb32d 100644 --- a/linden/indra/newview/newview.vcproj +++ b/linden/indra/newview/newview.vcproj @@ -81,6 +81,7 @@ CharacterSet="1">