Merge pull request #2433 from lioncash/master

Fixed a resource leak in ControlMapping.cpp and a null check problem in MediaEngine.cpp
This commit is contained in:
Henrik Rydgård 2013-06-24 00:58:16 -07:00
commit 63afa0327b
2 changed files with 10 additions and 2 deletions

View File

@ -376,13 +376,14 @@ bool MediaEngine::stepVideo(int videoPixelMode) {
return false;
if (!m_pCodecCtx)
return false;
if ((!m_pFrame)||(!m_pFrameRGB))
return false;
updateSwsFormat(videoPixelMode);
// TODO: Technically we could set this to frameWidth instead of m_desWidth for better perf.
// Update the linesize for the new format too. We started with the largest size, so it should fit.
m_pFrameRGB->linesize[0] = getPixelFormatBytes(videoPixelMode) * m_desWidth;
if ((!m_pFrame)||(!m_pFrameRGB))
return false;
AVPacket packet;
int frameFinished;
bool bGetFrame = false;

View File

@ -226,17 +226,24 @@ bool loadControlsFromFile() {
FILE *rfp = fopen("PPSSPPControls.dat", "rb");
if (!rfp)
return false;
fseek(rfp, 0, SEEK_END);
fpos_t fsize = 0;
fgetpos(rfp, &fsize);
if (fsize != (key_pad_map_size + analog_ctrl_map_size + dinput_ctrl_map_size + xinput_ctrl_map_size))
{
fclose(rfp);
return false;
}
fseek(rfp, 0, SEEK_SET);
fread(key_pad_map, 1, key_pad_map_size, rfp);
fread(analog_ctrl_map, 1, analog_ctrl_map_size, rfp);
fread(dinput_ctrl_map, 1, dinput_ctrl_map_size, rfp);
fread(xinput_ctrl_map, 1, xinput_ctrl_map_size, rfp);
fclose(rfp);
return true;
}