Skip to content

gtkosxapplication_quartz.c - fix crash with some locales

Tested with darktable on macOS 10.14/10.15. Without this change e.g. English and Deutsch UI language works, but for example choosing Italian or Russian results in the following crash:

2022-08-04 15:35:14.327 darktable[15963:302678] *** Assertion failure in -[NSMenuItem initWithTitle:action:keyEquivalent:], /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1894.70.110/Menus.subproj/NSMenuItem.m:424
2022-08-04 15:35:14.329 darktable[15963:302678] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: aString != nil'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff39fcba17 __exceptionPreprocess + 250
	1   libobjc.A.dylib                     0x00007fff71edda9e objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff39ff4d40 +[NSException raise:format:arguments:] + 88
	3   Foundation                          0x00007fff3c70c91d -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191
	4   AppKit                              0x00007fff371f6eb9 -[NSMenuItem initWithTitle:action:keyEquivalent:] + 324
	5   libgtkmacintegration-gtk3.4.dylib   0x0000000108e49079 gtkosx_application_set_menu_bar + 1119
	6   libdarktable.dylib                  0x0000000105cca914 dt_gui_gtk_init + 340
	7   libdarktable.dylib                  0x0000000105b44120 dt_init + 8896
	8   darktable                           0x0000000105aecf3a main + 42
	9   libdyld.dylib                       0x00007fff7307dcc9 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Edited by parafin

Merge request reports