From cb10350dd4141ed5ed3cb1012eb27fadc908f397 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Wed, 1 Apr 2015 12:44:42 +1100 Subject: [PATCH] Fix Cocoa debugger leaks with SDL2, still looking into crash on exit --- src/osd/modules/debugger/debugosx.m | 6 ++++++ src/osd/modules/debugger/osx/debugview.m | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/osd/modules/debugger/debugosx.m b/src/osd/modules/debugger/debugosx.m index d57d82826bc..27104a1b462 100644 --- a/src/osd/modules/debugger/debugosx.m +++ b/src/osd/modules/debugger/debugosx.m @@ -82,6 +82,7 @@ int debugger_osx::init() void debugger_osx::exit() { + NSAutoreleasePool *const pool = [[NSAutoreleasePool alloc] init]; if (m_console) { NSDictionary *info = [NSDictionary dictionaryWithObject:[NSValue valueWithPointer:m_machine] @@ -93,6 +94,7 @@ void debugger_osx::exit() m_console = nil; m_machine = NULL; } + [pool release]; } //============================================================ @@ -110,6 +112,8 @@ void debugger_osx::init_debugger(running_machine &machine) void debugger_osx::wait_for_debugger(device_t &device, bool firststop) { + NSAutoreleasePool *const pool = [[NSAutoreleasePool alloc] init]; + // create a console window if (m_console == nil) m_console = [[MAMEDebugConsole alloc] initWithMachine:*m_machine]; @@ -134,6 +138,8 @@ void debugger_osx::wait_for_debugger(device_t &device, bool firststop) dequeue:YES]; if (ev != nil) [NSApp sendEvent:ev]; + + [pool release]; } diff --git a/src/osd/modules/debugger/osx/debugview.m b/src/osd/modules/debugger/osx/debugview.m index 6ed888fd53d..e46e814da4f 100644 --- a/src/osd/modules/debugger/osx/debugview.m +++ b/src/osd/modules/debugger/osx/debugview.m @@ -36,7 +36,9 @@ static NSCharacterSet *NonWhiteCharacters; static void debugwin_view_update(debug_view &view, void *osdprivate) { + NSAutoreleasePool *const pool = [[NSAutoreleasePool alloc] init]; [(MAMEDebugView *)osdprivate update]; + [pool release]; }