mirror of
https://github.com/ZDoom/qzdoom.git
synced 2025-01-30 12:31:07 +00:00
- Fixed?: WallSpriteColumn apparently needs to set dc_texturefrac. At least
Valgrind seems to say so. - Fixed: The FWadCollection destructor needs to use free to free the LumpInfo and Wads arrays. - Fixed: The ColorMapKiller needs to use the delete[] form of delete. - Fixed: FConfigFile::ClearCurrentSection() should be calling the delete[] form of delete to free the entry. - Fixed: FPatchTexture::MakeTexture() does not need to blindly recreate the Spans if they already exist. - Fixed: The FMultiPatchTexture destructor did not call its Unload() method. - Restored the original padding calculation to FMultiPatchTexture::MakeTexture(). I believe the Valgrind errors were caused by accessing off the end of the screen buffer, not from accessing off the end of a texture. SVN r98 (trunk)
This commit is contained in:
parent
d878c2e7d6
commit
def53bdd5d
6 changed files with 26 additions and 10 deletions
|
@ -1,4 +1,17 @@
|
||||||
May 9, 2006
|
May 9, 2006
|
||||||
|
- Fixed?: WallSpriteColumn apparently needs to set dc_texturefrac. At least
|
||||||
|
Valgrind seems to say so.
|
||||||
|
- Fixed: The FWadCollection destructor needs to use free to free the LumpInfo
|
||||||
|
and Wads arrays.
|
||||||
|
- Fixed: The ColorMapKiller needs to use the delete[] form of delete.
|
||||||
|
- Fixed: FConfigFile::ClearCurrentSection() should be calling the delete[] form
|
||||||
|
of delete to free the entry.
|
||||||
|
- Fixed: FPatchTexture::MakeTexture() does not need to blindly recreate the
|
||||||
|
Spans if they already exist.
|
||||||
|
- Fixed: The FMultiPatchTexture destructor did not call its Unload() method.
|
||||||
|
- Restored the original padding calculation to FMultiPatchTexture::MakeTexture().
|
||||||
|
I believe the Valgrind errors were caused by accessing off the end of the
|
||||||
|
screen buffer, not from accessing off the end of a texture.
|
||||||
- Backported the classnames-are-names changes from the FP code.
|
- Backported the classnames-are-names changes from the FP code.
|
||||||
- Backported the improved hierarchical dumpclasses command from the FP code.
|
- Backported the improved hierarchical dumpclasses command from the FP code.
|
||||||
- Updated Jim's Makefile.linux.
|
- Updated Jim's Makefile.linux.
|
||||||
|
|
|
@ -195,7 +195,7 @@ void FConfigFile::ClearCurrentSection ()
|
||||||
{
|
{
|
||||||
next = entry->Next;
|
next = entry->Next;
|
||||||
delete[] entry->Value;
|
delete[] entry->Value;
|
||||||
delete (char *)entry;
|
delete[] (char *)entry;
|
||||||
entry = next;
|
entry = next;
|
||||||
}
|
}
|
||||||
CurrentSection->RootEntry = NULL;
|
CurrentSection->RootEntry = NULL;
|
||||||
|
|
|
@ -1273,6 +1273,11 @@ void FPatchTexture::MakeTexture ()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the spans
|
// Create the spans
|
||||||
|
if (Spans != NULL)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Spans = (Span **)M_Malloc (sizeof(Span*)*Width + sizeof(Span)*numspans);
|
Spans = (Span **)M_Malloc (sizeof(Span*)*Width + sizeof(Span)*numspans);
|
||||||
spanstuffer = (Span *)((BYTE *)Spans + sizeof(Span*)*Width);
|
spanstuffer = (Span *)((BYTE *)Spans + sizeof(Span*)*Width);
|
||||||
warned = false;
|
warned = false;
|
||||||
|
@ -2152,6 +2157,7 @@ FMultiPatchTexture::FMultiPatchTexture (const void *texdef, FPatchLookup *patchl
|
||||||
|
|
||||||
FMultiPatchTexture::~FMultiPatchTexture ()
|
FMultiPatchTexture::~FMultiPatchTexture ()
|
||||||
{
|
{
|
||||||
|
Unload ();
|
||||||
if (Parts != NULL)
|
if (Parts != NULL)
|
||||||
{
|
{
|
||||||
delete[] Parts;
|
delete[] Parts;
|
||||||
|
@ -2227,8 +2233,7 @@ void FMultiPatchTexture::MakeTexture ()
|
||||||
{
|
{
|
||||||
// Add a little extra space at the end if the texture's height is not
|
// Add a little extra space at the end if the texture's height is not
|
||||||
// a power of 2, in case somebody accidentally makes it repeat vertically.
|
// a power of 2, in case somebody accidentally makes it repeat vertically.
|
||||||
// (Jim's Valgrind dump indicates that more padding is needed here.)
|
int numpix = Width * Height + (1 << HeightBits) - Height;
|
||||||
int numpix = Width * Height + Height;// (1 << HeightBits) - Height;
|
|
||||||
|
|
||||||
Pixels = new BYTE[numpix];
|
Pixels = new BYTE[numpix];
|
||||||
memset (Pixels, 0, numpix);
|
memset (Pixels, 0, numpix);
|
||||||
|
@ -2843,12 +2848,12 @@ static struct ColorMapKiller
|
||||||
{
|
{
|
||||||
if (fakecmaps != NULL)
|
if (fakecmaps != NULL)
|
||||||
{
|
{
|
||||||
delete fakecmaps;
|
delete[] fakecmaps;
|
||||||
fakecmaps = NULL;
|
fakecmaps = NULL;
|
||||||
}
|
}
|
||||||
if (realcolormaps != NULL)
|
if (realcolormaps != NULL)
|
||||||
{
|
{
|
||||||
delete realcolormaps;
|
delete[] realcolormaps;
|
||||||
realcolormaps = NULL;
|
realcolormaps = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2488,6 +2488,7 @@ static void WallSpriteColumn (void (*drawfunc)(const BYTE *column, const FTextur
|
||||||
const BYTE *column;
|
const BYTE *column;
|
||||||
const FTexture::Span *spans;
|
const FTexture::Span *spans;
|
||||||
column = WallSpriteTile->GetColumn (texturecolumn, &spans);
|
column = WallSpriteTile->GetColumn (texturecolumn, &spans);
|
||||||
|
dc_texturefrac = 0;
|
||||||
drawfunc (column, spans);
|
drawfunc (column, spans);
|
||||||
rw_light += rw_lightstep;
|
rw_light += rw_lightstep;
|
||||||
}
|
}
|
||||||
|
|
|
@ -195,7 +195,7 @@ FWadCollection::~FWadCollection ()
|
||||||
delete[] LumpInfo[i].fullname;
|
delete[] LumpInfo[i].fullname;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete[] LumpInfo;
|
free (LumpInfo);
|
||||||
LumpInfo = NULL;
|
LumpInfo = NULL;
|
||||||
}
|
}
|
||||||
if (Wads != NULL)
|
if (Wads != NULL)
|
||||||
|
@ -204,7 +204,7 @@ FWadCollection::~FWadCollection ()
|
||||||
{
|
{
|
||||||
delete Wads[i];
|
delete Wads[i];
|
||||||
}
|
}
|
||||||
delete[] Wads;
|
free (Wads);
|
||||||
Wads = NULL;
|
Wads = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4289,9 +4289,6 @@
|
||||||
<File
|
<File
|
||||||
RelativePath="docs\rh-log.txt">
|
RelativePath="docs\rh-log.txt">
|
||||||
</File>
|
</File>
|
||||||
<File
|
|
||||||
RelativePath="docs\thingdef_doc.txt">
|
|
||||||
</File>
|
|
||||||
<File
|
<File
|
||||||
RelativePath="docs\zdoom.txt">
|
RelativePath="docs\zdoom.txt">
|
||||||
</File>
|
</File>
|
||||||
|
|
Loading…
Reference in a new issue