mirror of https://github.com/mgba-emu/mgba.git
Python: Make sure GB link object isn't GC'd before GB object
This commit is contained in:
parent
f3efd37264
commit
b5af2b584a
1
CHANGES
1
CHANGES
|
@ -17,6 +17,7 @@ Bugfixes:
|
|||
- Qt: Fix color picking in sprite view (fixes mgba.io/i/1307)
|
||||
- GB: Fix crash when accessing SRAM if no save loaded and cartridge has no SRAM
|
||||
- Python: Fix crash when deleting files owned by library
|
||||
- Python: Make sure GB link object isn't GC'd before GB object
|
||||
Misc:
|
||||
- GBA Savedata: EEPROM performance fixes
|
||||
- GBA Savedata: Automatically map 1Mbit Flash files as 1Mbit Flash
|
||||
|
|
|
@ -27,6 +27,7 @@ class GB(Core):
|
|||
self.sprites = GBObjs(self)
|
||||
self.cpu = LR35902Core(self._core.cpu)
|
||||
self.memory = None
|
||||
self._link = None
|
||||
|
||||
@needs_reset
|
||||
def _init_cache(self, cache):
|
||||
|
@ -43,10 +44,13 @@ class GB(Core):
|
|||
self.memory = GBMemory(self._core)
|
||||
|
||||
def attach_sio(self, link):
|
||||
self._link = link
|
||||
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), link._native)
|
||||
|
||||
def __del__(self):
|
||||
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), ffi.NULL)
|
||||
if self._link:
|
||||
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), ffi.NULL)
|
||||
self._link = None
|
||||
|
||||
|
||||
create_callback("GBSIOPythonDriver", "init")
|
||||
|
|
Loading…
Reference in New Issue