Merge pull request #420 from tdev/camera-datablock-fixes

fixed camera code not checking for invalid/missing datablock
This commit is contained in:
SilentMike 2013-08-11 22:10:53 -07:00
commit cec14272b6

View file

@ -903,7 +903,7 @@ void Camera::_setPosition(const Point3F& pos, const Point3F& rot)
MatrixF temp; MatrixF temp;
if(mDataBlock->cameraCanBank) if(mDataBlock && mDataBlock->cameraCanBank)
{ {
// Take rot.y into account to bank the camera // Take rot.y into account to bank the camera
MatrixF imat; MatrixF imat;
@ -932,7 +932,7 @@ void Camera::setRotation(const Point3F& rot)
MatrixF temp; MatrixF temp;
if(mDataBlock->cameraCanBank) if(mDataBlock && mDataBlock->cameraCanBank)
{ {
// Take rot.y into account to bank the camera // Take rot.y into account to bank the camera
MatrixF imat; MatrixF imat;
@ -993,7 +993,7 @@ void Camera::writePacketData(GameConnection *connection, BitStream *bstream)
bstream->setCompressionPoint(pos); bstream->setCompressionPoint(pos);
mathWrite(*bstream, pos); mathWrite(*bstream, pos);
bstream->write(mRot.x); bstream->write(mRot.x);
if(bstream->writeFlag(mDataBlock->cameraCanBank)) if(mDataBlock && bstream->writeFlag(mDataBlock->cameraCanBank))
{ {
// Include mRot.y to allow for camera banking // Include mRot.y to allow for camera banking
bstream->write(mRot.y); bstream->write(mRot.y);