[M1 Mac, Big Sur 11.6.5, FLTK 1.3.8]
macOS MontereyからBig Surにダウングレードしたところ、コマンドキーを押すとアプリが落ちるようになりました。エラー発生時に表示される解析情報を読むとどうやらFL_Menu_Itemまわりがおかしいようでした。
参考サイトのコードと全く同じようにプルダウンメニュー項目の最後に0を追加すると直りました。Montereyやアップグレード前のBig Surでは0がなくても正常に動いていたのに不思議です。
2022/5/18追記:
0(ヌルポインタ)が必要なのはイテレータに次の要素がないことを知らせるためでした。こんなことがすぐに分からないようではまだまだです。
Process: FileFinder [8791]
Path: /Volumes/VOLUME/*/FileFinder
Identifier: FileFinder
Version: 0
Code Type: ARM-64 (Native)
Parent Process: bash [8781]
Responsible: Terminal [414]
User ID: 501
Date/Time: 2022-05-17 00:09:08.114 +0900
OS Version: macOS 11.6.5 (20G527)
Report Version: 12
Anonymous UUID: 8099E198-41F7-976F-694A-6B1FB4EBE622
Time Awake Since Boot: 45000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x1600000000000000 -> 0x0000000000000000 (possible pointer authentication failure)
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [8791]
VM Regions Near 0:
-->
__TEXT 102480000-10248c000 [ 48K] r-x/r-x SM=COW /Volumes/*
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libfltk.1.3.dylib 0x00000001026d90e0 Fl_Menu_Item::test_shortcut() const + 20
1 libfltk.1.3.dylib 0x00000001026d912c Fl_Menu_Item::test_shortcut() const + 96
2 libfltk.1.3.dylib 0x00000001026d912c Fl_Menu_Item::test_shortcut() const + 96
3 libfltk.1.3.dylib 0x00000001026bcdbc Fl_Choice::handle(int) + 384
4 libfltk.1.3.dylib 0x00000001026c69b8 Fl_Group::handle(int) + 960
5 libfltk.1.3.dylib 0x00000001026b4650 send_event(int, Fl_Widget*, Fl_Window*) + 148
6 libfltk.1.3.dylib 0x00000001026b45ac Fl::handle_(int, Fl_Window*) + 1656
7 libfltk.1.3.dylib 0x00000001026b4388 Fl::handle_(int, Fl_Window*) + 1108
8 libfltk.1.3.dylib 0x00000001026aa2c0 -[FLView flagsChanged:] + 308
9 com.apple.AppKit 0x00000001a1594c10 -[NSWindow(NSEventRouting) _reallySendEvent:isDelayedEvent:] + 5644
10 com.apple.AppKit 0x00000001a1593398 -[NSWindow(NSEventRouting) sendEvent:] + 352
11 com.apple.AppKit 0x00000001a1592270 -[NSApplication(NSEvent) sendEvent:] + 2568
12 libfltk.1.3.dylib 0x00000001026a636c fl_mac_flush_and_wait(double) + 536
13 libfltk.1.3.dylib 0x00000001026b373c Fl::run() + 44
14 FileFinder 0x0000000102485e88 main + 3836 (FileFinder.cpp:491)
15 libdyld.dylib 0x000000019eb41430 start + 4
# 最後の要素の0は無意味ではなかったようです
Fl_Menu_Item pulldown[] = {
{"and"},
{"or"},
{"not"},
0
};