comparison ios/dw.m @ 2725:2dd68d2810ca

iOS: dw_messagebox() can't be called recursively... This might not be the best solution... but it prevents deadlocks for now.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Thu, 09 Dec 2021 20:07:39 +0000
parents 27fd270cb0db
children 7a15401e73f4
comparison
equal deleted inserted replaced
2724:c1f8e598960d 2725:2dd68d2810ca
3429 NSString *mtitle = [NSString stringWithUTF8String:title]; 3429 NSString *mtitle = [NSString stringWithUTF8String:title];
3430 NSString *mtext; 3430 NSString *mtext;
3431 UIAlertControllerStyle mstyle = UIAlertControllerStyleAlert; 3431 UIAlertControllerStyle mstyle = UIAlertControllerStyleAlert;
3432 NSArray *params; 3432 NSArray *params;
3433 va_list args; 3433 va_list args;
3434 static int in_mb = FALSE;
3435
3436 /* Prevent recursion */
3437 if(in_mb)
3438 return 0;
3439 in_mb = TRUE;
3434 3440
3435 if(flags & DW_MB_OKCANCEL) 3441 if(flags & DW_MB_OKCANCEL)
3436 { 3442 {
3437 button2 = @"Cancel"; 3443 button2 = @"Cancel";
3438 } 3444 }
3452 mtext = [[[NSString alloc] initWithFormat:[NSString stringWithUTF8String:format] arguments:args] autorelease]; 3458 mtext = [[[NSString alloc] initWithFormat:[NSString stringWithUTF8String:format] arguments:args] autorelease];
3453 va_end(args); 3459 va_end(args);
3454 3460
3455 params = [NSMutableArray arrayWithObjects:mtitle, mtext, [NSNumber numberWithInteger:mstyle], button1, button2, button3, nil]; 3461 params = [NSMutableArray arrayWithObjects:mtitle, mtext, [NSNumber numberWithInteger:mstyle], button1, button2, button3, nil];
3456 [DWObj safeCall:@selector(messageBox:) withObject:params]; 3462 [DWObj safeCall:@selector(messageBox:) withObject:params];
3463 in_mb = FALSE;
3457 iResponse = [[params lastObject] integerValue]; 3464 iResponse = [[params lastObject] integerValue];
3458 3465
3459 switch(iResponse) 3466 switch(iResponse)
3460 { 3467 {
3461 case 1: /* user pressed OK */ 3468 case 1: /* user pressed OK */