From ca22e38752a75f8cb628a7e9e3193257b471edba Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Mon, 24 Dec 2012 17:07:00 -0800 Subject: [PATCH] Fix another potential png load failure. Also, rename func for consistency. --- Core/Dialog/SavedataParam.cpp | 15 ++++++++++----- Core/Dialog/SavedataParam.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Core/Dialog/SavedataParam.cpp b/Core/Dialog/SavedataParam.cpp index 6f53cfd3f1..19584711a9 100644 --- a/Core/Dialog/SavedataParam.cpp +++ b/Core/Dialog/SavedataParam.cpp @@ -429,7 +429,7 @@ u32 SavedataParam::SetPspParam(SceUtilitySavedataParam *param) PSPFileInfo info = pspFileSystem.GetFileInfo(fileDataPath); if (info.exists) { - LoadFileInfo(realCount, info); + SetFileInfo(realCount, info); DEBUG_LOG(HLE,"%s Exist",fileDataPath.c_str()); realCount++; @@ -463,7 +463,7 @@ u32 SavedataParam::SetPspParam(SceUtilitySavedataParam *param) PSPFileInfo info = pspFileSystem.GetFileInfo(fileDataPath); if (info.exists) { - LoadFileInfo(0, info); + SetFileInfo(0, info); DEBUG_LOG(HLE,"%s Exist",fileDataPath.c_str()); saveNameListDataCount = 1; @@ -485,7 +485,7 @@ u32 SavedataParam::SetPspParam(SceUtilitySavedataParam *param) return 0; } -void SavedataParam::LoadFileInfo(int idx, PSPFileInfo &info) +void SavedataParam::SetFileInfo(int idx, PSPFileInfo &info) { saveDataList[idx].size = info.size; saveDataList[idx].saveName = GetSaveName(pspParam); @@ -508,10 +508,12 @@ void SavedataParam::LoadFileInfo(int idx, PSPFileInfo &info) int success = pngLoadPtr(textureDataPNG, (int)info2.size, &w, &h, &textureData, false); delete[] textureDataPNG; + u32 texSize = w*h*4; + u32 atlasPtr; if (success) + atlasPtr = kernelMemory.Alloc(texSize, true, "SaveData Icon"); + if (success && atlasPtr > 0) { - u32 texSize = w*h*4; - u32 atlasPtr = kernelMemory.Alloc(texSize, true, "SaveData Icon"); saveDataList[idx].textureData = atlasPtr; Memory::Memcpy(atlasPtr, textureData, texSize); free(textureData); @@ -519,7 +521,10 @@ void SavedataParam::LoadFileInfo(int idx, PSPFileInfo &info) saveDataList[idx].textureHeight = h; } else + { + WARN_LOG(HLE, "Unable to load PNG data for savedata."); saveDataList[idx].textureData = 0; + } } else { diff --git a/Core/Dialog/SavedataParam.h b/Core/Dialog/SavedataParam.h index d5be3a30d6..616e26d48d 100644 --- a/Core/Dialog/SavedataParam.h +++ b/Core/Dialog/SavedataParam.h @@ -168,7 +168,7 @@ public: private: void Clear(); - void LoadFileInfo(int idx, PSPFileInfo &info); + void SetFileInfo(int idx, PSPFileInfo &info); SceUtilitySavedataParam* pspParam; int selectedSave;