osd/modules: Cleaned up most macOS deprecation warnings up to and including 10.13. [R. Belmont]

* This raises the hard minimum macOS and SDK versions to 10.13.
* In practice, the minimum since 0.252 has been macOS 11 Big Sur.
* 10.13/10.14/10.15 can be built and run with this unsupported patch: https://gist.github.com/rb6502/8a1736ee3775f998e8e71faa47ae4b59
  The patch works for me, but no guarantees are offered and it may break at any time.
This commit is contained in:
arbee 2023-06-10 16:47:23 -04:00
parent 3d57b7d120
commit 9a446ca92b
12 changed files with 105 additions and 71 deletions

View File

@ -160,7 +160,7 @@ void debugger_osx::wait_for_debugger(device_t &device, bool firststop)
}
// get and process messages
NSEvent *ev = [NSApp nextEventMatchingMask:NSAnyEventMask
NSEvent *ev = [NSApp nextEventMatchingMask:NSEventMaskAny
untilDate:[NSDate distantFuture]
inMode:NSDefaultRunLoopMode
dequeue:YES];
@ -236,7 +236,7 @@ void debugger_osx::build_menus()
[[debugMenu addItemWithTitle:@"Hard Reset"
action:@selector(debugHardReset:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF3FunctionKey]]
setKeyEquivalentModifierMask:NSShiftKeyMask];
setKeyEquivalentModifierMask:NSEventModifierFlagShift];
NSMenu *const runMenu = [[NSMenu alloc] initWithTitle:@"Run"];
item = [[NSApp mainMenu] insertItemWithTitle:@"Run"
@ -290,7 +290,7 @@ void debugger_osx::build_menus()
[[runMenu addItemWithTitle:@"Step Out"
action:@selector(debugStepOut:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF10FunctionKey]]
setKeyEquivalentModifierMask:NSShiftKeyMask];
setKeyEquivalentModifierMask:NSEventModifierFlagShift];
}
}

View File

@ -142,19 +142,28 @@
NSRect const available = [[NSScreen mainScreen] visibleFrame];
NSSize const regCurrent = [regScroll frame].size;
NSSize const regSize = [NSScrollView frameSizeForContentSize:[regView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[regScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[regScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSSize const dasmCurrent = [dasmScroll frame].size;
NSSize const dasmSize = [NSScrollView frameSizeForContentSize:[dasmView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[dasmScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[dasmScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSSize const consoleCurrent = [consoleContainer frame].size;
NSSize consoleSize = [NSScrollView frameSizeForContentSize:[consoleView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[consoleScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[consoleScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSRect windowFrame = [window frame];
NSSize adjustment;

View File

@ -764,8 +764,8 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
- (void)mouseDown:(NSEvent *)event {
NSPoint const location = [self convertPoint:[event locationInWindow] fromView:nil];
NSUInteger const modifiers = [event modifierFlags];
view->process_click(((modifiers & NSCommandKeyMask) && [[self window] isMainWindow]) ? DCK_RIGHT_CLICK
: (modifiers & NSAlternateKeyMask) ? DCK_MIDDLE_CLICK
view->process_click(((modifiers & NSEventModifierFlagCommand) && [[self window] isMainWindow]) ? DCK_RIGHT_CLICK
: (modifiers & NSEventModifierFlagOption) ? DCK_MIDDLE_CLICK
: DCK_LEFT_CLICK,
[self convertLocation:location]);
}
@ -776,8 +776,8 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
NSPoint const location = [self convertPoint:[event locationInWindow] fromView:nil];
NSUInteger const modifiers = [event modifierFlags];
if (view->cursor_supported()
&& !(modifiers & NSAlternateKeyMask)
&& (!(modifiers & NSCommandKeyMask) || ![[self window] isMainWindow]))
&& !(modifiers & NSEventModifierFlagOption)
&& (!(modifiers & NSEventModifierFlagCommand) || ![[self window] isMainWindow]))
{
view->set_cursor_position([self convertLocation:location]);
view->set_cursor_visible(true);
@ -804,34 +804,34 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
if ([str length] == 1)
{
if (modifiers & NSNumericPadKeyMask)
if (modifiers & NSEventModifierFlagNumericPad)
{
switch ([str characterAtIndex:0])
{
case NSUpArrowFunctionKey:
if (modifiers & NSCommandKeyMask)
if (modifiers & NSEventModifierFlagCommand)
view->process_char(DCH_CTRLHOME);
else
view->process_char(DCH_UP);
return;
case NSDownArrowFunctionKey:
if (modifiers & NSCommandKeyMask)
if (modifiers & NSEventModifierFlagCommand)
view->process_char(DCH_CTRLEND);
else
view->process_char(DCH_DOWN);
return;
case NSLeftArrowFunctionKey:
if (modifiers & NSCommandKeyMask)
if (modifiers & NSEventModifierFlagCommand)
[self typeCharacterAndScrollToCursor:DCH_HOME];
else if (modifiers & NSAlternateKeyMask)
else if (modifiers & NSEventModifierFlagOption)
[self typeCharacterAndScrollToCursor:DCH_CTRLLEFT];
else
[self typeCharacterAndScrollToCursor:DCH_LEFT];
return;
case NSRightArrowFunctionKey:
if (modifiers & NSCommandKeyMask)
if (modifiers & NSEventModifierFlagCommand)
[self typeCharacterAndScrollToCursor:DCH_END];
else if (modifiers & NSAlternateKeyMask)
else if (modifiers & NSEventModifierFlagOption)
[self typeCharacterAndScrollToCursor:DCH_CTRLRIGHT];
else
[self typeCharacterAndScrollToCursor:DCH_RIGHT];
@ -841,18 +841,18 @@ static void debugwin_view_update(debug_view &view, void *osdprivate)
return;
}
}
else if (modifiers & NSFunctionKeyMask)
else if (modifiers & NSEventModifierFlagFunction)
{
switch ([str characterAtIndex:0])
{
case NSPageUpFunctionKey:
if (modifiers & NSAlternateKeyMask)
if (modifiers & NSEventModifierFlagOption)
{
view->process_char(DCH_PUP);
return;
}
case NSPageDownFunctionKey:
if (modifiers & NSAlternateKeyMask)
if (modifiers & NSEventModifierFlagOption)
{
view->process_char(DCH_PDOWN);
return;

View File

@ -79,7 +79,7 @@ NSString *const MAMESaveDebuggerConfigurationNotification = @"MAMESaveDebuggerCo
[[stepMenu addItemWithTitle:@"Out"
action:@selector(debugStepOut:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF10FunctionKey]]
setKeyEquivalentModifierMask:NSShiftKeyMask];
setKeyEquivalentModifierMask:NSEventModifierFlagShift];
NSMenuItem *resetParentItem = [menu addItemWithTitle:@"Reset" action:NULL keyEquivalent:@""];
NSMenu *resetMenu = [[NSMenu alloc] initWithTitle:@"Reset"];
@ -92,7 +92,7 @@ NSString *const MAMESaveDebuggerConfigurationNotification = @"MAMESaveDebuggerCo
[[resetMenu addItemWithTitle:@"Hard"
action:@selector(debugHardReset:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF3FunctionKey]]
setKeyEquivalentModifierMask:NSShiftKeyMask];
setKeyEquivalentModifierMask:NSEventModifierFlagShift];
[menu addItem:[NSMenuItem separatorItem]];
@ -127,7 +127,7 @@ NSString *const MAMESaveDebuggerConfigurationNotification = @"MAMESaveDebuggerCo
NSPopUpButton *actionButton = [[NSPopUpButton alloc] initWithFrame:frame pullsDown:YES];
[actionButton setTitle:@""];
[actionButton addItemWithTitle:@""];
[actionButton setBezelStyle:NSShadowlessSquareBezelStyle];
[actionButton setBezelStyle:NSBezelStyleShadowlessSquare];
[actionButton setFocusRingType:NSFocusRingTypeNone];
[[actionButton cell] setArrowPosition:NSPopUpArrowAtCenter];
[[self class] addCommonActionItems:[actionButton menu]];
@ -140,10 +140,10 @@ NSString *const MAMESaveDebuggerConfigurationNotification = @"MAMESaveDebuggerCo
return nil;
window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 320, 240)
styleMask:(NSTitledWindowMask |
NSClosableWindowMask |
NSMiniaturizableWindowMask |
NSResizableWindowMask)
styleMask:(NSWindowStyleMaskTitled |
NSWindowStyleMaskClosable |
NSWindowStyleMaskMiniaturizable |
NSWindowStyleMaskResizable)
backing:NSBackingStoreBuffered
defer:YES];
[window setReleasedWhenClosed:NO];

View File

@ -54,14 +54,14 @@
- (NSTextField *)makeLabel:(NSString *)text {
NSTextField *const result = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 14)];
[result setAutoresizingMask:(NSViewMaxYMargin | NSViewMaxXMargin)];
[[result cell] setControlSize:NSSmallControlSize];
[[result cell] setControlSize:NSControlSizeSmall];
[result setEditable:NO];
[result setSelectable:NO];
[result setBezeled:NO];
[result setBordered:NO];
[result setDrawsBackground:NO];
[result setAlignment:NSRightTextAlignment];
[result setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSSmallControlSize]]];
[result setAlignment:NSTextAlignmentRight];
[result setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSControlSizeSmall]]];
[result setStringValue:text];
[result sizeToFit];
return result;
@ -71,14 +71,14 @@
- (NSTextField *)makeField:(NSString *)text {
NSTextField *const result = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 14)];
[result setAutoresizingMask:(NSViewWidthSizable | NSViewMaxYMargin)];
[[result cell] setControlSize:NSSmallControlSize];
[[result cell] setControlSize:NSControlSizeSmall];
[result setEditable:NO];
[result setSelectable:YES];
[result setBezeled:NO];
[result setBordered:NO];
[result setDrawsBackground:NO];
[result setAlignment:NSLeftTextAlignment];
[result setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSSmallControlSize]]];
[result setAlignment:NSTextAlignmentLeft];
[result setFont:[NSFont systemFontOfSize:[NSFont systemFontSizeForControlSize:NSControlSizeSmall]]];
[result setStringValue:text];
[result sizeToFit];
return result;
@ -210,9 +210,12 @@
// create a scroll view for holding everything
NSSize desired = [NSScrollView frameSizeForContentSize:[contentView frame].size
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:NSNoBorder];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType: NSNoBorder
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
[window setContentSize:desired];
contentScroll = [[NSScrollView alloc] initWithFrame:[[window contentView] bounds]];
[contentScroll setDrawsBackground:NO];

View File

@ -161,9 +161,12 @@
// calculate the optimal size for everything
NSSize const desired = [NSScrollView frameSizeForContentSize:NSMakeSize(480, 320)
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[devicesScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[devicesScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
[self cascadeWindowWithDesiredSize:desired forView:devicesScroll];
// don't forget the result

View File

@ -75,7 +75,7 @@
item = [menu addItemWithTitle:@"Disable Breakpoint"
action:@selector(debugToggleBreakpointEnable:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF9FunctionKey]];
[item setKeyEquivalentModifierMask:NSShiftKeyMask];
[item setKeyEquivalentModifierMask:NSEventModifierFlagShift];
[menu addItem:[NSMenuItem separatorItem]];
@ -214,7 +214,7 @@
action:@selector(debugToggleBreakpointEnable:)
keyEquivalent:[NSString stringWithFormat:@"%C", (short)NSF9FunctionKey]
atIndex:index++];
[disableItem setKeyEquivalentModifierMask:NSShiftKeyMask];
[disableItem setKeyEquivalentModifierMask:NSEventModifierFlagShift];
NSMenu *runMenu = [[menu itemWithTitle:@"Run"] submenu];
NSMenuItem *runItem;

View File

@ -49,7 +49,7 @@
expressionFrame.size.width,
0)];
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinXMargin | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setBezelStyle:NSBezelStyleShadowlessSquare];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
[subviewButton setFont:defaultFont];
[subviewButton setTarget:self];
@ -120,9 +120,12 @@
// calculate the optimal size for everything
NSSize const desired = [NSScrollView frameSizeForContentSize:[dasmView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[dasmScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[dasmScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
[self cascadeWindowWithDesiredSize:desired forView:dasmScroll];
// don't forget the result

View File

@ -43,9 +43,12 @@
// calculate the optimal size for everything
{
NSSize desired = [NSScrollView frameSizeForContentSize:[logView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[logScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[logScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
// this thing starts with no content, so its prefered height may be very small
desired.height = std::max(desired.height, CGFloat(240));

View File

@ -46,7 +46,7 @@
// create the subview popup
subviewButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)];
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinXMargin | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setBezelStyle:NSBezelStyleShadowlessSquare];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
[subviewButton setFont:defaultFont];
[subviewButton setTarget:self];
@ -118,9 +118,12 @@
// calculate the optimal size for everything
NSSize const desired = [NSScrollView frameSizeForContentSize:[memoryView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[memoryScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[memoryScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
[self cascadeWindowWithDesiredSize:desired forView:memoryScroll];
// don't forget the result

View File

@ -33,7 +33,7 @@
// create the subview popup
subviewButton = [[NSPopUpButton alloc] initWithFrame:NSMakeRect(0, 0, 100, 19)];
[subviewButton setAutoresizingMask:(NSViewWidthSizable | NSViewMinYMargin)];
[subviewButton setBezelStyle:NSShadowlessSquareBezelStyle];
[subviewButton setBezelStyle:NSBezelStyleShadowlessSquare];
[subviewButton setFocusRingType:NSFocusRingTypeNone];
[subviewButton setFont:defaultFont];
[subviewButton setTarget:self];
@ -139,17 +139,26 @@
// calculate the optimal size for everything
NSSize const breakDesired = [NSScrollView frameSizeForContentSize:[breakView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[breakScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[breakScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSSize const watchDesired = [NSScrollView frameSizeForContentSize:[watchView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[watchScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[watchScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSSize const registerDesired = [NSScrollView frameSizeForContentSize:[registerView maximumFrameSize]
hasHorizontalScroller:YES
hasVerticalScroller:YES
borderType:[registerScroll borderType]];
horizontalScrollerClass:[NSScroller class]
verticalScrollerClass:[NSScroller class]
borderType:[registerScroll borderType]
controlSize: NSControlSizeRegular
scrollerStyle: NSScrollerStyleOverlay
];
NSSize const desired = NSMakeSize(std::max({ breakDesired.width, watchDesired.width, registerDesired.width }),
std::max({ breakDesired.height, watchDesired.height, registerDesired.height }));
[self cascadeWindowWithDesiredSize:desired forView:tabs];

View File

@ -927,16 +927,17 @@ CFPropertyListRef sound_coreaudio::load_property_list(char const *name) const
return nullptr;
}
CFStringRef msg = nullptr;
CFPropertyListRef const result = CFPropertyListCreateFromXMLData(
CFErrorRef msg = nullptr;
CFPropertyListRef const result = CFPropertyListCreateWithData(
nullptr,
data,
kCFPropertyListImmutable,
nullptr,
&msg);
CFRelease(data);
if ((nullptr == result) || (nullptr != msg))
{
std::unique_ptr<char []> const buf = (nullptr != msg) ? convert_cfstring_to_utf8(msg) : nullptr;
std::unique_ptr<char []> const buf = (nullptr != msg) ? convert_cfstring_to_utf8(CFErrorCopyDescription(msg)) : nullptr;
if (nullptr != msg)
CFRelease(msg);