diff --git a/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp b/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp index d336c833d3..680bc3a4d7 100644 --- a/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp +++ b/Source/Core/AudioCommon/Src/CoreAudioSoundStream.cpp @@ -138,6 +138,7 @@ bool CoreAudioSound::CoreAudioInit() if(err) printf("Error while closing component\n"); + free(soundStruct); return true; } diff --git a/Source/Core/Core/Src/HW/EXI_Device.h b/Source/Core/Core/Src/HW/EXI_Device.h index ae79f213a4..173cec0b25 100644 --- a/Source/Core/Core/Src/HW/EXI_Device.h +++ b/Source/Core/Core/Src/HW/EXI_Device.h @@ -45,6 +45,7 @@ public: // Is generating interrupt ? virtual bool IsInterruptSet() {return false;} + virtual ~IEXIDevice() {}; }; diff --git a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.h b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.h index 2acc4d7577..e263af9188 100644 --- a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.h +++ b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.h @@ -33,7 +33,7 @@ class CEXIMemoryCard : public IEXIDevice { public: CEXIMemoryCard(const std::string& _rName, const std::string& _rFilename, int card_index); - virtual ~CEXIMemoryCard(); + ~CEXIMemoryCard(); void SetCS(int cs); void Update(); bool IsInterruptSet(); diff --git a/Source/Core/VideoCommon/Src/OpenCL/OCLTextureDecoder.cpp b/Source/Core/VideoCommon/Src/OpenCL/OCLTextureDecoder.cpp index 3baf4d10cd..6b038ba337 100644 --- a/Source/Core/VideoCommon/Src/OpenCL/OCLTextureDecoder.cpp +++ b/Source/Core/VideoCommon/Src/OpenCL/OCLTextureDecoder.cpp @@ -162,6 +162,8 @@ PC_TexFormat TexDecoder_Decode_OpenCL(u8 *dst, const u8 *src, int width, int hei formatResult = PC_TEX_FMT_BGRA32; break; case GX_TF_CMPR: + // Doesn't decode correctly + return PC_TEX_FMT_NONE; kernelToRun = Decoders[7].kernel; sizeOfSrc = sizeof(u8) / 2.0f; sizeOfDst = sizeof(u32);