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)
|
- 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
|
- 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: Fix crash when deleting files owned by library
|
||||||
|
- Python: Make sure GB link object isn't GC'd before GB object
|
||||||
Misc:
|
Misc:
|
||||||
- GBA Savedata: EEPROM performance fixes
|
- GBA Savedata: EEPROM performance fixes
|
||||||
- GBA Savedata: Automatically map 1Mbit Flash files as 1Mbit Flash
|
- GBA Savedata: Automatically map 1Mbit Flash files as 1Mbit Flash
|
||||||
|
|
|
@ -27,6 +27,7 @@ class GB(Core):
|
||||||
self.sprites = GBObjs(self)
|
self.sprites = GBObjs(self)
|
||||||
self.cpu = LR35902Core(self._core.cpu)
|
self.cpu = LR35902Core(self._core.cpu)
|
||||||
self.memory = None
|
self.memory = None
|
||||||
|
self._link = None
|
||||||
|
|
||||||
@needs_reset
|
@needs_reset
|
||||||
def _init_cache(self, cache):
|
def _init_cache(self, cache):
|
||||||
|
@ -43,10 +44,13 @@ class GB(Core):
|
||||||
self.memory = GBMemory(self._core)
|
self.memory = GBMemory(self._core)
|
||||||
|
|
||||||
def attach_sio(self, link):
|
def attach_sio(self, link):
|
||||||
|
self._link = link
|
||||||
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), link._native)
|
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), link._native)
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
|
if self._link:
|
||||||
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), ffi.NULL)
|
lib.GBSIOSetDriver(ffi.addressof(self._native.sio), ffi.NULL)
|
||||||
|
self._link = None
|
||||||
|
|
||||||
|
|
||||||
create_callback("GBSIOPythonDriver", "init")
|
create_callback("GBSIOPythonDriver", "init")
|
||||||
|
|
Loading…
Reference in New Issue