src/macosx/native/sun/awt/CFileDialog.m
Print this page
*** 115,132 ****
--- 115,134 ----
[thePanel setDelegate:self];
fPanelResult = [thePanel runModalForDirectory:fDirectory file:fFile];
[thePanel setDelegate:nil];
+ if ([self userClickedOK]) {
if (fMode == java_awt_FileDialog_LOAD) {
NSOpenPanel *openPanel = (NSOpenPanel *)thePanel;
fURLs = [openPanel URLs];
} else {
fURLs = [NSArray arrayWithObject:[thePanel URL]];
}
[fURLs retain];
}
+ }
[self disposer];
}
- (BOOL) askFilenameFilter:(NSString *)filename {
*** 211,226 ****
jclass stringClass = (*env)->FindClass(env, "java/lang/String");
returnValue = (*env)->NewObjectArray(env, count, stringClass, NULL);
(*env)->DeleteLocalRef(env, stringClass);
! NSUInteger i;
! for (i = 0; i < count; i++) {
! jstring filename = JNFNSToJavaString(env, [[urls objectAtIndex:i] absoluteString]);
! (*env)->SetObjectArrayElement(env, returnValue, i, filename);
(*env)->DeleteLocalRef(env, filename);
! }
}
[dialogDelegate release];
JNF_COCOA_EXIT(env);
return returnValue;
--- 213,227 ----
jclass stringClass = (*env)->FindClass(env, "java/lang/String");
returnValue = (*env)->NewObjectArray(env, count, stringClass, NULL);
(*env)->DeleteLocalRef(env, stringClass);
! [urls enumerateObjectsUsingBlock:^(id url, NSUInteger index, BOOL *stop) {
! jstring filename = JNFNormalizedJavaStringForPath(env, [url path]);
! (*env)->SetObjectArrayElement(env, returnValue, index, filename);
(*env)->DeleteLocalRef(env, filename);
! }];
}
[dialogDelegate release];
JNF_COCOA_EXIT(env);
return returnValue;