diff options
Diffstat (limited to 'indra/newview')
40 files changed, 211 insertions, 479 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f53ec84fd1..f1e4b39d7d 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -3808,17 +3808,6 @@ <key>Value</key> <string>default</string> </map> - <key>LanguageIsPublic</key> - <map> - <key>Comment</key> - <string>Let other residents see our language information</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> <key>LastFeatureVersion</key> <map> <key>Comment</key> diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index a46db09e3e..7ce985542f 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4770,9 +4770,6 @@ void LLAgent::buildFullnameAndTitle(std::string& name) const BOOL LLAgent::isInGroup(const LLUUID& group_id) const { - if (isGodlike()) - return true; - S32 count = mGroups.count(); for(S32 i = 0; i < count; ++i) { @@ -4787,9 +4784,6 @@ BOOL LLAgent::isInGroup(const LLUUID& group_id) const // This implementation should mirror LLAgentInfo::hasPowerInGroup BOOL LLAgent::hasPowerInGroup(const LLUUID& group_id, U64 power) const { - if (isGodlike()) - return true; - // GP_NO_POWERS can also mean no power is enough to grant an ability. if (GP_NO_POWERS == power) return FALSE; @@ -4811,9 +4805,6 @@ BOOL LLAgent::hasPowerInActiveGroup(U64 power) const U64 LLAgent::getPowerInGroup(const LLUUID& group_id) const { - if (isGodlike()) - return GP_ALL_POWERS; - S32 count = mGroups.count(); for(S32 i = 0; i < count; ++i) { diff --git a/indra/newview/llagentlanguage.cpp b/indra/newview/llagentlanguage.cpp deleted file mode 100644 index 7401f95f29..0000000000 --- a/indra/newview/llagentlanguage.cpp +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @file llagentlanguage.cpp - * @brief Transmit language information to server - * - * $LicenseInfo:firstyear=2006&license=viewergpl$ - * - * Copyright (c) 2006-2007, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" -#include "llagentlanguage.h" -#include "llagent.h" -#include "llviewercontrol.h" -#include "llviewerregion.h" - -LLAgentLanguage::LLAgentLanguage() -{ - gSavedSettings.getControl("Language")->getSignal()->connect(boost::bind(&update)); - gSavedSettings.getControl("SystemLanguage")->getSignal()->connect(boost::bind(&update)); - gSavedSettings.getControl("LanguageIsPublic")->getSignal()->connect(boost::bind(&update)); -} - - -// send language settings to the sim -// static -bool LLAgentLanguage::update() -{ - LLSD body; - std::string url = gAgent.getRegion()->getCapability("UpdateAgentLanguage"); - if (!url.empty()) - { - std::string language = gSavedSettings.getString("Language"); - if (language == "default") - language = gSavedSettings.getString("SystemLanguage"); - - body["language"] = language; - body["language_is_public"] = gSavedSettings.getBOOL("LanguageIsPublic"); - - LLHTTPClient::post(url, body, new LLHTTPClient::Responder); - } - return true; -} - diff --git a/indra/newview/llagentlanguage.h b/indra/newview/llagentlanguage.h deleted file mode 100644 index 8d708b27fc..0000000000 --- a/indra/newview/llagentlanguage.h +++ /dev/null @@ -1,45 +0,0 @@ -/** - * @file llagentlanguage.h - * @brief Transmit language information to server - * - * $LicenseInfo:firstyear=2006&license=viewergpl$ - * - * Copyright (c) 2006-2007, Linden Research, Inc. - * - * Second Life Viewer Source Code - * The source code in this file ("Source Code") is provided by Linden Lab - * to you under the terms of the GNU General Public License, version 2.0 - * ("GPL"), unless you have obtained a separate licensing agreement - * ("Other License"), formally executed by you and Linden Lab. Terms of - * the GPL can be found in doc/GPL-license.txt in this distribution, or - * online at http://secondlife.com/developers/opensource/gplv2 - * - * There are special exceptions to the terms and conditions of the GPL as - * it is applied to this Source Code. View the full text of the exception - * in the file doc/FLOSS-exception.txt in this software distribution, or - * online at http://secondlife.com/developers/opensource/flossexception - * - * By copying, modifying or distributing this software, you acknowledge - * that you have read and understood your obligations described above, - * and agree to abide by those obligations. - * - * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO - * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, - * COMPLETENESS OR PERFORMANCE. - * $/LicenseInfo$ - */ - -#ifndef LL_LLAGENTLANGUAGE_H -#define LL_LLAGENTLANGUAGE_H - -#include "llmemory.h" -#include "llevent.h" - -class LLAgentLanguage: public LLSingleton<LLAgentLanguage>, public LLSimpleListener -{ - public: - LLAgentLanguage(); - static bool update(); -}; - -#endif // LL_LLAGENTLANGUAGE_H diff --git a/indra/newview/llagentpilot.cpp b/indra/newview/llagentpilot.cpp index 136afb78aa..f0bd452109 100644 --- a/indra/newview/llagentpilot.cpp +++ b/indra/newview/llagentpilot.cpp @@ -45,15 +45,12 @@ LLAgentPilot gAgentPilot; BOOL LLAgentPilot::sLoop = TRUE; -LLAgentPilot::LLAgentPilot() : - mNumRuns(-1), - mQuitAfterRuns(FALSE), - mRecording(FALSE), - mLastRecordTime(0.f), - mStarted(FALSE), - mPlaying(FALSE), - mCurrentAction(0) +LLAgentPilot::LLAgentPilot() { + mRecording = FALSE; + mPlaying = FALSE; + mStarted = FALSE; + mNumRuns = -1; } LLAgentPilot::~LLAgentPilot() diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 10fe4a9a79..45fbb5e65f 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -1966,12 +1966,11 @@ bool LLAppViewer::initConfiguration() cmd += "linux-crash-logger.bin"; #else // LL_SOLARIS cmd += "bin/solaris-crash-logger"; -#endif // LL_LINUX +#endif char* const cmdargv[] = {(char*)cmd.c_str(), (char*)"-previous", NULL}; - fflush(NULL); // flush all buffers before the child inherits them pid_t pid = fork(); if (pid == 0) { // child diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp index 3d2ae03d63..b43c9db40a 100644 --- a/indra/newview/llassetuploadresponders.cpp +++ b/indra/newview/llassetuploadresponders.cpp @@ -76,7 +76,6 @@ LLAssetUploadResponder::LLAssetUploadResponder(const LLSD &post_data, const std::string& file_name) : LLHTTPClient::Responder(), mPostData(post_data), - mAssetType(LLAssetType::AT_NONE), mFileName(file_name) { } diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp index bbcb7e64d4..6aee25deca 100644 --- a/indra/newview/llcurrencyuimanager.cpp +++ b/indra/newview/llcurrencyuimanager.cpp @@ -122,7 +122,6 @@ LLCurrencyUIManager::Impl::Impl(LLPanel& dialog) mError(false), mUserCurrencyBuy(1000), mUserEnteredCurrencyBuy(false), mSiteCurrencyEstimated(false), - mSiteCurrencyEstimatedCost(0), mBought(false), mTransactionType(TransactionNone), mTransaction(0), mCurrencyChanged(false) diff --git a/indra/newview/lleventnotifier.cpp b/indra/newview/lleventnotifier.cpp index d7fe6777e2..8e2069207f 100644 --- a/indra/newview/lleventnotifier.cpp +++ b/indra/newview/lleventnotifier.cpp @@ -203,8 +203,7 @@ void LLEventNotifier::notifyCallback(S32 option, void *user_data) LLEventNotification::LLEventNotification() : mEventID(0), - mEventName(""), - mEventDate(0) + mEventName("") { } diff --git a/indra/newview/llfloatergroupinvite.cpp b/indra/newview/llfloatergroupinvite.cpp index b875bd5baa..a82e6e914e 100644 --- a/indra/newview/llfloatergroupinvite.cpp +++ b/indra/newview/llfloatergroupinvite.cpp @@ -57,10 +57,9 @@ public: // std::map<LLUUID, LLFloaterGroupInvite*> LLFloaterGroupInvite::impl::sInstances; -LLFloaterGroupInvite::impl::impl(const LLUUID& group_id) : - mGroupID(group_id), - mInvitePanelp(NULL) +LLFloaterGroupInvite::impl::impl(const LLUUID& group_id) { + mGroupID = group_id; } LLFloaterGroupInvite::impl::~impl() diff --git a/indra/newview/llfollowcam.cpp b/indra/newview/llfollowcam.cpp index bc91f4a579..a370554ef6 100644 --- a/indra/newview/llfollowcam.cpp +++ b/indra/newview/llfollowcam.cpp @@ -264,7 +264,6 @@ LLFollowCam::LLFollowCam() : LLFollowCamParams() mSubjectRotation = LLQuaternion::DEFAULT; mZoomedToMinimumDistance = false; - mPitchCos = mPitchSin = 0.f; mPitchSineAndCosineNeedToBeUpdated = true; mSimulatedDistance = mDistance; diff --git a/indra/newview/llfollowcam.h b/indra/newview/llfollowcam.h index 1c5eb79697..ab8ffb1fa4 100644 --- a/indra/newview/llfollowcam.h +++ b/indra/newview/llfollowcam.h @@ -169,6 +169,8 @@ public: // protected members of FollowCam //------------------------------------------ protected: + F32 mPositionLagTimeScale; // derived from mPositionLag + F32 mFocusLagTimeScale; // derived from mFocusLag F32 mPitchCos; // derived from mPitch F32 mPitchSin; // derived from mPitch LLGlobalVec mSimulatedPositionGlobal; // where the camera is (global coordinates), simulated diff --git a/indra/newview/llhudeffectlookat.cpp b/indra/newview/llhudeffectlookat.cpp index 5f4daf6f40..046eac73fe 100644 --- a/indra/newview/llhudeffectlookat.cpp +++ b/indra/newview/llhudeffectlookat.cpp @@ -73,11 +73,8 @@ const F32 MAX_TIMEOUT = F32_MAX / 2.f; class LLAttention { public: - LLAttention() - : mTimeout(0.f), - mPriority(0.f) - {} - LLAttention(F32 timeout, F32 priority, LLString name, LLColor3 color) : + LLAttention(){} + LLAttention(F32 timeout, F32 priority, char *name, LLColor3 color) : mTimeout(timeout), mPriority(priority), mName(name), mColor(color) { } diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 729165a2a4..5ae7c2a4e7 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -1369,9 +1369,7 @@ bool LLFindWearables::operator()(LLInventoryCategory* cat, class LLRightClickInventoryFetchObserver : public LLInventoryFetchObserver { public: - LLRightClickInventoryFetchObserver() : - mCopyItems(false) - { }; + LLRightClickInventoryFetchObserver() {}; LLRightClickInventoryFetchObserver(const LLUUID& cat_id, bool copy_items) : mCatID(cat_id), mCopyItems(copy_items) @@ -2239,7 +2237,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item, if(accept && drop) { if (inv_item->getType() == LLAssetType::AT_GESTURE - && gGestureManager.isGestureActive(inv_item->getUUID()) && move_is_into_trash) + && gGestureManager.isGestureActive(inv_item->getUUID())) { gGestureManager.deactivateGesture(inv_item->getUUID()); } diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp index 42df0c2ac8..fb86366cc6 100644 --- a/indra/newview/llpanelgroup.cpp +++ b/indra/newview/llpanelgroup.cpp @@ -193,7 +193,7 @@ void LLPanelGroup::updateTabVisibility() LLPanelGroupTab* panelp = (LLPanelGroupTab*) mTabContainer->getPanelByIndex(i); - BOOL visible = panelp->isVisibleByAgent(&gAgent) || gAgent.isGodlike(); + BOOL visible = panelp->isVisibleByAgent(&gAgent); mTabContainer->enableTabButton(i, visible); if ( !visible && mCurrentTab == panelp ) diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp index 5f11c4ac80..c04b1b72cd 100644 --- a/indra/newview/llpanelgrouproles.cpp +++ b/indra/newview/llpanelgrouproles.cpp @@ -61,9 +61,6 @@ bool agentCanRemoveFromRole(const LLUUID& group_id, bool agentCanAddToRole(const LLUUID& group_id, const LLUUID& role_id) { - if (gAgent.isGodlike()) - return true; - LLGroupMgrGroupData* gdatap = LLGroupMgr::getInstance()->getGroupData(group_id); if (!gdatap) { @@ -180,6 +177,9 @@ BOOL LLPanelGroupRoles::postBuild() BOOL LLPanelGroupRoles::isVisibleByAgent(LLAgent* agentp) { + if (agentp->isGodlike()) + return TRUE; + /* This power was removed to make group roles simpler return agentp->hasPowerInGroup(mGroupID, GP_ROLE_CREATE | @@ -1131,9 +1131,6 @@ void LLPanelGroupMembersSubTab::handleMemberSelect() } mAssignedRolesList->setEnabled(TRUE); - if (gAgent.isGodlike()) - can_eject_members = TRUE; - if (!can_eject_members && !member_is_owner) { // Maybe we can eject them because we are an owner... diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp index 830d1c008b..7f9dae8a64 100644 --- a/indra/newview/llpanelpermissions.cpp +++ b/indra/newview/llpanelpermissions.cpp @@ -98,8 +98,8 @@ BOOL LLPanelPermissions::postBuild() this->childSetCommitCallback("checkbox for sale",LLPanelPermissions::onCommitSaleInfo,this); - this->childSetCommitCallback("Edit Cost",LLPanelPermissions::onCommitSaleInfo,this); - this->childSetPrevalidate("Edit Cost",LLLineEditor::prevalidateNonNegativeS32); + this->childSetCommitCallback("EdCost",LLPanelPermissions::onCommitSaleInfo,this); + this->childSetPrevalidate("EdCost",LLLineEditor::prevalidateNonNegativeS32); this->childSetCommitCallback("sale type",LLPanelPermissions::onCommitSaleType,this); @@ -229,10 +229,9 @@ void LLPanelPermissions::refresh() RadioSaleType->setEnabled(FALSE); } - childSetEnabled("Cost",false); - childSetText("Cost",LLString(childGetText("Cost Default"))); - childSetText("Edit Cost",LLString::null); - childSetEnabled("Edit Cost",false); + childSetEnabled("Price: L$",false); + childSetText("EdCost",LLString::null); + childSetEnabled("EdCost",false); childSetEnabled("label click action",false); LLComboBox* ComboClickAction = getChild<LLComboBox>("clickaction"); @@ -406,92 +405,56 @@ void LLPanelPermissions::refresh() childSetText("prim info",object_info_string); childSetEnabled("prim info",true); - S32 total_sale_price = 0; - S32 individual_sale_price = 0; - BOOL is_for_sale_mixed = FALSE; - BOOL is_sale_price_mixed = FALSE; - U32 num_for_sale = FALSE; - LLSelectMgr::getInstance()->selectGetAggregateSaleInfo(num_for_sale, - is_for_sale_mixed, - is_sale_price_mixed, - total_sale_price, - individual_sale_price); - - const BOOL self_owned = (gAgent.getID() == mOwnerID); - const BOOL group_owned = LLSelectMgr::getInstance()->selectIsGroupOwned() ; - const BOOL public_owned = (mOwnerID.isNull() && !LLSelectMgr::getInstance()->selectIsGroupOwned()); - const BOOL can_transfer = LLSelectMgr::getInstance()->selectGetRootsTransfer(); - const BOOL can_copy = LLSelectMgr::getInstance()->selectGetRootsCopy(); + S32 price; + BOOL is_for_sale = LLSelectMgr::getInstance()->selectIsForSale(price); + if (!is_for_sale) + { + price = DEFAULT_PRICE; + } + + BOOL self_owned = (gAgent.getID() == mOwnerID); + BOOL group_owned = LLSelectMgr::getInstance()->selectIsGroupOwned() ; + BOOL public_owned = (mOwnerID.isNull() && !LLSelectMgr::getInstance()->selectIsGroupOwned()); + BOOL can_transfer = LLSelectMgr::getInstance()->selectGetRootsTransfer(); + BOOL can_copy = LLSelectMgr::getInstance()->selectGetRootsCopy(); if(!owners_identical) { - childSetEnabled("Cost",false); - childSetText("Edit Cost",LLString::null); - childSetEnabled("Edit Cost",false); + childSetEnabled("Price: L$",false); + childSetText("EdCost",LLString::null); + childSetEnabled("EdCost",false); } - // You own these objects. else if(self_owned || (group_owned && gAgent.hasPowerInGroup(group_id,GP_OBJECT_SET_SALE))) { - // If there are multiple items for sale then set text to PRICE PER UNIT. - if (num_for_sale > 1) + LLLineEditor* EditPrice = getChild<LLLineEditor>("EdCost"); + if(keyboard_focus_view != EditPrice) { - childSetText("Cost",childGetText("Cost Per Unit")); + childSetText("EdCost",llformat("%d",price)); } - else + if(is_for_sale && is_one_object && can_transfer) { - childSetText("Cost",childGetText("Cost Default")); + childSetEnabled("Price: L$",true); + childSetEnabled("EdCost",true); } - - LLLineEditor *editPrice = getChild<LLLineEditor>("Edit Cost"); - if(keyboard_focus_view != editPrice) + else { - // If the sale price is mixed then set the cost to MIXED, otherwise - // set to the actual cost. - if (num_for_sale > 0 && is_for_sale_mixed) - { - childSetText("Edit Cost",childGetText("Sale Mixed")); - } - else if (num_for_sale > 0 && is_sale_price_mixed) - { - childSetText("Edit Cost",childGetText("Cost Mixed")); - } - else - { - childSetText("Edit Cost",llformat("%d",individual_sale_price)); - } + childSetEnabled("Price: L$",false); + childSetEnabled("EdCost",false); } - // The edit fields are only enabled if you can sell this object - // and the sale price is not mixed. - bool enable_edit = (num_for_sale && can_transfer) ? !is_for_sale_mixed : false; - childSetEnabled("Cost",enable_edit); - childSetEnabled("Edit Cost",enable_edit); } - // Someone, not you, owns these objects. else if(!public_owned) { - childSetEnabled("Cost",false); - childSetEnabled("Edit Cost",false); - - // Don't show a price if none of the items are for sale. - if (num_for_sale) - childSetText("Edit Cost",llformat("%d",total_sale_price)); - else - childSetText("Edit Cost",LLString::null); - - // If multiple items are for sale, set text to TOTAL PRICE. - if (num_for_sale > 1) - childSetText("Cost",childGetText("Cost Total")); - else - childSetText("Cost",childGetText("Cost Default")); + // ...someone, not you, owns it + childSetEnabled("Price: L$",false); + childSetText("EdCost",llformat("%d",price)); + childSetEnabled("EdCost",false); } - // This is a public object. else { - childSetEnabled("Cost",false); - childSetText("Cost",childGetText("Cost Default")); - - childSetText("Edit Cost",LLString::null); - childSetEnabled("Edit Cost",false); + // ...public object + childSetEnabled("Price: L$",false); + childSetText("EdCost",LLString::null); + childSetEnabled("EdCost",false); } // Enable and disable the permissions checkboxes @@ -627,11 +590,8 @@ void LLPanelPermissions::refresh() if (has_change_sale_ability && (owner_mask_on & PERM_TRANSFER)) { - childSetEnabled("checkbox for sale", can_transfer || (!can_transfer && num_for_sale)); - // Set the checkbox to tentative if the prices of each object selected - // are not the same. - childSetTentative("checkbox for sale", is_for_sale_mixed); - childSetEnabled("sale type",num_for_sale && can_transfer && !is_sale_price_mixed); + childSetEnabled("checkbox for sale", can_transfer || (!can_transfer && is_for_sale)); + childSetEnabled("sale type",is_for_sale && can_transfer); childSetEnabled("Next owner can:", TRUE); childSetEnabled("checkbox next owner can modify",base_mask_on & PERM_MODIFY); @@ -773,23 +733,21 @@ void LLPanelPermissions::refresh() if (valid_sale_info) { RadioSaleType->setSelectedIndex((S32)sale_type - 1); - RadioSaleType->setTentative(FALSE); // unfortunately this doesn't do anything at the moment. } else { // default option is sell copy, determined to be safest RadioSaleType->setSelectedIndex((S32)LLSaleInfo::FS_COPY - 1); - RadioSaleType->setTentative(TRUE); // unfortunately this doesn't do anything at the moment. } } - childSetValue("checkbox for sale", num_for_sale != 0); + childSetValue("checkbox for sale", is_for_sale); // HACK: There are some old objects in world that are set for sale, // but are no-transfer. We need to let users turn for-sale off, but only // if for-sale is set. bool cannot_actually_sell = !can_transfer || (!can_copy && sale_type == LLSaleInfo::FS_COPY); - if (num_for_sale && has_change_sale_ability && cannot_actually_sell) + if (is_for_sale && has_change_sale_ability && cannot_actually_sell) { childSetEnabled("checkbox for sale", true); } @@ -1013,10 +971,9 @@ void LLPanelPermissions::setAllSaleInfo() llinfos << "LLPanelPermissions::setAllSaleInfo()" << llendl; LLSaleInfo::EForSale sale_type = LLSaleInfo::FS_NOT; - LLCheckBoxCtrl *checkPurchase = getChild<LLCheckBoxCtrl>("checkbox for sale"); - - // Set the sale type if the object(s) are for sale. - if(checkPurchase && checkPurchase->get()) + LLCheckBoxCtrl* mCheckPurchase = getChild<LLCheckBoxCtrl>("checkbox for sale"); + + if(mCheckPurchase && mCheckPurchase->get()) { LLRadioGroup* RadioSaleType = getChild<LLRadioGroup>("sale type"); if(RadioSaleType) @@ -1038,37 +995,23 @@ void LLPanelPermissions::setAllSaleInfo() } } } + LLLineEditor* mEditPrice = getChild<LLLineEditor>("EdCost"); S32 price = -1; - - LLLineEditor *editPrice = getChild<LLLineEditor>("Edit Cost"); - if (editPrice) + if(mEditPrice) { - // Don't extract the price if it's labeled as MIXED or is empty. - const char *editPriceString = editPrice->getText().c_str(); - if (0 != strcmp(editPriceString,childGetText("Cost Mixed").c_str()) && - 0 != strcmp(editPriceString,"")) - { - price = atoi(editPriceString); - } - else - { - price = DEFAULT_PRICE; - } + price = atoi(mEditPrice->getText().c_str()); } - // If somehow an invalid price, turn the sale off. + // Invalid data - turn off the sale if (price < 0) - sale_type = LLSaleInfo::FS_NOT; - - // Force the sale price of not-for-sale items to DEFAULT_PRICE. - if (sale_type == LLSaleInfo::FS_NOT) { - price = DEFAULT_PRICE; + sale_type = LLSaleInfo::FS_NOT; + price = 0; } - // Pack up the sale info and send the update. + LLSaleInfo sale_info(sale_type, price); LLSelectMgr::getInstance()->selectionSetObjectSaleInfo(sale_info); - + // If turned off for-sale, make sure click-action buy is turned // off as well if (sale_type == LLSaleInfo::FS_NOT) diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp index 947557e0b3..85d5def673 100644 --- a/indra/newview/llpolymesh.cpp +++ b/indra/newview/llpolymesh.cpp @@ -687,12 +687,6 @@ LLPolyMesh::LLPolyMesh(LLPolyMeshSharedData *shared_data, LLPolyMesh *reference_ mAvatarp = NULL; mVertexData = NULL; - mCurVertexCount = 0; - mFaceIndexCount = 0; - mFaceIndexOffset = 0; - mFaceVertexCount = 0; - mFaceVertexOffset = 0; - if (shared_data->isLOD() && reference_mesh) { mCoords = reference_mesh->mCoords; diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 96c9ec113b..5eacb25ded 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2827,53 +2827,27 @@ void LLSelectMgr::selectForceDelete() SEND_ONLY_ROOTS); } -void LLSelectMgr::selectGetAggregateSaleInfo(U32 &num_for_sale, - BOOL &is_for_sale_mixed, - BOOL &is_sale_price_mixed, - S32 &total_sale_price, - S32 &individual_sale_price) -{ - num_for_sale = 0; - is_for_sale_mixed = FALSE; - is_sale_price_mixed = FALSE; - total_sale_price = 0; - individual_sale_price = 0; +// returns TRUE if anything is for sale. calculates the total price +// and stores that value in price. +BOOL LLSelectMgr::selectIsForSale(S32& price) +{ + BOOL any_for_sale = FALSE; + price = 0; - // Empty set. - if (getSelection()->root_begin() == getSelection()->root_end()) - return; - - LLSelectNode *node = *(getSelection()->root_begin()); - const BOOL first_node_for_sale = node->mSaleInfo.isForSale(); - const S32 first_node_sale_price = node->mSaleInfo.getSalePrice(); - for (LLObjectSelection::root_iterator iter = getSelection()->root_begin(); iter != getSelection()->root_end(); iter++) { LLSelectNode* node = *iter; - const BOOL node_for_sale = node->mSaleInfo.isForSale(); - const S32 node_sale_price = node->mSaleInfo.getSalePrice(); - - // Set mixed if the fields don't match the first node's fields. - if (node_for_sale != first_node_for_sale) - is_for_sale_mixed = TRUE; - if (node_sale_price != first_node_sale_price) - is_sale_price_mixed = TRUE; - - if (node_for_sale) + if (node->mSaleInfo.isForSale()) { - total_sale_price += node_sale_price; - num_for_sale ++; + price += node->mSaleInfo.getSalePrice(); + any_for_sale = TRUE; } } - - individual_sale_price = first_node_sale_price; - if (is_for_sale_mixed) - { - is_sale_price_mixed = TRUE; - individual_sale_price = 0; - } + + return any_for_sale; + } // returns TRUE if all nodes are valid. method also stores an @@ -3529,6 +3503,8 @@ void LLSelectMgr::selectionSetObjectCategory(const LLCategory& category) void LLSelectMgr::selectionSetObjectSaleInfo(const LLSaleInfo& sale_info) { + // Only one sale info at a time for now + if(mSelectedObjects->getRootObjectCount() != 1) return; sendListToRegions("ObjectSaleInfo", packAgentAndSessionID, packObjectSaleInfo, diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 6ae688bae6..4a8f99db1f 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -558,14 +558,10 @@ public: // returns TRUE if all the nodes are valid. Accumulates // permissions in the parameter. BOOL selectGetPermissions(LLPermissions& perm); - - // Get a bunch of useful sale information for the object(s) selected. - // "_mixed" is true if not all objects have the same setting. - void selectGetAggregateSaleInfo(U32 &num_for_sale, - BOOL &is_for_sale_mixed, - BOOL &is_sale_price_mixed, - S32 &total_sale_price, - S32 &individual_sale_price); + + // returns TRUE if anything is for sale. calculates the total + // price and stores that value in price. + BOOL selectIsForSale(S32& price); // returns TRUE if all nodes are valid. BOOL selectGetCategory(LLCategory& category); diff --git a/indra/newview/llsprite.cpp b/indra/newview/llsprite.cpp index 1348f85201..f74173425c 100644 --- a/indra/newview/llsprite.cpp +++ b/indra/newview/llsprite.cpp @@ -59,18 +59,30 @@ LLVector3 LLSprite::sNormal(0.0f,0.0f,0.0f); ////////////////////////////////////////////////////////////////////// // A simple initialization -LLSprite::LLSprite(const LLUUID &image_uuid) : - mImageID(image_uuid), - mImagep(NULL), - mPitch(0.f), - mYaw(0.f), - mPosition(0.0f, 0.0f, 0.0f), - mFollow(TRUE), - mUseCameraUp(TRUE), - mColor(0.5f, 0.5f, 0.5f, 1.0f), - mTexMode(GL_REPLACE) +LLSprite::LLSprite(const LLUUID &image_uuid) { + mImageID = image_uuid; + mImagep = NULL; + setSize(1.0f, 1.0f); + setPosition(LLVector3(0.0f, 0.0f, 0.0f)); + mTexMode = GL_REPLACE; + mColor.setVec(0.5f, 0.5f, 0.5f, 1.0f); + mFollow = TRUE; + mUseCameraUp = TRUE; +} + +LLSprite::LLSprite(const LLUUID &image_uuid, const F32 width, const F32 height, const BOOL b_usemipmap) +{ + mImageID = image_uuid; + mImagep = NULL; + + setSize(width,height); + setPosition(LLVector3(0.0f, 0.0f, 0.0f)); + mTexMode = GL_REPLACE; + mColor.setVec(0.5f, 0.5f, 0.5f, 1.0f); + mFollow = TRUE; + mUseCameraUp = TRUE; } ////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/llsprite.h b/indra/newview/llsprite.h index 322150e85b..04d30b8e7c 100644 --- a/indra/newview/llsprite.h +++ b/indra/newview/llsprite.h @@ -49,6 +49,7 @@ class LLSprite { public: LLSprite(const LLUUID &image_uuid); + LLSprite(const LLUUID &image_uuid, const F32 width, const F32 height, const BOOL b_usemipmap = TRUE); ~LLSprite(); void render(LLViewerCamera * camerap); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 4844f2d81e..7d9bab59df 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -174,11 +174,6 @@ #include "llpostprocess.h" #include "llwlparammanager.h" #include "llwaterparammanager.h" -#include "llagentlanguage.h" - -#if LL_LIBXUL_ENABLED -#include "llmozlib.h" -#endif // LL_LIBXUL_ENABLED #if LL_WINDOWS #include "llwindebug.h" @@ -474,7 +469,7 @@ BOOL idle_startup() } else { - LLAppViewer::instance()->earlyExit("Message Template " + message_template_path + " not found."); + LLAppViewer::instance()->earlyExit("Unable to initialize communications."); } if(gMessageSystem && gMessageSystem->isOK()) @@ -2152,10 +2147,6 @@ BOOL idle_startup() // JC - 7/20/2002 gViewerWindow->sendShapeToSim(); - // Inform simulator of our language preference - LLAgentLanguage::update(); - - // Ignore stipend information for now. Money history is on the web site. // if needed, show the L$ history window //if (stipend_since_login && !gNoRender) diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp index 6697b06659..94f8b8ae67 100644 --- a/indra/newview/llstatusbar.cpp +++ b/indra/newview/llstatusbar.cpp @@ -1,33 +1,33 @@ /** -* @file llstatusbar.cpp -* @brief LLStatusBar class implementation -* -* $LicenseInfo:firstyear=2002&license=viewergpl$ -* -* Copyright (c) 2002-2007, Linden Research, Inc. -* -* Second Life Viewer Source Code -* The source code in this file ("Source Code") is provided by Linden Lab -* to you under the terms of the GNU General Public License, version 2.0 -* ("GPL"), unless you have obtained a separate licensing agreement -* ("Other License"), formally executed by you and Linden Lab. Terms of -* the GPL can be found in doc/GPL-license.txt in this distribution, or -* online at http://secondlife.com/developers/opensource/gplv2 -* -* There are special exceptions to the terms and conditions of the GPL as -* it is applied to this Source Code. View the full text of the exception -* in the file doc/FLOSS-exception.txt in this software distribution, or -* online at http://secondlife.com/developers/opensource/flossexception -* -* By copying, modifying or distributing this software, you acknowledge -* that you have read and understood your obligations described above, -* and agree to abide by those obligations. -* -* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO -* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, -* COMPLETENESS OR PERFORMANCE. -* $/LicenseInfo$ -*/ + * @file llstatusbar.cpp + * @brief LLStatusBar class implementation + * + * $LicenseInfo:firstyear=2002&license=viewergpl$ + * + * Copyright (c) 2002-2007, Linden Research, Inc. + * + * Second Life Viewer Source Code + * The source code in this file ("Source Code") is provided by Linden Lab + * to you under the terms of the GNU General Public License, version 2.0 + * ("GPL"), unless you have obtained a separate licensing agreement + * ("Other License"), formally executed by you and Linden Lab. Terms of + * the GPL can be found in doc/GPL-license.txt in this distribution, or + * online at http://secondlife.com/developers/opensource/gplv2 + * + * There are special exceptions to the terms and conditions of the GPL as + * it is applied to this Source Code. View the full text of the exception + * in the file doc/FLOSS-exception.txt in this software distribution, or + * online at http://secondlife.com/developers/opensource/flossexception + * + * By copying, modifying or distributing this software, you acknowledge + * that you have read and understood your obligations described above, + * and agree to abide by those obligations. + * + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. + * $/LicenseInfo$ + */ #include "llviewerprecompiledheaders.h" @@ -121,10 +121,10 @@ const U32 LLStatusBar::MAX_DATE_STRING_LENGTH = 2000; LLStatusBar::LLStatusBar(const std::string& name, const LLRect& rect) : LLPanel(name, LLRect(), FALSE), // not mouse opaque -mBalance(0), -mHealth(100), -mSquareMetersCredit(0), -mSquareMetersCommitted(0) + mBalance(0), + mHealth(100), + mSquareMetersCredit(0), + mSquareMetersCommitted(0) { // status bar can possible overlay menus? setMouseOpaque(FALSE); @@ -150,7 +150,7 @@ mSquareMetersCommitted(0) mTextHealth = getChild<LLTextBox>("HealthText" ); mTextTime = getChild<LLTextBox>("TimeText" ); - + childSetAction("scriptout", onClickScriptDebug, this); childSetAction("health", onClickHealth, this); childSetAction("no_fly", onClickFly, this); @@ -233,8 +233,8 @@ void LLStatusBar::draw() if (isBackgroundVisible()) { gl_drop_shadow(0, getRect().getHeight(), getRect().getWidth(), 0, - LLUI::sColorsGroup->getColor("ColorDropShadow"), - LLUI::sConfigGroup->getS32("DropShadowFloater") ); + LLUI::sColorsGroup->getColor("ColorDropShadow"), + LLUI::sConfigGroup->getS32("DropShadowFloater") ); } LLPanel::draw(); } @@ -252,7 +252,7 @@ void LLStatusBar::refresh() mSGBandwidth->setThreshold(2, bwtotal); // *TODO: Localize / translate time - + // Get current UTC time, adjusted for the user's clock // being off. U32 utc_time; @@ -284,23 +284,23 @@ void LLStatusBar::refresh() if (hour == 0) hour = 12; std::ostringstream t; t << std::setfill(' ') << std::setw(2) << hour << ":" - << std::setfill('0') << std::setw(2) << min - << " " << am_pm << " " << tz; + << std::setfill('0') << std::setw(2) << min + << " " << am_pm << " " << tz; mTextTime->setText(t.str()); // Year starts at 1900, set the tooltip to have the date std::ostringstream date; date << sDays[internal_time->tm_wday] << ", " - << std::setfill('0') << std::setw(2) << internal_time->tm_mday << " " - << sMonths[internal_time->tm_mon] << " " - << internal_time->tm_year + 1900; + << std::setfill('0') << std::setw(2) << internal_time->tm_mday << " " + << sMonths[internal_time->tm_mon] << " " + << internal_time->tm_year + 1900; mTextTime->setToolTip(date.str()); LLRect r; const S32 MENU_RIGHT = gMenuBarView->getRightmostMenuEdge(); S32 x = MENU_RIGHT + MENU_PARCEL_SPACING; S32 y = 0; - + bool search_visible = gSavedSettings.getBOOL("ShowSearchBar"); // reshape menu bar to its content's width @@ -394,8 +394,8 @@ void LLStatusBar::refresh() BOOL no_scripts = FALSE; if((region && ((region->getRegionFlags() & REGION_FLAGS_SKIP_SCRIPTS) - || (region->getRegionFlags() & REGION_FLAGS_ESTATE_SKIP_SCRIPTS))) - || (parcel && !parcel->getAllowOtherScripts())) + || (region->getRegionFlags() & REGION_FLAGS_ESTATE_SKIP_SCRIPTS))) + || (parcel && !parcel->getAllowOtherScripts())) { no_scripts = TRUE; } @@ -487,15 +487,15 @@ void LLStatusBar::refresh() mRegionDetails.mTime = mTextTime->getText(); mRegionDetails.mBalance = mBalance; - mRegionDetails.mAccessString = region->getSimAccessString(); + mRegionDetails.mAccesString = region->getSimAccessString(); mRegionDetails.mPing = region->getNetDetailsForLCD(); - if (parcel) + if (parcel && !parcel->getName().empty()) { location_name = region->getName() + llformat(" %d, %d, %d (%s) - %s", - pos_x, pos_y, pos_z, - region->getSimAccessString(), - parcel->getName().c_str()); + pos_x, pos_y, pos_z, + region->getSimAccessString(), + parcel->getName().c_str()); // keep these around for the LCD to use mRegionDetails.mRegionName = region->getName(); @@ -503,7 +503,6 @@ void LLStatusBar::refresh() mRegionDetails.mX = pos_x; mRegionDetails.mY = pos_y; mRegionDetails.mZ = pos_z; - mRegionDetails.mArea = parcel->getArea(); mRegionDetails.mForSale = parcel->getForSale(); mRegionDetails.mTraffic = LLViewerParcelMgr::getInstance()->getDwelling(); @@ -558,7 +557,7 @@ void LLStatusBar::refresh() // keep these around for the LCD to use mRegionDetails.mRegionName = "Unknown"; mRegionDetails.mParcelName = "Unknown"; - mRegionDetails.mAccessString = "Unknown"; + mRegionDetails.mAccesString = "Unknown"; mRegionDetails.mX = 0; mRegionDetails.mY = 0; mRegionDetails.mZ = 0; diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h index 99bac2471f..91bc787485 100644 --- a/indra/newview/llstatusbar.h +++ b/indra/newview/llstatusbar.h @@ -54,7 +54,7 @@ public: LLRegionDetails() : mRegionName("Unknown"), mParcelName("Unknown"), - mAccessString("Unknown"), + mAccesString("Unknown"), mX(0), mY(0), mZ(0), @@ -68,7 +68,7 @@ public: } std::string mRegionName; std::string mParcelName; - std::string mAccessString; + std::string mAccesString; S32 mX; S32 mY; S32 mZ; diff --git a/indra/newview/llsurface.cpp b/indra/newview/llsurface.cpp index fa85d89388..6618e3d631 100644 --- a/indra/newview/llsurface.cpp +++ b/indra/newview/llsurface.cpp @@ -73,9 +73,7 @@ LLSurface::LLSurface(U32 type, LLViewerRegion *regionp) : mGridsPerEdge(0), mOOGridsPerEdge(0.f), mPatchesPerEdge(0), - mNumberOfPatches(0), mType(type), - mDetailTextureScale(0.f), mOriginGlobal(0.0, 0.0, 0.0), mSTexturep(NULL), mWaterTexturep(NULL), diff --git a/indra/newview/llsurface.h b/indra/newview/llsurface.h index 4e57d7017d..c806d804f1 100644 --- a/indra/newview/llsurface.h +++ b/indra/newview/llsurface.h @@ -217,6 +217,9 @@ protected: F32 mMetersPerGrid; // Converts (i,j) indecies to distance F32 mMetersPerEdge; // = mMetersPerGrid * (mGridsPerEdge-1) + F32 mSurfaceTexScale; // Scale factors for automatic tex coord generation + F32 mDetailTexScale; + LLPatchVertexArray mPVArray; BOOL mHasZData; // We've received any patch data for this surface. diff --git a/indra/newview/llsurfacepatch.cpp b/indra/newview/llsurfacepatch.cpp index 2877fc66e3..7a475f21ba 100644 --- a/indra/newview/llsurfacepatch.cpp +++ b/indra/newview/llsurfacepatch.cpp @@ -52,29 +52,28 @@ extern U64 gFrameTime; extern LLPipeline gPipeline; LLSurfacePatch::LLSurfacePatch() : - mHasReceivedData(FALSE), - mSTexUpdate(FALSE), - mDirty(FALSE), - mDirtyZStats(TRUE), - mHeightsGenerated(FALSE), - mDataOffset(0), - mDataZ(NULL), - mVObjp(NULL), - mOriginRegion(0.f, 0.f, 0.f), - mCenterRegion(0.f, 0.f, 0.f), - mMinZ(0.f), - mMaxZ(0.f), - mMeanZ(0.f), - mRadius(0.f), - mMinComposition(0.f), - mMaxComposition(0.f), - mMeanComposition(0.f), - // This flag is used to communicate between adjacent surfaces and is - // set to non-zero values by higher classes. - mConnectedEdge(NO_EDGE), - mLastUpdateTime(0), - mSurfacep(NULL) -{ + mDataZ(NULL), + mVObjp(NULL), + mLastUpdateTime(0), + mSurfacep(NULL) +{ + // This flag is used to communicate between adjacent surfaces and is set + // to non-zero values by higher classes. + mConnectedEdge = NO_EDGE; + mCenterRegion = LLVector3(0.f, 0.f, 0.f); + mOriginRegion = LLVector3(0.f, 0.f, 0.f); + mHasReceivedData = FALSE; + mMinZ = 0.0f; + mMaxZ = 0.0f; + mMeanZ = 0.0f; + mMinComposition = 0.f; + mMeanComposition = 0.f; + mMaxComposition = 0.f; + mRadius = 0.f; + mDirty = FALSE; + mDirtyZStats = TRUE; + mHeightsGenerated = FALSE; + S32 i; for (i = 0; i < 8; i++) { diff --git a/indra/newview/llsurfacepatch.h b/indra/newview/llsurfacepatch.h index c1f9fda860..0f91e7715e 100644 --- a/indra/newview/llsurfacepatch.h +++ b/indra/newview/llsurfacepatch.h @@ -44,17 +44,9 @@ class LLAgent; // A patch shouldn't know about its visibility since that really depends on the // camera that is looking (or not looking) at it. So, anything about a patch -// that is specific to a camera should be in the class below. -class LLPatchVisibilityInfo +// that is specific to a camera should be in the struct below. +struct LLPatchVisibilityInfo { -public: - LLPatchVisibilityInfo() : - mbIsVisible(FALSE), - mDistance(0.f), - mRenderLevel(0), - mRenderStride(0) { }; - ~LLPatchVisibilityInfo() { }; - BOOL mbIsVisible; F32 mDistance; // Distance from camera S32 mRenderLevel; @@ -161,7 +153,7 @@ protected: // Pointer to the LLVOSurfacePatch object which is used in the new renderer. LLPointer<LLVOSurfacePatch> mVObjp; - // All of the camera-dependent stuff should be in its own class... + // All of the camera-dependent stuff should be in its own structure... LLPatchVisibilityInfo mVisInfo; // pointers to beginnings of patch data fields diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 5073be3173..94501507ab 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -81,16 +81,9 @@ LLToolGrab::LLToolGrab( LLToolComposite* composite ) mHitLand(FALSE), mHitObjectID(), mGrabObject( NULL ), - mLastMouseX(0), - mLastMouseY(0), mMouseDownX( -1 ), mMouseDownY( -1 ), - mMouseMask(0), - mAccumDeltaX(0), - mAccumDeltaY(0), mHasMoved( FALSE ), - mOutsideSlop(FALSE), - mDeselectedThisClick(FALSE), mSpinGrabbing( FALSE ), mSpinRotation(), mHideBuildHighlight(FALSE) diff --git a/indra/newview/lltracker.cpp b/indra/newview/lltracker.cpp index e7559d866b..40ae4e49a6 100644 --- a/indra/newview/lltracker.cpp +++ b/indra/newview/lltracker.cpp @@ -90,8 +90,7 @@ LLTracker::LLTracker() mHasLandmarkPosition(FALSE), mLandmarkHasBeenVisited(FALSE), mTrackedLocationName( "" ), - mIsTrackingLocation(FALSE), - mHasReachedLocation(FALSE) + mIsTrackingLocation(FALSE) { } diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp index aecb1daedc..e21c14637b 100644 --- a/indra/newview/llviewerkeyboard.cpp +++ b/indra/newview/llviewerkeyboard.cpp @@ -564,8 +564,7 @@ void bind_keyboard_functions() gViewerKeyboard.bindNamedFunction("start_gesture", start_gesture); } -LLViewerKeyboard::LLViewerKeyboard() : - mNamedFunctionCount(0) +LLViewerKeyboard::LLViewerKeyboard() { for (S32 i = 0; i < MODE_COUNT; i++) { diff --git a/indra/newview/llviewerkeyboard.h b/indra/newview/llviewerkeyboard.h index df31e17c70..fd024d0902 100644 --- a/indra/newview/llviewerkeyboard.h +++ b/indra/newview/llviewerkeyboard.h @@ -40,9 +40,6 @@ const S32 MAX_KEY_BINDINGS = 128; // was 60 class LLNamedFunction { public: - LLNamedFunction() : mName(NULL), mFunction(NULL) { }; - ~LLNamedFunction() { }; - const char *mName; LLKeyFunc mFunction; }; diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index c8717b2306..499476e065 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -1504,7 +1504,6 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port) //////////////////////////////////////////////////////////////////////////// LLViewerObjectList::OrphanInfo::OrphanInfo() - : mParentInfo(0) { } diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index f14d206b7f..61aa51a6d8 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -112,20 +112,16 @@ struct LLGodForceOwnerData // LLViewerParcelMgr::LLViewerParcelMgr() : mSelected(FALSE), - mRequestResult(0), mWestSouth(), mEastNorth(), mSelectedDwell(0.f), mAgentParcelSequenceID(-1), - mHoverRequestResult(0), mHoverWestSouth(), mHoverEastNorth(), mRenderCollision(FALSE), mRenderSelection(TRUE), mCollisionBanned(0), - mCollisionTimer(), - mMediaParcelId(0), - mMediaRegionId(0) + mCollisionTimer() { mCurrentParcel = new LLParcel(); mCurrentParcelSelection = new LLParcelSelection(mCurrentParcel); diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index fad061f2d2..4b7c849171 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -1394,7 +1394,6 @@ void LLViewerRegion::setSeedCapability(const std::string& url) capabilityNames.append("SendUserReportWithScreenshot"); capabilityNames.append("ServerReleaseNotes"); capabilityNames.append("StartGroupProposal"); - capabilityNames.append("UpdateAgentLanguage"); capabilityNames.append("UpdateGestureAgentInventory"); capabilityNames.append("UpdateNotecardAgentInventory"); capabilityNames.append("UpdateScriptAgentInventory"); diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index e61a6bddf8..bba9fe1ccf 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -218,19 +218,6 @@ void LLVivoxProtocolParser::reset() ignoringTags = false; accumulateText = false; textBuffer.clear(); - - energy = 0.f; - ignoreDepth = 0; - isChannel = false; - isEvent = false; - isLocallyMuted = false; - isModeratorMuted = false; - isSpeaking = false; - participantType = 0; - returnCode = 0; - state = 0; - statusCode = 0; - volume = 0; } //virtual @@ -1342,7 +1329,6 @@ void LLVoiceClient::stateMachine() fakeargv[i] = NULL; - fflush(NULL); // flush all buffers before the child inherits them pid_t id = vfork(); if(id == 0) { @@ -3032,7 +3018,7 @@ void LLVoiceClient::muteListChanged() ///////////////////////////// // Managing list of participants LLVoiceClient::participantState::participantState(const std::string &uri) : - mURI(uri), mPTT(false), mIsSpeaking(false), mIsModeratorMuted(false), mLastSpokeTimestamp(0.f), mPower(0.f), mVolume(0), mServiceType(serviceTypeUnknown), + mURI(uri), mPTT(false), mIsSpeaking(false), mIsModeratorMuted(false), mPower(0.0), mServiceType(serviceTypeUnknown), mOnMuteList(false), mUserVolume(100), mVolumeDirty(false), mAvatarIDValid(false) { } diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 07f4cbe0f0..e45b929b6f 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -84,12 +84,13 @@ const F32 LLWorld::mWidthInMeters = mWidth * mScale; // allocate the stack LLWorld::LLWorld() -: mLandFarClip(DEFAULT_FAR_PLANE), - mLastPacketsIn(0), - mLastPacketsOut(0), - mLastPacketsLost(0), - mSpaceTimeUSec(0) { + mSpaceTimeUSec = 0; + mLastPacketsIn = 0; + mLastPacketsOut = 0; + mLastPacketsLost = 0; + mLandFarClip = DEFAULT_FAR_PLANE; + if (gNoRender) { return; diff --git a/indra/newview/llworld.h b/indra/newview/llworld.h index d65c91a6a6..9dd90480b6 100644 --- a/indra/newview/llworld.h +++ b/indra/newview/llworld.h @@ -170,17 +170,22 @@ private: S32 mLastPacketsOut; S32 mLastPacketsLost; - U64 mSpaceTimeUSec; - //////////////////////////// // // Data for "Fake" objects // + // Used to define the "Square" which we need to fill in + U32 mMinRegionX; + U32 mMaxRegionX; + U32 mMinRegionY; + U32 mMaxRegionY; + std::list<LLVOWater*> mHoleWaterObjects; LLPointer<LLVOWater> mEdgeWaterObjects[8]; LLPointer<LLViewerImage> mDefaultWaterTexturep; + U64 mSpaceTimeUSec; }; diff --git a/indra/newview/llworldmap.cpp b/indra/newview/llworldmap.cpp index 62d12603a0..1bd08c0430 100644 --- a/indra/newview/llworldmap.cpp +++ b/indra/newview/llworldmap.cpp @@ -67,7 +67,6 @@ LLSimInfo::LLSimInfo() : mHandle(0), mName(), mAgentsUpdateTime(0), - mShowAgentLocations(FALSE), mAccess(0x0), mRegionFlags(0x0), mWaterHeight(0.f), |