You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove runModalForWindow: from all utility controllers. Each window
now uses setLevel:NSFloatingWindowLevel while open and reverts to
NSNormalWindowLevel on close, so it floats above the main emulator
window without blocking input. The Joystick configuration dialog is
a sub-dialog of the (already floating) Preferences window: it uses
addChildWindow:ordered:NSWindowAbove so the parent cannot rise above
its child by activation alone.
Add an Edit menu to MainMenu.xib so Cmd+C/V work in the debugger
entry field. Fix Debugger.xib hidesOnDeactivate and block the
emulation thread on a semaphore while the debugger is active.
debugger_run() in handleWillClose: only fires when debugger_active
is still 1 (user-initiated close); on Continue/Step the calling
action has already set debugger_mode via deactivate_debugger() and
a second debugger_run() would clobber a HALTED set by debugger_step().
Pin the emulation timer to the dedicated emulator thread via
performSelector:onThread: in pause/unpause. Without this the timer
ended up on whichever thread happened to call unpause (usually the
main thread, from deactivate_debugger), and the next debugger break
re-entered ui_debugger_activate on the main thread and deadlocked
in dispatch_semaphore_wait.
0 commit comments