Wed, 27 May 2026 15:16:32 +0200
add label/icon check when creating toolbar toggle items (Cocoa)
| ui/cocoa/Toolbar.m | file | annotate | diff | comparison | revisions | |
| ui/cocoa/toolkit.m | file | annotate | diff | comparison | revisions |
--- a/ui/cocoa/Toolbar.m Wed May 27 15:04:53 2026 +0200 +++ b/ui/cocoa/Toolbar.m Wed May 27 15:16:32 2026 +0200 @@ -243,14 +243,23 @@ } objc_setAssociatedObject(button, "eventdata", event, OBJC_ASSOCIATION_RETAIN); - NSSegmentedControl *seg; + NSSegmentedControl *seg = nil; if(!item->args.icon) { - NSArray *labels = @[[[NSString alloc] initWithUTF8String:item->args.label]]; - seg = [NSSegmentedControl segmentedControlWithLabels:labels trackingMode:NSSegmentSwitchTrackingSelectAny target:event action:@selector(handleEvent:)]; - button.view = seg; + if(item->args.label) { + NSArray *labels = @[[[NSString alloc] initWithUTF8String:item->args.label]]; + seg = [NSSegmentedControl segmentedControlWithLabels:labels trackingMode:NSSegmentSwitchTrackingSelectAny target:event action:@selector(handleEvent:)]; + button.view = seg; + } else { + NSLog(@"UI Error: toggle button has no icon or label"); + } } else { - NSArray *images = @[ui_cocoa_named_icon(item->args.icon)]; - seg = [NSSegmentedControl segmentedControlWithImages:images trackingMode:NSSegmentSwitchTrackingSelectAny target:event action:@selector(handleEvent:)]; + NSImage *image = ui_cocoa_named_icon(item->args.icon); + if(image != nil) { + NSArray *images = @[image]; + seg = [NSSegmentedControl segmentedControlWithImages:images trackingMode:NSSegmentSwitchTrackingSelectAny target:event action:@selector(handleEvent:)]; + } else { + NSLog(@"UI Error: icon %s not found", item->args.icon); + } } button.view = seg; @@ -265,7 +274,6 @@ } i->obj = (__bridge void*)seg; - printf("seg: %p\n", seg); i->get = ui_toolbar_seg_toggleitem_get; i->set = ui_toolbar_seg_toggleitem_set; }
--- a/ui/cocoa/toolkit.m Wed May 27 15:04:53 2026 +0200 +++ b/ui/cocoa/toolkit.m Wed May 27 15:16:32 2026 +0200 @@ -76,11 +76,6 @@ app_delegate = [[AppDelegate alloc] init]; - if(app.delegate != nil) { - printf("app delegate exists\n"); - } else { - printf("app delegate is null\n"); - } fflush(stdout); app.delegate = app_delegate;