summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/lib/python/indra/base/llsd.py6
-rw-r--r--indra/llcharacter/llkeyframemotion.cpp17
-rw-r--r--indra/llcharacter/llkeyframemotion.h6
-rw-r--r--indra/llcharacter/llkeyframewalkmotion.cpp14
-rw-r--r--indra/llcharacter/llmotioncontroller.cpp25
-rw-r--r--indra/llcharacter/llmotioncontroller.h2
-rw-r--r--indra/llcharacter/llpose.cpp2
-rw-r--r--indra/llcommon/llapp.cpp1
-rw-r--r--indra/llcommon/llerror.cpp15
-rw-r--r--indra/llcommon/lllslconstants.h3
-rw-r--r--indra/llcommon/llstring.h116
-rw-r--r--indra/llimage/llimagejpeg.cpp3
-rw-r--r--indra/llimage/llimagetga.cpp25
-rw-r--r--indra/llimage/llpngwrapper.cpp9
-rw-r--r--indra/llimage/llpngwrapper.h2
-rw-r--r--indra/llinventory/llparcel.cpp61
-rw-r--r--indra/llinventory/llpermissions.cpp8
-rw-r--r--indra/llinventory/lltransactionflags.cpp15
-rw-r--r--indra/llinventory/lltransactionflags.h2
-rw-r--r--indra/llmath/llcamera.h5
-rw-r--r--indra/llmath/llvolume.cpp12
-rw-r--r--indra/llmath/llvolume.h69
-rwxr-xr-xindra/llmessage/llsdmessagereader.cpp3
-rw-r--r--indra/llui/llscrolllistctrl.h4
-rw-r--r--indra/llui/lltexteditor.cpp6
-rw-r--r--indra/llwindow/llkeyboard.cpp1
-rw-r--r--indra/llwindow/llwindowsdl.cpp2
-rw-r--r--indra/llxml/llxmlnode.cpp3
-rw-r--r--indra/llxml/llxmlnode.h7
-rw-r--r--indra/lscript/lscript_library/lscript_library.cpp6
-rw-r--r--indra/newview/app_settings/settings.xml11
-rw-r--r--indra/newview/llagent.cpp9
-rw-r--r--indra/newview/llagentlanguage.cpp65
-rw-r--r--indra/newview/llagentlanguage.h45
-rw-r--r--indra/newview/llagentpilot.cpp13
-rw-r--r--indra/newview/llappviewer.cpp3
-rw-r--r--indra/newview/llassetuploadresponders.cpp1
-rw-r--r--indra/newview/llcurrencyuimanager.cpp1
-rw-r--r--indra/newview/lleventnotifier.cpp3
-rw-r--r--indra/newview/llfloatergroupinvite.cpp5
-rw-r--r--indra/newview/llfollowcam.cpp1
-rw-r--r--indra/newview/llfollowcam.h2
-rw-r--r--indra/newview/llhudeffectlookat.cpp7
-rw-r--r--indra/newview/llinventorybridge.cpp6
-rw-r--r--indra/newview/llpanelgroup.cpp2
-rw-r--r--indra/newview/llpanelgrouproles.cpp9
-rw-r--r--indra/newview/llpanelpermissions.cpp161
-rw-r--r--indra/newview/llpolymesh.cpp6
-rw-r--r--indra/newview/llselectmgr.cpp52
-rw-r--r--indra/newview/llselectmgr.h12
-rw-r--r--indra/newview/llsprite.cpp32
-rw-r--r--indra/newview/llsprite.h1
-rw-r--r--indra/newview/llstartup.cpp11
-rw-r--r--indra/newview/llstatusbar.cpp103
-rw-r--r--indra/newview/llstatusbar.h4
-rw-r--r--indra/newview/llsurface.cpp2
-rw-r--r--indra/newview/llsurface.h3
-rw-r--r--indra/newview/llsurfacepatch.cpp45
-rw-r--r--indra/newview/llsurfacepatch.h14
-rw-r--r--indra/newview/lltoolgrab.cpp7
-rw-r--r--indra/newview/lltracker.cpp3
-rw-r--r--indra/newview/llviewerkeyboard.cpp3
-rw-r--r--indra/newview/llviewerkeyboard.h3
-rw-r--r--indra/newview/llviewerobjectlist.cpp1
-rw-r--r--indra/newview/llviewerparcelmgr.cpp6
-rw-r--r--indra/newview/llviewerregion.cpp1
-rw-r--r--indra/newview/llvoiceclient.cpp16
-rw-r--r--indra/newview/llworld.cpp11
-rw-r--r--indra/newview/llworld.h9
-rw-r--r--indra/newview/llworldmap.cpp1
70 files changed, 429 insertions, 711 deletions
diff --git a/indra/lib/python/indra/base/llsd.py b/indra/lib/python/indra/base/llsd.py
index 76855deb7f..9e636ea423 100644
--- a/indra/lib/python/indra/base/llsd.py
+++ b/indra/lib/python/indra/base/llsd.py
@@ -215,12 +215,8 @@ class LLSDXMLFormatter(object):
def format(self, something):
return '<?xml version="1.0" ?>' + self.elt("llsd", self.generate(something))
-_g_xml_formatter = None
def format_xml(something):
- global _g_xml_formatter
- if _g_xml_formatter is None:
- _g_xml_formatter = LLSDXMLFormatter()
- return _g_xml_formatter.format(something)
+ return LLSDXMLFormatter().format(something)
class LLSDNotationFormatter(object):
def __init__(self):
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index ce59349d55..91d96904ba 100644
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -71,15 +71,6 @@ static F32 MAX_CONSTRAINTS = 10;
// JointMotionList
//-----------------------------------------------------------------------------
LLKeyframeMotion::JointMotionList::JointMotionList()
- : mDuration(0.f),
- mLoop(FALSE),
- mLoopInPoint(0.f),
- mLoopOutPoint(0.f),
- mEaseInDuration(0.f),
- mEaseOutDuration(0.f),
- mBasePriority(LLJoint::LOW_PRIORITY),
- mHandPose(LLHandMotion::HAND_POSE_SPREAD),
- mMaxPriority(LLJoint::LOW_PRIORITY)
{
}
@@ -2125,19 +2116,11 @@ void LLKeyframeDataCache::clear()
//-----------------------------------------------------------------------------
LLKeyframeMotion::JointConstraint::JointConstraint(JointConstraintSharedData* shared_data) : mSharedData(shared_data)
{
- mWeight = 0.f;
mTotalLength = 0.f;
mActive = FALSE;
mSourceVolume = NULL;
mTargetVolume = NULL;
mFixupDistanceRMS = 0.f;
-
- int i;
- for (i=0; i<MAX_CHAIN_LENGTH; ++i)
- {
- mJointLengths[i] = 0.f;
- mJointLengthFractions[i] = 0.f;
- }
}
//-----------------------------------------------------------------------------
diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h
index a50447c3bf..c383e5e99e 100644
--- a/indra/llcharacter/llkeyframemotion.h
+++ b/indra/llcharacter/llkeyframemotion.h
@@ -224,11 +224,7 @@ protected:
mEaseOutStopTime(0.f),
mUseTargetOffset(FALSE),
mConstraintType(TYPE_POINT),
- mConstraintTargetType(TYPE_BODY),
- mSourceConstraintVolume(0),
- mTargetConstraintVolume(0),
- mJointStateIndices(NULL)
- { };
+ mConstraintTargetType(TYPE_BODY) {};
~JointConstraintSharedData() { delete [] mJointStateIndices; }
S32 mSourceConstraintVolume;
diff --git a/indra/llcharacter/llkeyframewalkmotion.cpp b/indra/llcharacter/llkeyframewalkmotion.cpp
index 471acd8ac3..0d7e34bb4f 100644
--- a/indra/llcharacter/llkeyframewalkmotion.cpp
+++ b/indra/llcharacter/llkeyframewalkmotion.cpp
@@ -139,16 +139,9 @@ BOOL LLKeyframeWalkMotion::onUpdate(F32 time, U8* joint_mask)
// LLWalkAdjustMotion()
// Class Constructor
//-----------------------------------------------------------------------------
-LLWalkAdjustMotion::LLWalkAdjustMotion(const LLUUID &id) :
- LLMotion(id),
- mLastTime(0.f),
- mAvgCorrection(0.f),
- mSpeedAdjust(0.f),
- mAnimSpeed(0.f),
- mAvgSpeed(0.f),
- mRelativeDir(0.f),
- mAnkleOffset(0.f)
+LLWalkAdjustMotion::LLWalkAdjustMotion(const LLUUID &id) : LLMotion(id)
{
+ mLastTime = 0.f;
mName = "walk_adjust";
mPelvisState = new LLJointState;
@@ -356,8 +349,7 @@ void LLWalkAdjustMotion::onDeactivate()
// LLFlyAdjustMotion::LLFlyAdjustMotion()
//-----------------------------------------------------------------------------
LLFlyAdjustMotion::LLFlyAdjustMotion(const LLUUID &id)
- : LLMotion(id),
- mRoll(0.f)
+ : LLMotion(id)
{
mName = "fly_adjust";
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index 5bcae5e635..fff19dbefe 100644
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -155,19 +155,18 @@ LLMotion *LLMotionRegistry::createMotion( const LLUUID &id )
// LLMotionController()
// Class Constructor
//-----------------------------------------------------------------------------
-LLMotionController::LLMotionController()
- : mTimeFactor(1.f),
- mCharacter(NULL),
- mTime(0.f),
- mTimeOffset(0.f),
- mLastTime(0.0f),
- mHasRunOnce(FALSE),
- mPaused(FALSE),
- mPauseTime(0.f),
- mTimeStep(0.f),
- mTimeStepCount(0),
- mLastInterp(0.f)
-{
+LLMotionController::LLMotionController( )
+{
+ mTime = 0.f;
+ mTimeOffset = 0.f;
+ mLastTime = 0.0f;
+ mHasRunOnce = FALSE;
+ mPaused = FALSE;
+ mPauseTime = 0.f;
+ mTimeStep = 0.f;
+ mTimeStepCount = 0;
+ mLastInterp = 0.f;
+ mTimeFactor = 1.f;
}
diff --git a/indra/llcharacter/llmotioncontroller.h b/indra/llcharacter/llmotioncontroller.h
index c6749c5c36..effea0940a 100644
--- a/indra/llcharacter/llmotioncontroller.h
+++ b/indra/llcharacter/llmotioncontroller.h
@@ -227,10 +227,10 @@ protected:
F32 mLastTime;
BOOL mHasRunOnce;
BOOL mPaused;
- F32 mPauseTime;
F32 mTimeStep;
S32 mTimeStepCount;
F32 mLastInterp;
+ F32 mPauseTime;
U8 mJointSignature[2][LL_CHARACTER_MAX_JOINTS];
};
diff --git a/indra/llcharacter/llpose.cpp b/indra/llcharacter/llpose.cpp
index c57fbfdc5d..2120cb223e 100644
--- a/indra/llcharacter/llpose.cpp
+++ b/indra/llcharacter/llpose.cpp
@@ -188,7 +188,6 @@ LLJointStateBlender::LLJointStateBlender()
{
mJointStates[i] = NULL;
mPriorities[i] = S32_MIN;
- mAdditiveBlends[i] = FALSE;
}
}
@@ -459,7 +458,6 @@ void LLJointStateBlender::resetCachedJoint()
//-----------------------------------------------------------------------------
LLPoseBlender::LLPoseBlender()
- : mNextPoseSlot(0)
{
}
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp
index 2c7c7e38a4..d034334aab 100644
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -492,7 +492,6 @@ void LLApp::setDefaultChildCallback(LLAppChildCallback callback)
pid_t LLApp::fork()
{
- fflush(NULL); // flush all buffers before the child inherits them
pid_t pid = ::fork();
if( pid < 0 )
{
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp
index 057b1bb417..13bf368334 100644
--- a/indra/llcommon/llerror.cpp
+++ b/indra/llcommon/llerror.cpp
@@ -1006,15 +1006,18 @@ namespace LLError
<< "(" << site.mLine << ") : ";
}
+ if (message.find(functionName(site.mFunction)) == std::string::npos)
+ {
#if LL_WINDOWS
- // DevStudio: __FUNCTION__ already includes the full class name
+ // DevStudio: __FUNCTION__ already includes the full class name
#else
- if (site.mClassInfo != typeid(NoClassInfo))
- {
- prefix << className(site.mClassInfo) << "::";
- }
+ if (site.mClassInfo != typeid(NoClassInfo))
+ {
+ prefix << className(site.mClassInfo) << "::";
+ }
#endif
- prefix << site.mFunction << ": ";
+ prefix << site.mFunction << ": ";
+ }
prefix << message;
message = prefix.str();
diff --git a/indra/llcommon/lllslconstants.h b/indra/llcommon/lllslconstants.h
index 12467e4e63..e4c83582ce 100644
--- a/indra/llcommon/lllslconstants.h
+++ b/indra/llcommon/lllslconstants.h
@@ -181,7 +181,4 @@ const S32 OBJECT_OWNER = 6;
const S32 OBJECT_GROUP = 7;
const S32 OBJECT_CREATOR = 8;
-// llTextBox() magic token string - yes this is a hack. sue me.
-const std::string TEXTBOX_MAGIC_TOKEN = "!!llTextBox!!";
-
#endif
diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h
index 8a1e1fe8cb..88d7e88edc 100644
--- a/indra/llcommon/llstring.h
+++ b/indra/llcommon/llstring.h
@@ -39,8 +39,15 @@
const char LL_UNKNOWN_CHAR = '?';
-#if LL_DARWIN || LL_LINUX || LL_SOLARIS
-// Template specialization of char_traits for U16s. Only necessary on Mac and Linux (exists on Windows already)
+class LLVector3;
+class LLVector3d;
+class LLQuaternion;
+class LLUUID;
+class LLColor4;
+class LLColor4U;
+
+#if (LL_DARWIN || LL_SOLARIS || (LL_LINUX && __GNUC__ > 2))
+// Template specialization of char_traits for U16s. Only necessary on Mac for now (exists on Windows, unused/broken on Linux/gcc2.95)
namespace std
{
template<>
@@ -159,13 +166,13 @@ public:
// but it might be worthwhile to just go with two implementations (LLString and LLWString) of
// an interface class, unless we can think of a good reason to have a std::basic_string polymorphic base
-// ****************************************************************
+//****************************************************************
// NOTA BENE: do *NOT* dynamically allocate memory inside of LLStringBase as the {*()^#%*)#%W^*)#%*)STL implentation
// of basic_string doesn't provide a virtual destructor. If we need to allocate resources specific to LLString
// then we should either customize std::basic_string to linden::basic_string or change LLString to be a wrapper
// that contains an instance of std::basic_string. Similarly, overriding methods defined in std::basic_string will *not*
// be called in a polymorphic manner (passing an instance of basic_string to a particular function)
-// ****************************************************************
+//****************************************************************
template <class T>
class LLStringBase : public std::basic_string<T>
@@ -189,6 +196,35 @@ public:
LLStringBase(const T* s);
LLStringBase(const T* s, size_type n);
LLStringBase(const T* s, size_type pos, size_type n );
+
+#if LL_LINUX || LL_SOLARIS
+ void clear() { assign(null); }
+
+ LLStringBase<T>& assign(const T* s);
+ LLStringBase<T>& assign(const T* s, size_type n);
+ LLStringBase<T>& assign(const LLStringBase& s);
+ LLStringBase<T>& assign(size_type n, const T& c);
+ LLStringBase<T>& assign(const T* a, const T* b);
+ LLStringBase<T>& assign(typename LLStringBase<T>::iterator &it1, typename LLStringBase<T>::iterator &it2);
+ LLStringBase<T>& assign(typename LLStringBase<T>::const_iterator &it1, typename LLStringBase<T>::const_iterator &it2);
+
+ // workaround for bug in gcc2 STL headers.
+ #if ((__GNUC__ <= 2) && (!defined _STLPORT_VERSION))
+ const T* c_str () const
+ {
+ if (length () == 0)
+ {
+ static const T zero = 0;
+ return &zero;
+ }
+
+ //terminate ();
+ { string_char_traits<T>::assign(const_cast<T*>(data())[length()], string_char_traits<T>::eos()); }
+
+ return data ();
+ }
+ #endif
+#endif
bool operator==(const T* _Right) const { return _Right ? (std::basic_string<T>::compare(_Right) == 0) : this->empty(); }
@@ -751,6 +787,78 @@ LLStringBase<T>::LLStringBase(const T* s, size_type pos, size_type n ) : std::ba
}
}
+#if LL_LINUX || LL_SOLARIS
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(const T* s)
+{
+ if (s)
+ {
+ std::basic_string<T>::assign(s);
+ }
+ else
+ {
+ assign(LLStringBase<T>::null);
+ }
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(const T* s, size_type n)
+{
+ if (s)
+ {
+ std::basic_string<T>::assign(s, n);
+ }
+ else
+ {
+ assign(LLStringBase<T>::null);
+ }
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(const LLStringBase<T>& s)
+{
+ std::basic_string<T>::assign(s);
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(size_type n, const T& c)
+{
+ std::basic_string<T>::assign(n, c);
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(const T* a, const T* b)
+{
+ if (a > b)
+ assign(LLStringBase<T>::null);
+ else
+ assign(a, (size_type) (b-a));
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(typename LLStringBase<T>::iterator &it1, typename LLStringBase<T>::iterator &it2)
+{
+ assign(LLStringBase<T>::null);
+ while(it1 != it2)
+ *this += *it1++;
+ return *this;
+}
+
+template<class T>
+LLStringBase<T>& LLStringBase<T>::assign(typename LLStringBase<T>::const_iterator &it1, typename LLStringBase<T>::const_iterator &it2)
+{
+ assign(LLStringBase<T>::null);
+ while(it1 != it2)
+ *this += *it1++;
+ return *this;
+}
+#endif
+
//static
template<class T>
void LLStringBase<T>::toUpper(std::basic_string<T>& string)
diff --git a/indra/llimage/llimagejpeg.cpp b/indra/llimage/llimagejpeg.cpp
index 1ec92460bd..f9b36bd1f6 100644
--- a/indra/llimage/llimagejpeg.cpp
+++ b/indra/llimage/llimagejpeg.cpp
@@ -40,8 +40,7 @@ LLImageJPEG::LLImageJPEG()
LLImageFormatted(IMG_CODEC_JPEG),
mOutputBuffer( NULL ),
mOutputBufferSize( 0 ),
- mEncodeQuality( 75 ), // on a scale from 1 to 100
- mSetjmpBuffer()
+ mEncodeQuality( 75 ) // on a scale from 1 to 100
{
}
diff --git a/indra/llimage/llimagetga.cpp b/indra/llimage/llimagetga.cpp
index 682434850a..805297f8ee 100644
--- a/indra/llimage/llimagetga.cpp
+++ b/indra/llimage/llimagetga.cpp
@@ -63,30 +63,7 @@ LLImageTGA::LLImageTGA()
mColorMapStart( 0 ),
mColorMapLength( 0 ),
mColorMapBytesPerEntry( 0 ),
- mIs15Bit( FALSE ),
-
- mAttributeBits(0),
- mColorMapDepth(0),
- mColorMapIndexHi(0),
- mColorMapIndexLo(0),
- mColorMapLengthHi(0),
- mColorMapLengthLo(0),
- mColorMapType(0),
- mDataOffset(0),
- mHeightHi(0),
- mHeightLo(0),
- mIDLength(0),
- mImageType(0),
- mInterleave(0),
- mOriginRightBit(0),
- mOriginTopBit(0),
- mPixelSize(0),
- mWidthHi(0),
- mWidthLo(0),
- mXOffsetHi(0),
- mXOffsetLo(0),
- mYOffsetHi(0),
- mYOffsetLo(0)
+ mIs15Bit( FALSE )
{
}
diff --git a/indra/llimage/llpngwrapper.cpp b/indra/llimage/llpngwrapper.cpp
index 7b0c1ea931..74a09b2106 100644
--- a/indra/llimage/llpngwrapper.cpp
+++ b/indra/llimage/llpngwrapper.cpp
@@ -42,22 +42,17 @@
LLPngWrapper::LLPngWrapper()
: mReadPngPtr( NULL ),
- mReadInfoPtr( NULL ),
+ mReadInfoPtr( NULL ),
mWritePngPtr( NULL ),
mWriteInfoPtr( NULL ),
mRowPointers( NULL ),
- mWidth( 0 ),
- mHeight( 0 ),
mBitDepth( 0 ),
mColorType( 0 ),
mChannels( 0 ),
mInterlaceType( 0 ),
mCompressionType( 0 ),
mFilterMethod( 0 ),
- mFinalSize( 0 ),
- mHasBKGD(false),
- mBackgroundColor(),
- mGamma(0.f)
+ mFinalSize( 0 )
{
}
diff --git a/indra/llimage/llpngwrapper.h b/indra/llimage/llpngwrapper.h
index fd21ae697f..1c66b8a31c 100644
--- a/indra/llimage/llpngwrapper.h
+++ b/indra/llimage/llpngwrapper.h
@@ -93,7 +93,7 @@ private:
U32 mFinalSize;
- bool mHasBKGD;
+ BOOL mHasBKGD;
png_color_16p mBackgroundColor;
F64 mGamma;
diff --git a/indra/llinventory/llparcel.cpp b/indra/llinventory/llparcel.cpp
index 0b11b6009e..15beeec866 100644
--- a/indra/llinventory/llparcel.cpp
+++ b/indra/llinventory/llparcel.cpp
@@ -1,33 +1,33 @@
/**
- * @file llparcel.cpp
- * @brief A land parcel.
- *
- * $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 llparcel.cpp
+* @brief A land parcel.
+*
+* $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 "linden_common.h"
@@ -241,9 +241,6 @@ void LLParcel::init(const LLUUID &owner_id,
setSelectedPrimCount(0);
setTempPrimCount(0);
setCleanOtherTime(0);
- setRegionPushOverride(FALSE);
- setRegionDenyAnonymousOverride(FALSE);
- setRegionDenyAgeUnverifiedOverride(FALSE);
setParcelPrimBonus(parcel_object_bonus);
setPreviousOwnerID(LLUUID::null);
diff --git a/indra/llinventory/llpermissions.cpp b/indra/llinventory/llpermissions.cpp
index 99a6313289..f816d54181 100644
--- a/indra/llinventory/llpermissions.cpp
+++ b/indra/llinventory/llpermissions.cpp
@@ -826,7 +826,7 @@ LLXMLNode *LLPermissions::exportFileXML() const
{
LLXMLNode *ret = new LLXMLNode("permissions", FALSE);
- ret->createChild("group_owned", TRUE)->setBoolValue(mIsGroupOwned);
+ ret->createChild("group_owned", TRUE)->setBoolValue(1, (const BOOL*)&mIsGroupOwned);
ret->createChild("base_mask", FALSE)->setByteValue(4, (U8*)&mMaskBase, LLXMLNode::ENCODING_HEX);
ret->createChild("owner_mask", FALSE)->setByteValue(4, (U8*)&mMaskOwner, LLXMLNode::ENCODING_HEX);
@@ -869,11 +869,7 @@ bool LLPermissions::importXML(LLXMLNode* node)
if (node->getChild("group_id", sub_node))
success = success && (1 == sub_node->getUUIDValue(1, &mGroup));
if (node->getChild("group_owned", sub_node))
- {
- BOOL tmpbool = FALSE;
- success = success && (1 == sub_node->getBoolValue(1, &tmpbool));
- mIsGroupOwned = (bool)tmpbool;
- }
+ success = success && (1 == sub_node->getBoolValue(1, (BOOL*)&mIsGroupOwned));
if (!success)
{
lldebugs << "LLPermissions::importXML() failed for node named '"
diff --git a/indra/llinventory/lltransactionflags.cpp b/indra/llinventory/lltransactionflags.cpp
index 9b49a6b589..d4c97d11bf 100644
--- a/indra/llinventory/lltransactionflags.cpp
+++ b/indra/llinventory/lltransactionflags.cpp
@@ -95,16 +95,12 @@ std::string build_transfer_message_to_source(
const LLUUID& dest_id,
const std::string& dest_name,
S32 transaction_type,
- const char* desc)
+ const char* description)
{
- std::string description(ll_safe_string(desc));
lldebugs << "build_transfer_message_to_source: " << amount << " "
<< source_id << " " << dest_id << " " << dest_name << " "
- << transaction_type << " "
- << (description.empty()?"(no desc)":description.c_str())
- << llendl;
- if(source_id.isNull()) return description;
- if((0 == amount) && description.empty()) return description;
+ << (description?description:"(no desc)") << llendl;
+ if((0 == amount) || source_id.isNull()) return ll_safe_string(description);
std::ostringstream ostr;
if(dest_id.isNull())
{
@@ -127,7 +123,7 @@ std::string build_transfer_message_to_source(
else
{
ostr << "You paid " << dest_name << " L$" << amount;
- append_reason(ostr, transaction_type, description.c_str());
+ append_reason(ostr, transaction_type, description);
}
ostr << ".";
return ostr.str();
@@ -143,8 +139,7 @@ std::string build_transfer_message_to_destination(
{
lldebugs << "build_transfer_message_to_dest: " << amount << " "
<< dest_id << " " << source_id << " " << source_name << " "
- << transaction_type << " " << (description?description:"(no desc)")
- << llendl;
+ << (description?description:"(no desc)") << llendl;
if(0 == amount) return std::string();
if(dest_id.isNull()) return ll_safe_string(description);
std::ostringstream ostr;
diff --git a/indra/llinventory/lltransactionflags.h b/indra/llinventory/lltransactionflags.h
index 3bf08af282..f5ee9d68ed 100644
--- a/indra/llinventory/lltransactionflags.h
+++ b/indra/llinventory/lltransactionflags.h
@@ -31,8 +31,6 @@
#ifndef LL_LLTRANSACTIONFLAGS_H
#define LL_LLTRANSACTIONFLAGS_H
-class LLUUID;
-
typedef U8 TransactionFlags;
// defined in common/llinventory/lltransactionflags.cpp
diff --git a/indra/llmath/llcamera.h b/indra/llmath/llcamera.h
index 82c712e5e7..bd894753f8 100644
--- a/indra/llmath/llcamera.h
+++ b/indra/llmath/llcamera.h
@@ -115,12 +115,11 @@ protected:
LLPlane mWorldPlanes[PLANE_NUM];
LLPlane mHorizPlanes[HORIZ_PLANE_NUM];
- struct frustum_plane
+ typedef struct
{
- frustum_plane() : mask(0) {}
LLPlane p;
U8 mask;
- };
+ } frustum_plane;
frustum_plane mAgentPlanes[7]; //frustum planes in agent space a la gluUnproject (I'm a bastard, I know) - DaveP
U32 mPlaneCount; //defaults to 6, if setUserClipPlane is called, uses user supplied clip plane in
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index 6b8e7ad4c6..f4052f336f 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -4182,13 +4182,13 @@ std::ostream& operator<<(std::ostream &s, const LLVolume *volumep)
LLVolumeFace::LLVolumeFace()
- : mID(0),
- mTypeMask(0),
- mBeginS(0),
- mBeginT(0),
- mNumS(0),
- mNumT(0)
{
+ mTypeMask = 0;
+ mID = 0;
+ mBeginS = 0;
+ mBeginT = 0;
+ mNumS = 0;
+ mNumT = 0;
mHasBinormals = FALSE;
}
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index 6154695e36..11a7c2f1c6 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -188,20 +188,15 @@ class LLProfileParams
{
public:
LLProfileParams()
- : mCurveType(LL_PCODE_PROFILE_SQUARE),
- mBegin(0.f),
- mEnd(1.f),
- mHollow(0.f),
- mCRC(0)
{
+ mCurveType = LL_PCODE_PROFILE_SQUARE;
+ mBegin = 0.f;
+ mEnd = 1.f;
+ mHollow = 0.f;
}
LLProfileParams(U8 curve, F32 begin, F32 end, F32 hollow)
- : mCurveType(curve),
- mBegin(begin),
- mEnd(end),
- mHollow(hollow),
- mCRC(0)
+ : mCurveType(curve), mBegin(begin), mEnd(end), mHollow(hollow)
{
}
@@ -226,7 +221,6 @@ public:
temp_f32 = 1.f;
}
mHollow = temp_f32;
- mCRC = 0;
}
bool operator==(const LLProfileParams &params) const;
@@ -314,36 +308,27 @@ class LLPathParams
{
public:
LLPathParams()
- :
- mCurveType(LL_PCODE_PATH_LINE),
- mBegin(0.f),
- mEnd(1.f),
- mScale(1.f,1.f),
- mShear(0.f,0.f),
- mTwistBegin(0.f),
- mTwistEnd(0.f),
- mRadiusOffset(0.f),
- mTaper(0.f,0.f),
- mRevolutions(1.f),
- mSkew(0.f),
- mCRC(0)
{
+ mBegin = 0.f;
+ mEnd = 1.f;
+ mScale.setVec(1.f,1.f);
+ mShear.setVec(0.f,0.f);
+ mCurveType = LL_PCODE_PATH_LINE;
+ mTwistBegin = 0.f;
+ mTwistEnd = 0.f;
+ mRadiusOffset = 0.f;
+ mTaper.setVec(0.f,0.f);
+ mRevolutions = 1.f;
+ mSkew = 0.f;
}
LLPathParams(U8 curve, F32 begin, F32 end, F32 scx, F32 scy, F32 shx, F32 shy, F32 twistend, F32 twistbegin, F32 radiusoffset, F32 tx, F32 ty, F32 revolutions, F32 skew)
- : mCurveType(curve),
- mBegin(begin),
- mEnd(end),
- mScale(scx,scy),
- mShear(shx,shy),
- mTwistBegin(twistbegin),
- mTwistEnd(twistend),
- mRadiusOffset(radiusoffset),
- mTaper(tx,ty),
- mRevolutions(revolutions),
- mSkew(skew),
- mCRC(0)
+ : mCurveType(curve), mBegin(begin), mEnd(end), mTwistBegin(twistbegin), mTwistEnd(twistend),
+ mRadiusOffset(radiusoffset), mRevolutions(revolutions), mSkew(skew)
{
+ mScale.setVec(scx,scy);
+ mShear.setVec(shx,shy);
+ mTaper.setVec(tx,ty);
}
LLPathParams(U8 curve, U16 begin, U16 end, U8 scx, U8 scy, U8 shx, U8 shy, U8 twistend, U8 twistbegin, U8 radiusoffset, U8 tx, U8 ty, U8 revolutions, U8 skew)
@@ -361,8 +346,6 @@ public:
mTaper.setVec(U8_TO_F32(tx) * TAPER_QUANTA,U8_TO_F32(ty) * TAPER_QUANTA);
mRevolutions = ((F32)revolutions) * REV_QUANTA + 1.0f;
mSkew = U8_TO_F32(skew) * SCALE_QUANTA;
-
- mCRC = 0;
}
bool operator==(const LLPathParams &params) const;
@@ -541,7 +524,6 @@ class LLVolumeParams
{
public:
LLVolumeParams()
- : mSculptType(LL_SCULPT_TYPE_NONE)
{
}
@@ -666,9 +648,7 @@ public:
mConcave(FALSE),
mDirty(TRUE),
mTotalOut(0),
- mTotal(2),
- mMinX(0.f),
- mMaxX(0.f)
+ mTotal(2)
{
}
@@ -697,6 +677,8 @@ public:
std::vector<Face> mFaces;
std::vector<LLVector3> mEdgeNormals;
std::vector<LLVector3> mEdgeCenters;
+ F32 mMaxX;
+ F32 mMinX;
friend std::ostream& operator<<(std::ostream &s, const LLProfile &profile);
@@ -715,9 +697,6 @@ protected:
S32 mTotalOut;
S32 mTotal;
-
- F32 mMaxX;
- F32 mMinX;
};
//-------------------------------------------------------------------
diff --git a/indra/llmessage/llsdmessagereader.cpp b/indra/llmessage/llsdmessagereader.cpp
index ad4e21efa9..e69c3e34ff 100755
--- a/indra/llmessage/llsdmessagereader.cpp
+++ b/indra/llmessage/llsdmessagereader.cpp
@@ -37,8 +37,7 @@
#include "llsdmessagebuilder.h"
#include "llsdutil.h"
-LLSDMessageReader::LLSDMessageReader() :
- mMessageName(NULL)
+LLSDMessageReader::LLSDMessageReader()
{
}
diff --git a/indra/llui/llscrolllistctrl.h b/indra/llui/llscrolllistctrl.h
index 04a6a181eb..47683d0ab4 100644
--- a/indra/llui/llscrolllistctrl.h
+++ b/indra/llui/llscrolllistctrl.h
@@ -212,8 +212,7 @@ public:
mMaxContentWidth(0),
mIndex(-1),
mParentCtrl(NULL),
- mHeader(NULL),
- mFontAlignment(LLFontGL::LEFT)
+ mHeader(NULL)
{ }
LLScrollListColumn(const LLSD &sd)
@@ -261,7 +260,6 @@ public:
mIndex = -1;
mParentCtrl = NULL;
mHeader = NULL;
- mFontAlignment = LLFontGL::LEFT;
}
// Public data is fine so long as this remains a simple struct-like data class.
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index f0f3ac3bdc..5617eb4873 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -4003,11 +4003,7 @@ BOOL LLTextEditor::exportBuffer(LLString &buffer )
//////////////////////////////////////////////////////////////////////////
// LLTextSegment
-LLTextSegment::LLTextSegment(S32 start) :
- mStart(start),
- mEnd(0),
- mToken(NULL),
- mIsDefault(FALSE)
+LLTextSegment::LLTextSegment(S32 start) : mStart(start)
{
}
LLTextSegment::LLTextSegment( const LLStyleSP& style, S32 start, S32 end ) :
diff --git a/indra/llwindow/llkeyboard.cpp b/indra/llwindow/llkeyboard.cpp
index 9ed3c9b12d..83abcce3c1 100644
--- a/indra/llwindow/llkeyboard.cpp
+++ b/indra/llwindow/llkeyboard.cpp
@@ -67,7 +67,6 @@ LLKeyboard::LLKeyboard() : mCallbacks(NULL), mNumpadDistinct(ND_NUMLOCK_OFF)
mInsertMode = LL_KIM_INSERT;
mCurTranslatedKey = KEY_NONE;
- mCurScanKey = KEY_NONE;
addKeyName(' ', "Space" );
addKeyName(KEY_RETURN, "Enter" );
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 8ca0b4b4b8..3e39ecfa2e 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -2762,7 +2762,7 @@ void spawn_web_browser(const char* escaped_url)
cmd += "launch_url.sh";
char* const argv[] = {(char*)cmd.c_str(), (char*)escaped_url, NULL};
- fflush(NULL); // flush all buffers before the child inherits them
+ fflush(NULL);
pid_t pid = fork();
if (pid == 0)
{ // child
diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp
index 73480fc068..9b0675945d 100644
--- a/indra/llxml/llxmlnode.cpp
+++ b/indra/llxml/llxmlnode.cpp
@@ -55,7 +55,6 @@ BOOL LLXMLNode::sStripWhitespaceValues = FALSE;
LLXMLNode::LLXMLNode() :
mID(""),
- mParser(NULL),
mIsAttribute(FALSE),
mVersionMajor(0),
mVersionMinor(0),
@@ -73,7 +72,6 @@ LLXMLNode::LLXMLNode() :
LLXMLNode::LLXMLNode(const LLString& name, BOOL is_attribute) :
mID(""),
- mParser(NULL),
mIsAttribute(is_attribute),
mVersionMajor(0),
mVersionMinor(0),
@@ -91,7 +89,6 @@ LLXMLNode::LLXMLNode(const LLString& name, BOOL is_attribute) :
LLXMLNode::LLXMLNode(LLStringTableEntry* name, BOOL is_attribute) :
mID(""),
- mParser(NULL),
mIsAttribute(is_attribute),
mVersionMajor(0),
mVersionMinor(0),
diff --git a/indra/llxml/llxmlnode.h b/indra/llxml/llxmlnode.h
index 4d3c62d2e8..d4b4a4655b 100644
--- a/indra/llxml/llxmlnode.h
+++ b/indra/llxml/llxmlnode.h
@@ -49,13 +49,6 @@
#include "llstringtable.h"
-class LLVector3;
-class LLVector3d;
-class LLQuaternion;
-class LLUUID;
-class LLColor4;
-class LLColor4U;
-
struct CompareAttributes
{
diff --git a/indra/lscript/lscript_library/lscript_library.cpp b/indra/lscript/lscript_library/lscript_library.cpp
index 3a5b6eacc0..47ea62b888 100644
--- a/indra/lscript/lscript_library/lscript_library.cpp
+++ b/indra/lscript/lscript_library/lscript_library.cpp
@@ -436,12 +436,10 @@ void LLScriptLibrary::init()
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llStringTrim", "s", "si", "string llStringTrim(string src, integer trim_type)\nTrim leading and/or trailing spaces from a string.\nUses trim_type of STRING_TRIM, STRING_TRIM_HEAD or STRING_TRIM_TAIL."));
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llRegionSay", NULL, "is", "llRegionSay(integer channel, string msg)\nbroadcasts msg to entire region on channel (not 0.)"));
+
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetObjectDetails", "l", "kl", "list llGetObjectDetails(key id, list params)\nGets the object details specified in params for the object with key id.\nDetails are OBJECT_NAME, _DESC, _POS, _ROT, _VELOCITY, _OWNER, _GROUP, _CREATOR."));
- addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetClickAction", NULL, "i", "llSetClickAction(integer action)\nSets the action performed when a prim is clicked upon."));
- addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetRegionAgentCount", "i", NULL, "int llGetRegionAgentCount()\nreturns the number of agents in a region"));
- addFunction(new LLScriptLibraryFunction(10.f, 1.f, dummy_func, "llTextBox", NULL, "ksi", "llTextBox(key avatar, string message, integer chat_channel\nShows a dialog box on the avatar's screen with the message.\nA text box asks for input, and if entered the text is chatted on chat_channel."));
- addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetAgentLanguage", "s", "k", "string llGetAgentLanguage(key id)\nGets the agents preferred language.."));
+ addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetClickAction", NULL, "i", "llSetClickAction(integer action)\nSets the action performed when a prim is clicked upon."));
// energy, sleep, dummy_func, name, return type, parameters, help text, gods-only
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),