diff options
Diffstat (limited to 'indra')
-rw-r--r-- | indra/llcommon/indra_constants.h | 1 | ||||
-rw-r--r-- | indra/llui/lltextbox.cpp | 1 | ||||
-rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 9 | ||||
-rw-r--r-- | indra/newview/llappviewer.cpp | 14 | ||||
-rw-r--r-- | indra/newview/llcofwearables.cpp | 3 | ||||
-rw-r--r-- | indra/newview/llfloaterland.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llfloaterland.h | 1 | ||||
-rw-r--r-- | indra/newview/llinventorybridge.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llmachineid.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llpanelpeople.cpp | 35 | ||||
-rw-r--r-- | indra/newview/llvoavatar.cpp | 25 | ||||
-rw-r--r-- | indra/newview/llvoavatar.h | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_about_land.xml | 1 |
13 files changed, 95 insertions, 21 deletions
diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index a00a82aff0..c0213d7c16 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -153,7 +153,6 @@ const U8 SIM_ACCESS_DOWN = 254; const U8 SIM_ACCESS_MAX = SIM_ACCESS_ADULT; // attachment constants -const S32 MAX_AGENT_ATTACHMENTS = 38; const U8 ATTACHMENT_ADD = 0x80; // god levels diff --git a/indra/llui/lltextbox.cpp b/indra/llui/lltextbox.cpp index 01fe82e45d..9faff1278d 100644 --- a/indra/llui/lltextbox.cpp +++ b/indra/llui/lltextbox.cpp @@ -122,6 +122,7 @@ void LLTextBox::setEnabled(BOOL enabled) LLTextBase::setReadOnly(read_only); updateSegments(); } + LLTextBase::setEnabled(enabled); } void LLTextBox::setText(const LLStringExplicit& text , const LLStyle::Params& input_params ) diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index d1d5301efe..8838b6d0be 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -346,6 +346,11 @@ Call CheckWillUninstallV2 # Check if Second Life is already installed StrCmp $DO_UNINSTALL_V2 "" PRESERVE_DONE
PRESERVE_DONE:
+# Viewer had "SLLauncher" for some time and we was seting "IsHostApp" for viewer, make sure to clean it up
+DeleteRegValue HKEY_CLASSES_ROOT "Applications\$VIEWER_EXE" "IsHostApp"
+DeleteRegValue HKEY_CLASSES_ROOT "Applications\$VIEWER_EXE" "NoStartPage"
+ClearErrors
+
Call RemoveProgFilesOnInst # Remove existing files to prevent certain errors when running the new version of the viewer
# This placeholder is replaced by the complete list of all the files in the installer, by viewer_manifest.py
@@ -417,7 +422,7 @@ WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\DefaultIcon" "" '"$INSTDIR\$ # URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks.
WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"'
-WriteRegStr HKEY_CLASSES_ROOT "Applications\$VIEWER_EXE" "IsHostApp" ""
+WriteRegStr HKEY_CLASSES_ROOT "Applications\$INSTEXE" "IsHostApp" ""
##WriteRegStr HKEY_CLASSES_ROOT "Applications\${VIEWER_EXE}" "NoStartPage" ""
# Write out uninstaller
@@ -464,7 +469,7 @@ DeleteRegKey SHELL_CONTEXT "${INSTNAME_KEY}" DeleteRegKey SHELL_CONTEXT "${MSCURRVER_KEY}\Uninstall\$INSTNAME"
# BUG-2707 Remove entry that disabled SEHOP
DeleteRegKey SHELL_CONTEXT "${MSNTCURRVER_KEY}\Image File Execution Options\$VIEWER_EXE"
-##DeleteRegKey HKEY_CLASSES_ROOT "Applications\$INSTEXE"
+DeleteRegKey HKEY_CLASSES_ROOT "Applications\$INSTEXE"
DeleteRegKey HKEY_CLASSES_ROOT "Applications\${VIEWER_EXE}"
# Clean up shortcuts
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index c176d11969..c3663b12dd 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1167,12 +1167,16 @@ bool LLAppViewer::init() // ForceAddressSize updater.args.add(stringize(gSavedSettings.getU32("ForceAddressSize"))); -#if !LL_RELEASE_FOR_DOWNLOAD && !LL_SEND_CRASH_REPORTS - // This is neither a release package, nor crash-reporting enabled test build - // Note: pointless to launch on Windows - it shouldn't expect secondlife-bin.exe - LL_WARNS("LLLeap") << "Launching without version checker" << LL_ENDL; +#if LL_WINDOWS && !LL_RELEASE_FOR_DOWNLOAD && !LL_SEND_CRASH_REPORTS + // This is neither a release package, nor crash-reporting enabled test build + // try to run version updater, but don't bother if it fails (file might be missing) + LLLeap *leap_p = LLLeap::create(updater, false); + if (!leap_p) + { + LL_WARNS("LLLeap") << "Failed to run LLLeap" << LL_ENDL; + } #else - // Run the updater. An exception from launching the updater should bother us. + // Run the updater. An exception from launching the updater should bother us. LLLeap::create(updater, true); #endif diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 307f93e28c..b47e0930a3 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -42,6 +42,7 @@ #include "llwearableitemslist.h" #include "llpaneloutfitedit.h" #include "lltrans.h" +#include "llvoavatarself.h" static LLPanelInjector<LLCOFWearables> t_cof_wearables("cof_wearables"); @@ -330,7 +331,7 @@ void LLCOFWearables::setAttachmentsTitle() { if (mAttachmentsTab) { - U32 free_slots = MAX_AGENT_ATTACHMENTS - mAttachments->size(); + U32 free_slots = gAgentAvatarp->getMaxAttachments() - mAttachments->size(); LLStringUtil::format_map_t args_attachments; args_attachments["[COUNT]"] = llformat ("%d", free_slots); diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 8fbc7b3b64..3098c6d118 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -1877,6 +1877,7 @@ LLPanelLandOptions::LLPanelLandOptions(LLParcelSelectionHandle& parcel) mLandingTypeCombo(NULL), mSnapshotCtrl(NULL), mLocationText(NULL), + mSeeAvatarsText(NULL), mSetBtn(NULL), mClearBtn(NULL), mMatureCtrl(NULL), @@ -1923,11 +1924,12 @@ BOOL LLPanelLandOptions::postBuild() mSeeAvatarsCtrl = getChild<LLCheckBoxCtrl>( "SeeAvatarsCheck"); childSetCommitCallback("SeeAvatarsCheck", onCommitAny, this); - if (hasChild("allow_see_label", TRUE)) + mSeeAvatarsText = getChild<LLTextBox>("allow_see_label"); + if (mSeeAvatarsText) { - getChild<LLTextBox>("allow_see_label")->setShowCursorHand(false); - getChild<LLTextBox>("allow_see_label")->setSoundFlags(LLView::MOUSE_UP); - getChild<LLTextBox>("allow_see_label")->setClickedCallback(boost::bind(&toggleSeeAvatars, this)); + mSeeAvatarsText->setShowCursorHand(false); + mSeeAvatarsText->setSoundFlags(LLView::MOUSE_UP); + mSeeAvatarsText->setClickedCallback(boost::bind(&toggleSeeAvatars, this)); } mCheckShowDirectory = getChild<LLCheckBoxCtrl>( "ShowDirectoryCheck"); @@ -2023,6 +2025,7 @@ void LLPanelLandOptions::refresh() mSeeAvatarsCtrl->set(TRUE); mSeeAvatarsCtrl->setEnabled(FALSE); + mSeeAvatarsText->setEnabled(FALSE); mLandingTypeCombo->setCurrentByIndex(0); mLandingTypeCombo->setEnabled(FALSE); @@ -2081,6 +2084,7 @@ void LLPanelLandOptions::refresh() mSeeAvatarsCtrl->set(parcel->getSeeAVs()); mSeeAvatarsCtrl->setEnabled(can_change_options && parcel->getHaveNewParcelLimitData()); + mSeeAvatarsText->setEnabled(can_change_options && parcel->getHaveNewParcelLimitData()); BOOL can_change_landing_point = LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_SET_LANDING_POINT); diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h index c7b96f7ba0..0c49d78a20 100644 --- a/indra/newview/llfloaterland.h +++ b/indra/newview/llfloaterland.h @@ -346,6 +346,7 @@ private: LLTextureCtrl* mSnapshotCtrl; LLTextBox* mLocationText; + LLTextBox* mSeeAvatarsText; LLButton* mSetBtn; LLButton* mClearBtn; diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 8c1769e16a..a50a66a8ce 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -6302,7 +6302,7 @@ bool confirm_attachment_rez(const LLSD& notification, const LLSD& response) if (!gAgentAvatarp->canAttachMoreObjects()) { LLSD args; - args["MAX_ATTACHMENTS"] = llformat("%d", MAX_AGENT_ATTACHMENTS); + args["MAX_ATTACHMENTS"] = llformat("%d", gAgentAvatarp->getMaxAttachments()); LLNotificationsUtil::add("MaxAttachmentsOnOutfit", args); return false; } diff --git a/indra/newview/llmachineid.cpp b/indra/newview/llmachineid.cpp index 2001359e50..51127928d1 100644 --- a/indra/newview/llmachineid.cpp +++ b/indra/newview/llmachineid.cpp @@ -217,6 +217,13 @@ S32 LLMachineID::init() // Get the value of the Name property hr = pclsObj->Get(L"SerialNumber", 0, &vtProp, 0, 0); + if (FAILED(hr)) + { + LL_WARNS() << "Failed to get SerialNumber. Error code = 0x" << hex << hres << LL_ENDL; + pclsObj->Release(); + pclsObj = NULL; + continue; + } LL_INFOS("AppInit") << " Serial Number : " << vtProp.bstrVal << LL_ENDL; // use characters in the returned Serial Number to create a byte array of size len @@ -224,11 +231,11 @@ S32 LLMachineID::init() unsigned int serial_size = SysStringLen(serialNumber); unsigned int j = 0; - while (j < serial_size) + while (j < serial_size && vtProp.bstrVal[j] != 0) { for (unsigned int i = 0; i < len; i++) { - if (j >= serial_size) + if (j >= serial_size || vtProp.bstrVal[j] == 0) break; static_unique_id[i] = (unsigned int)(static_unique_id[i] + serialNumber[j]); diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp index 82feadd4ed..be174475e1 100644 --- a/indra/newview/llpanelpeople.cpp +++ b/indra/newview/llpanelpeople.cpp @@ -66,6 +66,7 @@ #include "llrecentpeople.h" #include "llviewercontrol.h" // for gSavedSettings #include "llviewermenu.h" // for gMenuHolder +#include "llviewerregion.h" #include "llvoiceclient.h" #include "llworld.h" #include "llspeakers.h" @@ -611,12 +612,23 @@ void LLPanelPeople::removePicker() BOOL LLPanelPeople::postBuild() { + S32 max_premium = PREMIUM_MAX_AGENT_GROUPS; + if (gAgent.getRegion()) + { + LLSD features; + gAgent.getRegion()->getSimulatorFeatures(features); + if (features.has("MaxAgentGroupsPremium")) + { + max_premium = features["MaxAgentGroupsPremium"].asInteger(); + } + } + getChild<LLFilterEditor>("nearby_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); getChild<LLFilterEditor>("friends_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); getChild<LLFilterEditor>("groups_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); getChild<LLFilterEditor>("recent_filter_input")->setCommitCallback(boost::bind(&LLPanelPeople::onFilterEdit, this, _2)); - if(gMaxAgentGroups <= BASE_MAX_AGENT_GROUPS) + if(gMaxAgentGroups < max_premium) { getChild<LLTextBox>("groupcount")->setText(getString("GroupCountWithInfo")); getChild<LLTextBox>("groupcount")->setURLClickedCallback(boost::bind(&LLPanelPeople::onGroupLimitInfo, this)); @@ -1082,8 +1094,25 @@ void LLPanelPeople::onFilterEdit(const std::string& search_string) void LLPanelPeople::onGroupLimitInfo() { LLSD args; - args["MAX_BASIC"] = BASE_MAX_AGENT_GROUPS; - args["MAX_PREMIUM"] = PREMIUM_MAX_AGENT_GROUPS; + + S32 max_basic = BASE_MAX_AGENT_GROUPS; + S32 max_premium = PREMIUM_MAX_AGENT_GROUPS; + if (gAgent.getRegion()) + { + LLSD features; + gAgent.getRegion()->getSimulatorFeatures(features); + if (features.has("MaxAgentGroupsBasic")) + { + max_basic = features["MaxAgentGroupsBasic"].asInteger(); + } + if (features.has("MaxAgentGroupsPremium")) + { + max_premium = features["MaxAgentGroupsPremium"].asInteger(); + } + } + args["MAX_BASIC"] = max_basic; + args["MAX_PREMIUM"] = max_premium; + LLNotificationsUtil::add("GroupLimitInfo", args); } diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 2682c5b698..20fa327790 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -7037,12 +7037,33 @@ U32 LLVOAvatar::getNumAttachments() const } //----------------------------------------------------------------------------- +// getMaxAttachments() +//----------------------------------------------------------------------------- +S32 LLVOAvatar::getMaxAttachments() const +{ + const S32 MAX_AGENT_ATTACHMENTS = 38; + + S32 max_attach = MAX_AGENT_ATTACHMENTS; + + if (gAgent.getRegion()) + { + LLSD features; + gAgent.getRegion()->getSimulatorFeatures(features); + if (features.has("MaxAgentAttachments")) + { + max_attach = features["MaxAgentAttachments"].asInteger(); + } + } + return max_attach; +} + +//----------------------------------------------------------------------------- // canAttachMoreObjects() // Returns true if we can attach <n> more objects. //----------------------------------------------------------------------------- BOOL LLVOAvatar::canAttachMoreObjects(U32 n) const { - return (getNumAttachments() + n) <= MAX_AGENT_ATTACHMENTS; + return (getNumAttachments() + n) <= getMaxAttachments(); } //----------------------------------------------------------------------------- @@ -7070,7 +7091,7 @@ S32 LLVOAvatar::getMaxAnimatedObjectAttachments() const S32 max_attach = 0; if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits")) { - max_attach = MAX_AGENT_ATTACHMENTS; + max_attach = getMaxAttachments(); } else { diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index a4f8e95c65..b603381e6d 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -811,6 +811,7 @@ public: BOOL hasHUDAttachment() const; LLBBox getHUDBBox() const; void resetHUDAttachments(); + S32 getMaxAttachments() const; BOOL canAttachMoreObjects(U32 n=1) const; S32 getMaxAnimatedObjectAttachments() const; BOOL canAttachMoreAnimatedObjects(U32 n=1) const; diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 8bbf7d04c6..51c7f62503 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -1473,6 +1473,7 @@ Only large parcels can be listed in search. length="1" follows="left|top" text_color="LtGray" + text_readonly_color="LabelDisabledColor" height="32" layout="topleft" left="274" |