Index: trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 341) +++ trunk/ChameleonPrefPane/Sources/ChameleonPrefPane.mm (revision 342) @@ -255,7 +255,8 @@ if (s==nil) s = ""; [PartsInfoMgr renameParts: [NSString stringWithUTF8String: s]]; - // PartitionExtractor::instance().resetSwapping(); + [PartsInfoMgr resetSwapping]; + id val = [mOptionsDict valueForKey: keySwapHD01]; [[BootSetupController instance]->mSwapHD01 setIntValue: [val intValue] ]; [[BootSetupController instance] doSwapHD: [val boolValue] save: false src:0 dst:1]; Index: trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm =================================================================== --- trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm (revision 341) +++ trunk/ChameleonPrefPane/Sources/PartitionInfoManager.mm (revision 342) @@ -117,13 +117,20 @@ } } +static NSString *sHideSpec=nil, *sRenSpec=nil; + /// Update paritions alias with partSpec -+(void) hideParts: (NSString*) partSpec ++(void) hideParts: (NSString*) hideSpec { + if (hideSpec!=nil) { + if (sHideSpec!=nil) [sHideSpec release]; + sHideSpec = [hideSpec copy]; + } + // first prioritize strings in double quotes - if ([partSpec rangeOfString:@"\""].location != NSNotFound) - hideIterateOn(partSpec, @"\""); - hideIterateOn(partSpec, @"\" \t\n"); + if ([sHideSpec rangeOfString:@"\""].location != NSNotFound) + hideIterateOn(sHideSpec, @"\""); + hideIterateOn(sHideSpec, @"\" \t\n"); } @@ -156,10 +163,15 @@ } /// Update parttiions hidden property with partSpec -+(void) renameParts: (NSString*) partSpec ++(void) renameParts: (NSString*) renSpec { + if (renSpec!=nil) { + if (sRenSpec!=nil) [sRenSpec release]; + sRenSpec = [renSpec copy]; + } + NSArray* sPairs = - [partSpec componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @";"] ]; + [sRenSpec componentsSeparatedByCharactersInSet: [NSCharacterSet characterSetWithCharactersInString: @";"] ]; for (NSString* sPair in sPairs) { bool ret=false; @@ -176,7 +188,6 @@ [PartsInfoMgr reloadWithHideSpec:nil andRenameSpec:nil]; } -static NSString *sHideSpec=nil, *sRenSpec=nil; +(void) reloadWithHideSpec: (NSString*) hideSpec andRenameSpec:(NSString*) renSpec { if (hideSpec!=nil) {