summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorhrydgard <hrydgard@gmail.com>2008-08-31 13:36:52 +0000
committerhrydgard <hrydgard@gmail.com>2008-08-31 13:36:52 +0000
commit09406d76c44d3a8efb1932b8d7f1345ae0e4c604 (patch)
tree3149bf6c83f7d010ce291b7df832660c6dd00db2 /Source/Core
parentd9e129ae99bb11edfc59053c97c1d798e1ab4dad (diff)
Fix/workaround at least one class of buffer underruns in the GL plugin. Fix some bad deletes (instead of delete []). etc.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@404 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/Boot/Boot.cpp1
-rw-r--r--Source/Core/Core/Src/Core.cpp3
-rw-r--r--Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp1
-rw-r--r--Source/Core/DebuggerWX/src/CodeView.cpp4
-rw-r--r--Source/Core/DiscIO/Src/BannerLoaderGC.cpp3
-rw-r--r--Source/Core/DiscIO/Src/BannerLoaderWii.cpp3
-rw-r--r--Source/Core/DiscIO/Src/FileHandlerARC.cpp2
-rw-r--r--Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp2
-rw-r--r--Source/Core/DolphinWX/src/MemcardManager.cpp10
-rw-r--r--Source/Core/DolphinWX/src/MemoryCards/GCMemcard.cpp6
-rw-r--r--Source/Core/VideoCommon/Src/Fifo.cpp5
11 files changed, 28 insertions, 12 deletions
diff --git a/Source/Core/Core/Src/Boot/Boot.cpp b/Source/Core/Core/Src/Boot/Boot.cpp
index 01c773d74b..b11b237285 100644
--- a/Source/Core/Core/Src/Boot/Boot.cpp
+++ b/Source/Core/Core/Src/Boot/Boot.cpp
@@ -60,7 +60,6 @@ bool CBoot::Boot_BIN(const std::string& _rFilename)
}
delete pFile;
-
return true;
}
diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp
index 428b50d8e1..7772f83ac9 100644
--- a/Source/Core/Core/Src/Core.cpp
+++ b/Source/Core/Core/Src/Core.cpp
@@ -186,9 +186,9 @@ void Stop() // - Hammertime!
#endif
delete g_pThread; //Wait for emuthread to close
+ g_pThread = 0;
Core::StopTrace();
LogManager::Shutdown();
- g_pThread = 0;
Host_SetWaitCursor(false);
}
@@ -360,6 +360,7 @@ THREAD_RETURN EmuThread(void *pArg)
if( g_pUpdateFPSDisplay != NULL )
g_pUpdateFPSDisplay("Stopping...");
delete cpuThread;
+ cpuThread = NULL;
// Returns after game exited
g_bHwInit = false;
diff --git a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
index 41403a7db9..6a39363236 100644
--- a/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
+++ b/Source/Core/Core/Src/HW/EXI_DeviceMemoryCard.cpp
@@ -106,6 +106,7 @@ CEXIMemoryCard::~CEXIMemoryCard()
{
Flush(true);
delete [] memory_card_content;
+ memory_card_content = NULL;
}
bool CEXIMemoryCard::IsPresent()
diff --git a/Source/Core/DebuggerWX/src/CodeView.cpp b/Source/Core/DebuggerWX/src/CodeView.cpp
index 81e20ab704..aabe51378d 100644
--- a/Source/Core/DebuggerWX/src/CodeView.cpp
+++ b/Source/Core/DebuggerWX/src/CodeView.cpp
@@ -354,7 +354,7 @@ void CCodeView::OnPaint(wxPaintEvent& event)
wxBrush rowBrush(wxColor(col >> 16, col >> 8, col));
dc.SetBrush(nullBrush);
dc.SetPen(nullPen);
- dc.DrawRectangle(0, rowY1, 16, rowY2);
+ dc.DrawRectangle(0, rowY1, 16, rowY2 - rowY1 + 2);
if (selecting && (address == selection))
{
@@ -374,7 +374,7 @@ void CCodeView::OnPaint(wxPaintEvent& event)
dc.SetBrush(rowBrush);
}
- dc.DrawRectangle(16, rowY1, width, rowY2 - 1);
+ dc.DrawRectangle(16, rowY1, width, rowY2 - rowY1 + 1);
dc.SetBrush(currentBrush);
dc.SetTextForeground(_T("#600000"));
dc.DrawText(temp, 17, rowY1);
diff --git a/Source/Core/DiscIO/Src/BannerLoaderGC.cpp b/Source/Core/DiscIO/Src/BannerLoaderGC.cpp
index 0ca1e93389..5b540b729d 100644
--- a/Source/Core/DiscIO/Src/BannerLoaderGC.cpp
+++ b/Source/Core/DiscIO/Src/BannerLoaderGC.cpp
@@ -55,7 +55,8 @@ CBannerLoaderGC::CBannerLoaderGC(DiscIO::IFileSystem& _rFileSystem)
CBannerLoaderGC::~CBannerLoaderGC()
{
- delete[] m_pBannerFile;
+ delete [] m_pBannerFile;
+ m_pBannerFile = NULL;
}
diff --git a/Source/Core/DiscIO/Src/BannerLoaderWii.cpp b/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
index 357c53639f..4744223d9a 100644
--- a/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
+++ b/Source/Core/DiscIO/Src/BannerLoaderWii.cpp
@@ -70,7 +70,8 @@ CBannerLoaderWii::CBannerLoaderWii(DiscIO::IFileSystem& _rFileSystem)
CBannerLoaderWii::~CBannerLoaderWii()
{
- delete m_pBuffer;
+ delete [] m_pBuffer;
+ m_pBuffer = NULL;
}
diff --git a/Source/Core/DiscIO/Src/FileHandlerARC.cpp b/Source/Core/DiscIO/Src/FileHandlerARC.cpp
index 4319cc001a..8d40df18ec 100644
--- a/Source/Core/DiscIO/Src/FileHandlerARC.cpp
+++ b/Source/Core/DiscIO/Src/FileHandlerARC.cpp
@@ -42,7 +42,7 @@ CARCFile::CARCFile(const u8* _pBuffer, size_t _BufferSize)
CARCFile::~CARCFile()
{
- delete m_pBuffer;
+ delete [] m_pBuffer;
}
diff --git a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
index 51f0f862cb..bbab62c531 100644
--- a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
+++ b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
@@ -36,7 +36,9 @@ CVolumeWiiCrypted::CVolumeWiiCrypted(IBlobReader* _pReader, u64 _VolumeOffset, c
CVolumeWiiCrypted::~CVolumeWiiCrypted()
{
delete m_pReader; // is this really our responsibility?
+ m_pReader = NULL;
delete[] m_pBuffer;
+ m_pBuffer = NULL;
}
diff --git a/Source/Core/DolphinWX/src/MemcardManager.cpp b/Source/Core/DolphinWX/src/MemcardManager.cpp
index 94712114b9..b024268c34 100644
--- a/Source/Core/DolphinWX/src/MemcardManager.cpp
+++ b/Source/Core/DolphinWX/src/MemcardManager.cpp
@@ -39,8 +39,14 @@ CMemcardManager::CMemcardManager(wxWindow* parent, wxWindowID id, const wxString
CMemcardManager::~CMemcardManager()
{
- if(memoryCard[0]) delete memoryCard[0];
- if(memoryCard[1]) delete memoryCard[1];
+ if (memoryCard[0]) {
+ delete memoryCard[0];
+ memoryCard[0] = NULL;
+ }
+ if (memoryCard[1]) {
+ delete memoryCard[1];
+ memoryCard[1] = NULL;
+ }
}
void CMemcardManager::CreateGUIControls()
diff --git a/Source/Core/DolphinWX/src/MemoryCards/GCMemcard.cpp b/Source/Core/DolphinWX/src/MemoryCards/GCMemcard.cpp
index 2baac40844..a0605282c8 100644
--- a/Source/Core/DolphinWX/src/MemoryCards/GCMemcard.cpp
+++ b/Source/Core/DolphinWX/src/MemoryCards/GCMemcard.cpp
@@ -117,8 +117,8 @@ bool GCMemcard::RemoveFile(u32 index) //index in the directory array
bat.LastAllocated[0] = u8(firstFree>>8);
bat.LastAllocated[1] = u8(firstFree);
- delete mc_data;
- mc_data=mc_data2;
+ delete [] mc_data;
+ mc_data = mc_data2;
//--
//update freespace counter
@@ -366,7 +366,7 @@ u32 GCMemcard::CopyFrom(GCMemcard& source, u32 index)
if(!source.GetFileData(index,t)) return 0;
u32 ret = ImportFile(d,t);
- delete t;
+ delete[] t;
return ret;
}
diff --git a/Source/Core/VideoCommon/Src/Fifo.cpp b/Source/Core/VideoCommon/Src/Fifo.cpp
index a9ddd16c08..bcb87aed4d 100644
--- a/Source/Core/VideoCommon/Src/Fifo.cpp
+++ b/Source/Core/VideoCommon/Src/Fifo.cpp
@@ -78,6 +78,11 @@ u8 FAKE_ReadFifo8()
return videoBuffer[readptr++];
}
+int FAKE_GetPosition()
+{
+ return readptr;
+}
+
u16 FAKE_ReadFifo16()
{
u16 val = Common::swap16(*(u16*)(videoBuffer+readptr));