summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/English.lproj/InfoPlist.strings4
-rw-r--r--indra/newview/Info-SecondLife.plist2
-rw-r--r--indra/newview/linux_tools/client-readme.txt11
-rwxr-xr-xindra/newview/linux_tools/wrapper.sh3
-rw-r--r--indra/newview/lldrawpoolwater.cpp10
-rw-r--r--indra/newview/llpanellogin.cpp1
-rw-r--r--indra/newview/llpolymesh.cpp16
-rw-r--r--indra/newview/llpolymesh.h9
-rw-r--r--indra/newview/llstartup.cpp1
-rw-r--r--indra/newview/llviewermenu.cpp1
-rw-r--r--indra/newview/llviewermessage.cpp18
-rw-r--r--indra/newview/llvoavatar.cpp48
-rw-r--r--indra/newview/macview_Prefix.h2
-rw-r--r--indra/newview/pipeline.cpp5
14 files changed, 81 insertions, 50 deletions
diff --git a/indra/newview/English.lproj/InfoPlist.strings b/indra/newview/English.lproj/InfoPlist.strings
index da8951428a..85f7e2530f 100644
--- a/indra/newview/English.lproj/InfoPlist.strings
+++ b/indra/newview/English.lproj/InfoPlist.strings
@@ -1,5 +1,5 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Second Life";
-CFBundleShortVersionString = "Second Life version 1.18.5.3";
-CFBundleGetInfoString = "Second Life version 1.18.5.3, Copyright 2004-2007 Linden Research, Inc.";
+CFBundleShortVersionString = "Second Life version 1.18.6.0";
+CFBundleGetInfoString = "Second Life version 1.18.6.0, Copyright 2004-2007 Linden Research, Inc.";
diff --git a/indra/newview/Info-SecondLife.plist b/indra/newview/Info-SecondLife.plist
index 427651ccba..59822a1e4c 100644
--- a/indra/newview/Info-SecondLife.plist
+++ b/indra/newview/Info-SecondLife.plist
@@ -32,7 +32,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
- <string>1.18.5.3</string>
+ <string>1.18.6.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
diff --git a/indra/newview/linux_tools/client-readme.txt b/indra/newview/linux_tools/client-readme.txt
index 641705da53..832dff4209 100644
--- a/indra/newview/linux_tools/client-readme.txt
+++ b/indra/newview/linux_tools/client-readme.txt
@@ -50,15 +50,18 @@ Please enjoy!
Minimum requirements:
* Internet Connection: Cable or DSL
- * Computer Processor: 800MHz Pentium III or Athlon, or better
- * Computer Memory: 256MB or better (strongly recommend more!)
+ * Computer Processor: 800MHz Pentium III or Athlon or better
+ (recommended: 1.5GHz or more)
+ * Computer Memory: 512MB (recommended: 768MB or more)
* Linux Operating System: A reasonably modern 32-bit Linux environment
is required. If you are running a 64-bit Linux distribution then
you will need its 32-bit compatibility environment installed.
* Video/Graphics Card:
- o nVidia GeForce 2, GeForce 4mx, or better
+ o nVidia GeForce 2, GeForce 4mx, or better (recommend one of the
+ following: 6700, 6800, 7600, 7800, 7900, 8400, 8500, 8600,
+ 8800, Go 7400, Go 7600, Go 7800, Go 7900)
o OR ATI Radeon 8500, 9250, or better
- (nVidia cards are strongly recommended for the Linux client)
+ (nVidia cards are recommended for the Linux client)
**NOTE**: Second Life absolutely requires you to have recent, correctly-
configured OpenGL 3D drivers for your hardware - the graphics drivers
diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh
index 638a0f0b76..35efbc13b8 100755
--- a/indra/newview/linux_tools/wrapper.sh
+++ b/indra/newview/linux_tools/wrapper.sh
@@ -59,7 +59,8 @@ fi
## Nothing worth editing below this line.
##-------------------------------------------------------------------
-RUN_PATH=`dirname "$0" || echo .`
+SCRIPTSRC=`readlink -f "$0" || echo "$0"`
+RUN_PATH=`dirname "${SCRIPTSRC}" || echo .`
cd "${RUN_PATH}"
# Re-register the secondlife:// protocol handler every launch, for now.
diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp
index 4a7760f15c..d7fc716c55 100644
--- a/indra/newview/lldrawpoolwater.cpp
+++ b/indra/newview/lldrawpoolwater.cpp
@@ -567,7 +567,15 @@ void LLDrawPoolWater::shade()
LLCubeMap* skyMap = gSky.mVOSkyp->getCubeMap();
gWaterProgram.enableTexture(LLShaderMgr::ENVIRONMENT_MAP, GL_TEXTURE_CUBE_MAP_ARB);
- skyMap->bind();
+
+ if (skyMap)
+ {
+ skyMap->bind();
+ }
+ else
+ {
+ llwarns << "NULL gSky.mVOSkyp->getCubeMap(), not binding." << llendl;
+ }
//bind normal map
S32 bumpTex = gWaterProgram.enableTexture(LLShaderMgr::BUMP_MAP);
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index 7f846c2791..bc297354f7 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -38,7 +38,6 @@
#include "llfontgl.h"
#include "llmd5.h"
#include "llsecondlifeurls.h"
-#include "llwindow.h" // shell_open()
#include "llversionviewer.h"
#include "v4color.h"
diff --git a/indra/newview/llpolymesh.cpp b/indra/newview/llpolymesh.cpp
index 492e590173..dc67ff48ea 100644
--- a/indra/newview/llpolymesh.cpp
+++ b/indra/newview/llpolymesh.cpp
@@ -862,14 +862,6 @@ void LLPolyMesh::dumpDiagInfo()
llinfos << buf << llendl;
llinfos << "-----------------------------------------------------" << llendl;
}
-
-//-----------------------------------------------------------------------------
-// getCoords()
-//-----------------------------------------------------------------------------
-const LLVector3 *LLPolyMesh::getCoords() const
-{
- return mCoords;
-}
//-----------------------------------------------------------------------------
// getWritableCoords()
@@ -985,14 +977,6 @@ void LLPolyMesh::deleteAllMorphData()
}
//-----------------------------------------------------------------------------
-// getWeights()
-//-----------------------------------------------------------------------------
-const F32* LLPolyMesh::getWeights() const
-{
- return mSharedData->mWeights;
-}
-
-//-----------------------------------------------------------------------------
// getWritableWeights()
//-----------------------------------------------------------------------------
F32* LLPolyMesh::getWritableWeights() const
diff --git a/indra/newview/llpolymesh.h b/indra/newview/llpolymesh.h
index 3cf4acb0fa..8003c4a89d 100644
--- a/indra/newview/llpolymesh.h
+++ b/indra/newview/llpolymesh.h
@@ -224,7 +224,9 @@ public:
}
// Get coords
- const LLVector3 *getCoords() const;
+ const LLVector3 *getCoords() const{
+ return mCoords;
+ }
// non const version
LLVector3 *getWritableCoords();
@@ -273,7 +275,10 @@ public:
}
// Get weights
- const F32 *getWeights() const;
+ const F32 *getWeights() const {
+ llassert (mSharedData);
+ return mSharedData->mWeights;
+ }
F32 *getWritableWeights() const;
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 302291ab52..f12f5763ef 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -70,7 +70,6 @@
#include "lluserrelations.h"
#include "llversionviewer.h"
#include "llvfs.h"
-#include "llwindow.h" // for shell_open
#include "llxorcipher.h" // saved password, MAC address
#include "message.h"
#include "v3math.h"
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 7aa25266fe..2fccdcd153 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -60,7 +60,6 @@
#include "lltimer.h"
#include "llvfile.h"
#include "llvolumemgr.h"
-#include "llwindow.h" // for shell_open()
// newview includes
#include "llagent.h"
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index fa92bfb217..ebb0da016f 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -59,7 +59,6 @@
#include "llteleportflags.h"
#include "lltracker.h"
#include "lltransactionflags.h"
-#include "llwindow.h" // shell_open()
#include "llxfermanager.h"
#include "message.h"
#include "sound_ids.h"
@@ -1199,7 +1198,22 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task)
LLString::format_map_t args;
args["[OBJECTNAME]"] = info->mDesc;
- args["[OBJECTTYPE]"] = LLAssetType::lookupHumanReadable(info->mType);
+ // must protect against a NULL return from lookupHumanReadable()
+ const char* typestr = LLAssetType::lookupHumanReadable(info->mType);
+ if (typestr)
+ {
+ args["[OBJECTTYPE]"] = typestr;
+ }
+ else
+ {
+ llwarns << "LLAssetType::lookupHumanReadable() returned NULL - probably bad asset type: " << info->mType << llendl;
+ args["[OBJECTTYPE]"] = "";
+
+ // This seems safest, rather than propagating bogosity
+ llwarns << "Forcing an inventory-decline for probably-bad asset type." << llendl;
+ inventory_offer_callback(IOR_DECLINE, info);
+ return;
+ }
// Name cache callbacks don't store userdata, so can't save
// off the LLOfferInfo. Argh. JC
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 7a225c8a12..fc159ddc48 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -311,7 +311,13 @@ class LLBodyNoiseMotion :
{
public:
// Constructor
- LLBodyNoiseMotion(const LLUUID &id) : LLMotion(id) {mName = "body_noise";}
+ LLBodyNoiseMotion(const LLUUID &id)
+ : LLMotion(id)
+ {
+ mName = "body_noise";
+
+ mTorsoState = new LLJointState;
+ }
// Destructor
virtual ~LLBodyNoiseMotion() { }
@@ -354,14 +360,14 @@ public:
// must return true to indicate success and be available for activation
virtual LLMotionInitStatus onInitialize(LLCharacter *character)
{
- if( !mTorsoState.setJoint( character->getJoint("mTorso") ))
+ if( !mTorsoState->setJoint( character->getJoint("mTorso") ))
{
return STATUS_FAILURE;
}
- mTorsoState.setUsage(LLJointState::ROT);
+ mTorsoState->setUsage(LLJointState::ROT);
- addJointState( &mTorsoState );
+ addJointState( mTorsoState );
return STATUS_SUCCESS;
}
@@ -388,7 +394,7 @@ public:
F32 ry = TORSO_NOISE_AMOUNT * DEG_TO_RAD * noiseY / 0.42f;
LLQuaternion tQn;
tQn.setQuat( rx, ry, 0.0f );
- mTorsoState.setRotation( tQn );
+ mTorsoState->setRotation( tQn );
return TRUE;
}
@@ -400,7 +406,7 @@ public:
//-------------------------------------------------------------------------
// joint states to be animated
//-------------------------------------------------------------------------
- LLJointState mTorsoState;
+ LLPointer<LLJointState> mTorsoState;
};
//-----------------------------------------------------------------------------
@@ -417,6 +423,8 @@ public:
mCharacter(NULL)
{
mName = "breathe_rot";
+
+ mChestState = new LLJointState;
}
// Destructor
@@ -463,12 +471,12 @@ public:
mCharacter = character;
bool success = true;
- if ( !mChestState.setJoint( character->getJoint( "mChest" ) ) ) { success = false; }
+ if ( !mChestState->setJoint( character->getJoint( "mChest" ) ) ) { success = false; }
if ( success )
{
- mChestState.setUsage(LLJointState::ROT);
- addJointState( &mChestState );
+ mChestState->setUsage(LLJointState::ROT);
+ addJointState( mChestState );
}
if ( success )
@@ -495,7 +503,7 @@ public:
F32 breathe_amt = (sinf(mBreatheRate * time) * BREATHE_ROT_MOTION_STRENGTH);
- mChestState.setRotation(LLQuaternion(breathe_amt, LLVector3(0.f, 1.f, 0.f)));
+ mChestState->setRotation(LLQuaternion(breathe_amt, LLVector3(0.f, 1.f, 0.f)));
return TRUE;
}
@@ -507,7 +515,7 @@ public:
//-------------------------------------------------------------------------
// joint states to be animated
//-------------------------------------------------------------------------
- LLJointState mChestState;
+ LLPointer<LLJointState> mChestState;
F32 mBreatheRate;
LLCharacter* mCharacter;
};
@@ -520,7 +528,13 @@ class LLPelvisFixMotion :
{
public:
// Constructor
- LLPelvisFixMotion(const LLUUID &id) : LLMotion(id), mCharacter(NULL) {mName = "pelvis_fix";}
+ LLPelvisFixMotion(const LLUUID &id)
+ : LLMotion(id), mCharacter(NULL)
+ {
+ mName = "pelvis_fix";
+
+ mPelvisState = new LLJointState;
+ }
// Destructor
virtual ~LLPelvisFixMotion() { }
@@ -565,14 +579,14 @@ public:
{
mCharacter = character;
- if (!mPelvisState.setJoint( character->getJoint("mPelvis")))
+ if (!mPelvisState->setJoint( character->getJoint("mPelvis")))
{
return STATUS_FAILURE;
}
- mPelvisState.setUsage(LLJointState::POS);
+ mPelvisState->setUsage(LLJointState::POS);
- addJointState( &mPelvisState );
+ addJointState( mPelvisState );
return STATUS_SUCCESS;
}
@@ -586,7 +600,7 @@ public:
// must return FALSE when the motion is completed.
virtual BOOL onUpdate(F32 time, U8* joint_mask)
{
- mPelvisState.setPosition(LLVector3::zero);
+ mPelvisState->setPosition(LLVector3::zero);
return TRUE;
}
@@ -598,7 +612,7 @@ public:
//-------------------------------------------------------------------------
// joint states to be animated
//-------------------------------------------------------------------------
- LLJointState mPelvisState;
+ LLPointer<LLJointState> mPelvisState;
LLCharacter* mCharacter;
};
diff --git a/indra/newview/macview_Prefix.h b/indra/newview/macview_Prefix.h
index 4d982f1897..08c59bcedd 100644
--- a/indra/newview/macview_Prefix.h
+++ b/indra/newview/macview_Prefix.h
@@ -221,7 +221,7 @@
#include "indra_constants.h" // for key and mask constants
#include "llfontgl.h"
#include "v4color.h"
-#include "llwindow_impl.h" // shell_open()
+#include "llwindow_impl.h"
#include "llbutton.h"
#include "llcheckboxctrl.h"
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index e9faccb4da..b16a9fb02b 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -3667,6 +3667,11 @@ void LLPipeline::clearRenderMap()
void LLPipeline::resetVertexBuffers(LLDrawable* drawable)
{
+ if (!drawable)
+ {
+ return;
+ }
+
for (S32 i = 0; i < drawable->getNumFaces(); i++)
{
LLFace* facep = drawable->getFace(i);