xquartz: Fix a possible crash when editing the Application menu due to mutaing immutable arrays
Crashing on exception: -[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object
Application Specific Backtrace 0:
0 CoreFoundation 0x00007ff80d2c5e9b __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff80d027e48 objc_exception_throw + 48
2 CoreFoundation 0x00007ff80d38167b _CFThrowFormattedException + 194
3 CoreFoundation 0x00007ff80d382a25 -[__NSCFArray removeObjectAtIndex:].cold.1 + 0
4 CoreFoundation 0x00007ff80d2e6c0b -[__NSCFArray replaceObjectAtIndex:withObject:] + 119
5 X11.bin 0x00000001003180f9 -[X11Controller tableView:setObjectValue:forTableColumn:row:] + 169
Fixes: https://github.com/XQuartz/XQuartz/issues/267
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
(cherry picked from commit dfd057996b
)
This commit is contained in:
parent
86ace20398
commit
9e2fc7e248
|
@ -469,8 +469,11 @@ extern char *bundle_id_prefix;
|
|||
self.table_apps = table_apps;
|
||||
|
||||
NSArray * const apps = self.apps;
|
||||
if (apps != nil)
|
||||
[table_apps addObjectsFromArray:apps];
|
||||
if (apps != nil) {
|
||||
for (NSArray <NSString *> * row in apps) {
|
||||
[table_apps addObject:row.mutableCopy];
|
||||
}
|
||||
}
|
||||
|
||||
columns = [apps_table tableColumns];
|
||||
[[columns objectAtIndex:0] setIdentifier:@"0"];
|
||||
|
|
Loading…
Reference in New Issue