From 5de773b468a3319a60c99811a0cd7d4907c0ff0a Mon Sep 17 00:00:00 2001 From: Dustin Rue Date: Thu, 2 Feb 2012 12:33:50 -0600 Subject: [PATCH] a workaround for contextInfo data arriving nil in called selector --- Settings/MFSettingsController.h | 3 +++ Settings/MFSettingsController.m | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Settings/MFSettingsController.h b/Settings/MFSettingsController.h index 9823947..669262a 100644 --- a/Settings/MFSettingsController.h +++ b/Settings/MFSettingsController.h @@ -31,6 +31,8 @@ MFLogViewerController, MGActionButton; MFClient* client; MFPreferencesController* preferencesController; MFLogViewerController* logViewerController; + + NSMutableArray *newFilesystemsToDelete; } - (IBAction)newFSPopupClicked:(id)sender; @@ -50,4 +52,5 @@ MFLogViewerController, MGActionButton; - (IBAction)openSupportSite:(id)sender; @property(readonly) MFClient* client; +@property(readwrite, assign) NSMutableArray *newFilesystemsToDelete; @end diff --git a/Settings/MFSettingsController.m b/Settings/MFSettingsController.m index b1c84a4..9e5b7b1 100644 --- a/Settings/MFSettingsController.m +++ b/Settings/MFSettingsController.m @@ -30,6 +30,8 @@ #import "MFPreferences.h" #import "MFLogging.h" + + @interface MFSettingsController(PrivateAPI) - (void)editFilesystem:(MFClientFS*)fs; - (void)toggleFilesystem:(MFClientFS*)fs; @@ -305,10 +307,11 @@ - (void)deleteFilesystems:(NSArray *)filesystems { NSButton *cancelButton = [deleteConfirmation addButtonWithTitle:@"Cancel"]; [cancelButton setKeyEquivalent:@"\e"]; [deleteConfirmation setAlertStyle: NSCriticalAlertStyle]; + [self setNewFilesystemsToDelete:filesystemsToDelete]; [deleteConfirmation beginSheetModalForWindow: [filesystemTableView window] modalDelegate:self didEndSelector:@selector(deleteConfirmationAlertDidEnd:returnCode:contextInfo:) - contextInfo:filesystemsToDelete]; + contextInfo:nil]; } } @@ -366,13 +369,14 @@ - (IBAction)deleteSelectedFS:(id)sender { - (void)deleteConfirmationAlertDidEnd:(NSAlert*)alert returnCode:(NSInteger)code contextInfo:(void *)context { - NSArray *filesystemsToDelete = (NSArray *)context; + if (code == NSAlertSecondButtonReturn) { } else if (code == NSAlertFirstButtonReturn) { - for(MFClientFS *fs in filesystemsToDelete) { + for(MFClientFS *fs in [self newFilesystemsToDelete]) { [client deleteFilesystem: fs]; } + [self setNewFilesystemsToDelete:[NSMutableArray alloc]]; } } @@ -584,4 +588,5 @@ - (void)finalize { } @synthesize client; +@synthesize newFilesystemsToDelete; @end