Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath

This commit is contained in:
Magnus Norddahl 2016-09-13 23:44:12 +02:00
commit c54b4e74f5
5 changed files with 16 additions and 5 deletions

View file

@ -1747,6 +1747,14 @@ void C_AddTabCommand (const char *name)
void C_RemoveTabCommand (const char *name)
{
if (TabCommands.Size() == 0)
{
// There are no tab commands that can be removed.
// This is important to skip construction of aname
// in case the NameManager has already been destroyed.
return;
}
FName aname(name, true);
if (aname == NAME_None)

View file

@ -422,7 +422,7 @@ void
VSMatrix::computeNormalMatrix(const FLOATTYPE *aMatrix)
{
FLOATTYPE mMat3x3[9];
double mMat3x3[9];
mMat3x3[0] = aMatrix[0];
mMat3x3[1] = aMatrix[1];
@ -436,7 +436,7 @@ VSMatrix::computeNormalMatrix(const FLOATTYPE *aMatrix)
mMat3x3[7] = aMatrix[9];
mMat3x3[8] = aMatrix[10];
FLOATTYPE det, invDet;
double det, invDet;
det = mMat3x3[0] * (mMat3x3[4] * mMat3x3[8] - mMat3x3[5] * mMat3x3[7]) +
mMat3x3[1] * (mMat3x3[5] * mMat3x3[6] - mMat3x3[8] * mMat3x3[3]) +

View file

@ -375,7 +375,7 @@ void GLSprite::Draw(int pass)
gl_RenderState.Apply();
FVector3 v[4];
if ((actor->renderflags & RF_SPRITETYPEMASK) == RF_FLATSPRITE)
if (actor != nullptr && (actor->renderflags & RF_SPRITETYPEMASK) == RF_FLATSPRITE)
{
}
else
@ -437,7 +437,7 @@ inline void GLSprite::PutSprite(bool translucent)
{
int list;
// [BB] Allow models to be drawn in the GLDL_TRANSLUCENT pass.
if (translucent || (!modelframe && (actor->renderflags & RF_SPRITETYPEMASK) != RF_WALLSPRITE))
if (translucent || actor == nullptr || (!modelframe && (actor->renderflags & RF_SPRITETYPEMASK) != RF_WALLSPRITE))
{
list = GLDL_TRANSLUCENT;
}

View file

@ -197,7 +197,7 @@ void OpenGLFrameBuffer::Update()
Unlock();
CheckBench();
if (Windowed)
if (!IsFullscreen())
{
int clientWidth = GetClientWidth();
int clientHeight = GetClientHeight();

View file

@ -35,6 +35,7 @@
#include <string.h>
#include "name.h"
#include "c_dispatch.h"
#include "c_console.h"
// MACROS ------------------------------------------------------------------
@ -268,6 +269,8 @@ FName::NameManager::~NameManager()
{
NameBlock *block, *next;
C_ClearTabCommands();
for (block = Blocks; block != NULL; block = next)
{
next = block->NextBlock;