Gambatte: Properly dispose of GPUViewer memory pointers
-Still doesn't point to correct memory but at least doesn't crash
This commit is contained in:
parent
3e4ebb0dbd
commit
34a17570d6
|
@ -2,6 +2,7 @@
|
|||
using System.Diagnostics;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
||||
{
|
||||
|
@ -99,6 +100,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
GambatteState = IntPtr.Zero;
|
||||
}
|
||||
|
||||
_vram = IntPtr.Zero;
|
||||
_oam = IntPtr.Zero;
|
||||
_sppal = IntPtr.Zero;
|
||||
_bgpal = IntPtr.Zero;
|
||||
|
||||
DisposeSound();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -408,12 +408,13 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
|
||||
#region ppudebug
|
||||
|
||||
public IntPtr _vram = IntPtr.Zero;
|
||||
public IntPtr _bgpal = IntPtr.Zero;
|
||||
public IntPtr _sppal = IntPtr.Zero;
|
||||
public IntPtr _oam = IntPtr.Zero;
|
||||
|
||||
public GPUMemoryAreas GetGPU()
|
||||
{
|
||||
IntPtr _vram = IntPtr.Zero;
|
||||
IntPtr _bgpal = IntPtr.Zero;
|
||||
IntPtr _sppal = IntPtr.Zero;
|
||||
IntPtr _oam = IntPtr.Zero;
|
||||
{
|
||||
int unused = 0;
|
||||
if (!LibGambatte.gambatte_getmemoryarea(GambatteState, LibGambatte.MemoryAreas.vram, ref _vram, ref unused)
|
||||
|| !LibGambatte.gambatte_getmemoryarea(GambatteState, LibGambatte.MemoryAreas.bgpal, ref _bgpal, ref unused)
|
||||
|
@ -423,7 +424,6 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
throw new InvalidOperationException("Unexpected error in gambatte_getmemoryarea");
|
||||
}
|
||||
return new GPUMemoryAreas(_vram, _oam, _sppal, _bgpal);
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
Loading…
Reference in New Issue