diff options
-rw-r--r-- | doc/contributions.txt | 1 | ||||
-rw-r--r-- | indra/llcommon/llversionviewer.h | 2 | ||||
-rwxr-xr-x | indra/llcrashlogger/llcrashlogger.cpp | 22 | ||||
-rw-r--r-- | indra/newview/English.lproj/InfoPlist.strings | 4 | ||||
-rw-r--r-- | indra/newview/Info-SecondLife.plist | 2 | ||||
-rw-r--r-- | indra/newview/llappviewer.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterland.cpp | 42 | ||||
-rw-r--r-- | indra/newview/llfloaterland.h | 1 | ||||
-rw-r--r-- | indra/newview/llpanellogin.cpp | 19 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 29 | ||||
-rw-r--r-- | indra/newview/llviewermenu.h | 1 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 15 |
13 files changed, 100 insertions, 46 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt index 74b316b3ec..9292d1ba40 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -265,6 +265,7 @@ Seg Baphomet VWR-1585 VWR-1586 VWR-3206 + VWR-2488 SignpostMarv Martin VWR-153 VWR-154 diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index d051fa6043..c82a9b788b 100644 --- a/indra/llcommon/llversionviewer.h +++ b/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 = 6; -const S32 LL_VERSION_BUILD = 3; +const S32 LL_VERSION_BUILD = 4; const char * const LL_CHANNEL = "Second Life Release"; diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp index df446a7239..df939a9c99 100755 --- a/indra/llcrashlogger/llcrashlogger.cpp +++ b/indra/llcrashlogger/llcrashlogger.cpp @@ -1,4 +1,4 @@ -/** + /** * @file llcrashlogger.cpp * @brief Crash logger implementation * @@ -144,9 +144,18 @@ void LLCrashLogger::gatherFiles() mCrashHost = "https://"; mCrashHost += mDebugLog["CurrentSimHost"].asString(); mCrashHost += ":12043/crash/report"; - mAltCrashHost = "https://"; - mAltCrashHost += mDebugLog["GridUtilHost"].asString(); - mAltCrashHost += ":12043/crash/report"; + // Use login servers as the alternate, since they are already load balanced and have a known name + // First, check to see if we have a valid grid name. If not, use agni. + mAltCrashHost = "https://login."; + if(mDebugLog["GridName"].asString() != "") + { + mAltCrashHost += mDebugLog["GridName"].asString(); + } + else + { + mAltCrashHost += "agni"; + } + mAltCrashHost += ".lindenlab.com:12043/crash/report"; mCrashInfo["DebugLog"] = mDebugLog; mFileMap["StatsLog"] = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"stats.log"); @@ -230,9 +239,6 @@ bool LLCrashLogger::sendCrashLogs() updateApplication("Sending logs..."); } - //util.* servers no longer have a public interface, so there's no alternate server anymore. - //leaving this in if we decide we need another alternate server for crash report receiving. - /* if(!gSent) { gBreak = false; @@ -243,7 +249,7 @@ bool LLCrashLogger::sendCrashLogs() updateApplication("Sending logs to Alternate Server..."); } } - */ + mSentCrashLogs = gSent; diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings index dff6ab4cbb..81d40ac484 100644 --- a/indra/newview/English.lproj/InfoPlist.strings +++ b/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.3"; -CFBundleGetInfoString = "Second Life version 1.18.6.3, Copyright 2004-2007 Linden Research, Inc."; +CFBundleShortVersionString = "Second Life version 1.18.6.4"; +CFBundleGetInfoString = "Second Life version 1.18.6.4, Copyright 2004-2007 Linden Research, Inc."; diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist index 73117e1e06..44e9a47438 100644 --- a/indra/newview/Info-SecondLife.plist +++ b/indra/newview/Info-SecondLife.plist @@ -32,7 +32,7 @@ </dict> </array> <key>CFBundleVersion</key> - <string>1.18.6.3</string> + <string>1.18.6.4</string> <key>CSResourcesFileMapped</key> <true/> </dict> diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 96d9670ac9..28496dc910 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2501,7 +2501,7 @@ void LLAppViewer::writeSystemInfo() { gDebugInfo["SLLog"] = LLError::logFileName(); - gDebugInfo["ClientInfo"]["Name"] = gSecondLife; + gDebugInfo["ClientInfo"]["Name"] = gChannelName; gDebugInfo["ClientInfo"]["MajorVersion"] = LL_VERSION_MAJOR; gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR; gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH; diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index abde6ccfcb..2167e1f2ca 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -2536,7 +2536,7 @@ LLPanelLandAccess::LLPanelLandAccess(LLParcelSelectionHandle& parcel) BOOL LLPanelLandAccess::postBuild() { - childSetCommitCallback("public_access", onCommitAny, this); + childSetCommitCallback("public_access", onCommitPublicAccess, this); childSetCommitCallback("limit_payment", onCommitAny, this); childSetCommitCallback("limit_age_verified", onCommitAny, this); childSetCommitCallback("GroupCheck", onCommitAny, this); @@ -2580,7 +2580,7 @@ void LLPanelLandAccess::refresh() { BOOL use_access_list = parcel->getParcelFlag(PF_USE_ACCESS_LIST); BOOL use_group = parcel->getParcelFlag(PF_USE_ACCESS_GROUP); - BOOL public_access = !use_access_list; + BOOL public_access = !use_access_list && !use_group; childSetValue("public_access", public_access ); childSetValue("GroupCheck", use_group ); @@ -2767,6 +2767,7 @@ void LLPanelLandAccess::refresh_ui() { childSetToolTip("Only Allow", LLString()); } + childSetEnabled("GroupCheck", FALSE); childSetEnabled("PassCheck", FALSE); childSetEnabled("pass_combo", FALSE); childSetEnabled("AccessList", FALSE); @@ -2775,6 +2776,11 @@ void LLPanelLandAccess::refresh_ui() { childSetEnabled("limit_payment", FALSE); childSetEnabled("limit_age_verified", FALSE); + char group_name[MAX_STRING]; /*Flawfinder: ignore*/ + if (gCacheName->getGroupName(parcel->getGroupID(), group_name)) + { + childSetEnabled("GroupCheck", can_manage_allowed); + } BOOL group_access = childGetValue("GroupCheck").asBoolean(); BOOL sell_passes = childGetValue("PassCheck").asBoolean(); childSetEnabled("PassCheck", can_manage_allowed); @@ -2785,13 +2791,6 @@ void LLPanelLandAccess::refresh_ui() childSetEnabled("HoursSpin", can_manage_allowed); } } - - char group_name[MAX_STRING]; /*Flawfinder: ignore*/ - if (gCacheName->getGroupName(parcel->getGroupID(), group_name)) - { - childSetEnabled("GroupCheck", can_manage_allowed); - } - childSetEnabled("AccessList", can_manage_allowed); S32 allowed_list_count = parcel->mAccessList.size(); childSetEnabled("add_allowed", can_manage_allowed && allowed_list_count < PARCEL_MAX_ACCESS_LIST); @@ -2827,6 +2826,29 @@ void LLPanelLandAccess::draw() LLPanel::draw(); } +// static +void LLPanelLandAccess::onCommitPublicAccess(LLUICtrl *ctrl, void *userdata) +{ + LLPanelLandAccess *self = (LLPanelLandAccess *)userdata; + LLParcel* parcel = self->mParcel->getParcel(); + if (!parcel) + { + return; + } + + // If we disabled public access, enable group access by default (if applicable) + BOOL public_access = self->childGetValue("public_access").asBoolean(); + if (public_access == FALSE) + { + char group_name[MAX_STRING]; /*Flawfinder: ignore*/ + if (gCacheName->getGroupName(parcel->getGroupID(), group_name)) + { + self->childSetValue("GroupCheck", public_access ? FALSE : TRUE); + } + } + + onCommitAny(ctrl, userdata); +} // static void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata) @@ -2841,7 +2863,6 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata) // Extract data from UI BOOL public_access = self->childGetValue("public_access").asBoolean(); - BOOL use_access_group = self->childGetValue("GroupCheck").asBoolean(); if (use_access_group) { @@ -2859,6 +2880,7 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata) if (public_access) { use_access_list = FALSE; + use_access_group = FALSE; limit_payment = self->childGetValue("limit_payment").asBoolean(); limit_age_verified = self->childGetValue("limit_age_verified").asBoolean(); } diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index 4bb88aa127..4407e0b5b4 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -395,6 +395,7 @@ public: void refreshNames(); virtual void draw(); + static void onCommitPublicAccess(LLUICtrl* ctrl, void *userdata); static void onCommitAny(LLUICtrl* ctrl, void *userdata); static void onClickAddAccess(void*); static void callbackAvatarCBAccess(const std::vector<std::string>& names, const std::vector<LLUUID>& ids, void* userdata); diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 2cac860423..cf8fff8543 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -85,6 +85,25 @@ const S32 MAX_PASSWORD = 16; LLPanelLogin *LLPanelLogin::sInstance = NULL; +class LLLoginRefreshHandler : public LLCommandHandler +{ +public: + LLLoginRefreshHandler() : LLCommandHandler("login_refresh") { } + bool handle(const LLSD& tokens, const LLSD& queryMap) + { +#if LL_LIBXUL_ENABLED + if (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP) + { + LLPanelLogin::loadLoginPage(); + } +#endif + return true; + } +}; + +LLLoginRefreshHandler gLoginRefreshHandler; + + //parses the input url and returns true if afterwards //a web-login-key, firstname and lastname is set bool LLLoginHandler::parseDirectLogin(std::string url) diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 96af7d2bd2..675a447dc4 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -777,9 +777,6 @@ BOOL idle_startup() gSavedSettings.setString("FirstName", firstname); gSavedSettings.setString("LastName", lastname); - - - llinfos << "Attempting login as: " << firstname << " " << lastname << llendl; gDebugInfo["LoginName"] = firstname + " " + lastname; } @@ -899,7 +896,7 @@ BOOL idle_startup() if(STATE_LOGIN_AUTH_INIT == LLStartUp::getStartupState()) { //#define LL_MINIMIAL_REQUESTED_OPTIONS - gDebugInfo["GridUtilHost"] = gGridInfo[gGridChoice].mName; + gDebugInfo["GridName"] = gGridInfo[gGridChoice].mLabel; lldebugs << "STATE_LOGIN_AUTH_INIT" << llendl; if (!gUserAuthp) @@ -1486,6 +1483,7 @@ BOOL idle_startup() // Finish agent initialization. (Requires gSavedSettings, builds camera) gAgent.init(); + set_underclothes_menu_options(); // Since we connected, save off the settings so the user doesn't have to // type the name/password again if we crash. diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 4c7229b0d9..ab82fef6cc 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -607,6 +607,21 @@ void initialize_menus(); // // Break up groups of more than 6 items with separators //----------------------------------------------------------------------------- + +void set_underclothes_menu_options() +{ + if (gMenuHolder && gAgent.isTeen()) + { + gMenuHolder->getChildByName("Self Underpants", TRUE)->setVisible(FALSE); + gMenuHolder->getChildByName("Self Undershirt", TRUE)->setVisible(FALSE); + } + if (gMenuBarView && gAgent.isTeen()) + { + gMenuBarView->getChildByName("Menu Underpants", TRUE)->setVisible(FALSE); + gMenuBarView->getChildByName("Menu Undershirt", TRUE)->setVisible(FALSE); + } +} + void init_menus() { S32 top = gViewerWindow->getRootView()->getRect().getHeight(); @@ -643,12 +658,6 @@ void init_menus() gDetachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach HUD", true); gDetachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach", true); - if (gAgent.isTeen()) - { - gMenuHolder->getChildByName("Self Underpants", TRUE)->setVisible(FALSE); - gMenuHolder->getChildByName("Self Undershirt", TRUE)->setVisible(FALSE); - } - gPieAvatar = gUICtrlFactory->buildPieMenu("menu_pie_avatar.xml", gMenuHolder); gPieObject = gUICtrlFactory->buildPieMenu("menu_pie_object.xml", gMenuHolder); @@ -710,12 +719,6 @@ void init_menus() gAttachSubMenu = gMenuBarView->getChildMenuByName("Attach Object", TRUE); gDetachSubMenu = gMenuBarView->getChildMenuByName("Detach Object", TRUE); - if (gAgent.isTeen()) - { - gMenuBarView->getChildByName("Menu Underpants", TRUE)->setVisible(FALSE); - gMenuBarView->getChildByName("Menu Undershirt", TRUE)->setVisible(FALSE); - } - // TomY TODO convert these two LLMenuGL*menu; @@ -763,6 +766,8 @@ void init_menus() } + + void init_landmark_menu(LLMenuGL* menu) { if (!menu) return; diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h index 6814c31eb8..003e3efe42 100644 --- a/indra/newview/llviewermenu.h +++ b/indra/newview/llviewermenu.h @@ -93,6 +93,7 @@ BOOL enable_god_liaison(void* user_data); BOOL enable_god_customer_service(void* user_data); BOOL enable_god_basic(void* user_data); void handle_show_newest_map(void*); +void set_underclothes_menu_options(); void exchange_callingcard(const LLUUID& dest_id); diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index abd3b269f6..c7d2cb7318 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -409,7 +409,7 @@ class DarwinManifest(ViewerManifest): # make sure we don't have stale files laying about self.remove(sparsename, finalname) - self.run_command('hdiutil create "%(sparse)s" -volname "%(channel)s" -fs HFS+ -type SPARSE -megabytes 300' % { + self.run_command('hdiutil create "%(sparse)s" -volname "%(channel)s" -fs HFS+ -type SPARSE -megabytes 300 -layout SPUD' % { 'sparse':sparsename, 'channel':channel_standin}) @@ -523,13 +523,14 @@ class Linux_x86_64Manifest(LinuxManifest): super(Linux_x86_64Manifest, self).construct() self.path("secondlife-x86_64-bin-stripped","bin/do-not-directly-run-secondlife-bin") self.path("../linux_crash_logger/linux-crash-logger-x86_64-bin-stripped","linux-crash-logger.bin") - # TODO: I get the sense that this isn't fully fleshed out - if self.prefix("../../libraries/x86_64-linux/lib_release_client", "lib"): - self.path("libkdu_v42R.so") - self.path("libxmlrpc.so.0") - # self.path("libllkdu.so", "../bin/libllkdu.so") # llkdu goes in bin for some reason - self.end_prefix("lib") + self.path("linux_tools/launch_url.sh","launch_url.sh") + if self.prefix("res-sdl"): + self.path("*") + # recurse + self.end_prefix("res-sdl") + self.path("featuretable_linux.txt") + self.path("secondlife-i686.supp") if __name__ == "__main__": main(srctree=viewer_dir, dsttree=os.path.join(viewer_dir, "packaged")) |