forked from bartvdbraak/blender
- Ancient resource leak (rev 2) where checkPackedFile would open a file and never close it.
- Running simulations missed freeing some variables.
This commit is contained in:
parent
0949d48d25
commit
e60138117c
@ -2189,7 +2189,7 @@ static void where_is_pose_bone(Object *ob, bPoseChannel *pchan, float ctime)
|
||||
Mat4MulSerie(pchan->pose_mat, tmat, offs_bone, pchan->chan_mat, NULL, NULL, NULL, NULL, NULL);
|
||||
}
|
||||
else if(bone->flag & BONE_NO_SCALE) {
|
||||
float orthmat[4][4], vec[3];
|
||||
float orthmat[4][4];
|
||||
|
||||
/* get the official transform, but we only use the vector from it (optimize...) */
|
||||
Mat4MulSerie(pchan->pose_mat, parchan->pose_mat, offs_bone, pchan->chan_mat, NULL, NULL, NULL, NULL, NULL);
|
||||
|
@ -383,6 +383,8 @@ int checkPackedFile(char * filename, PackedFile * pf)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
close(file);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -289,7 +289,10 @@ short imb_savetarga(struct ImBuf * ibuf, char *name, int flags)
|
||||
fildes = fopen(name,"wb");
|
||||
if (!fildes) return 0;
|
||||
|
||||
if (fwrite(buf, 1, 18,fildes) != 18) return (0);
|
||||
if (fwrite(buf, 1, 18,fildes) != 18) {
|
||||
fclose(fildes);
|
||||
return (0);
|
||||
}
|
||||
|
||||
if (ibuf->cmap){
|
||||
for (i = 0 ; i<ibuf->maxcol ; i++){
|
||||
|
@ -483,15 +483,18 @@ static void *read_file_data(char *filename, int *len_r)
|
||||
data= MEM_mallocN(*len_r, "read_file_data");
|
||||
if (!data) {
|
||||
*len_r= -1;
|
||||
fclose(fp);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (fread(data, *len_r, 1, fp)!=1) {
|
||||
*len_r= -1;
|
||||
MEM_freeN(data);
|
||||
fclose(fp);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
fclose(fp);
|
||||
return data;
|
||||
}
|
||||
|
||||
|
@ -747,6 +747,16 @@ extern "C" void StartKetsjiShellSimulation(struct ScrArea *area,
|
||||
delete mousedevice;
|
||||
mousedevice = NULL;
|
||||
}
|
||||
if (rasterizer)
|
||||
{
|
||||
delete rasterizer;
|
||||
rasterizer = NULL;
|
||||
}
|
||||
if (rendertools)
|
||||
{
|
||||
delete rendertools;
|
||||
rendertools = NULL;
|
||||
}
|
||||
SND_DeviceManager::Unsubscribe();
|
||||
|
||||
} while (exitrequested == KX_EXIT_REQUEST_RESTART_GAME || exitrequested == KX_EXIT_REQUEST_START_OTHER_GAME);
|
||||
|
Loading…
Reference in New Issue
Block a user