sal.i18n.OOO_STABL#6FE574.patch"#g"#mBIN>HIndex: osl/unx/nlsupport.c =================================================================== RCS file: /cvs/oo/porting/sal/osl/unx/nlsupport.c,v retrieving revision 1.14.2.3.2.2 diff -u -r1.14.2.3.2.2 nlsupport.c --- osl/unx/nlsupport.c 2002/11/20 06:24:22 1.14.2.3.2.2 +++ osl/unx/nlsupport.c 2002/12/15 20:18:09 @@ -70,7 +70,9 @@ #include #else #ifdef BUILD_OS_APPLEOSX -#include +#include +#include +#include #endif #endif #endif @@ -510,7 +512,7 @@ * argument from one of the ones in CFStringEncodingExt.h in the CoreFoundation framework. */ const _pair _macxp_language_list[] = { - { "MACINTOSH", RTL_TEXTENCODING_APPLE_ROMAN }, /* kCFStringEncodingMacRoman */ + { "MACINTOSH", RTL_TEXTENCODING_ISO_8859_1 }, /* kCFStringEncodingMacRoman */ { "X-MAC-JAPANESE", RTL_TEXTENCODING_EUC_JP }, /* kCFStringEncodingMacJapanese */ { "X-MAC-TRAD-CHINESE", RTL_TEXTENCODING_APPLE_CHINTRAD }, /* kCFStringEncodingMacChineseTrad */ { "X-MAC-KOREAN", RTL_TEXTENCODING_EUC_KR }, /* kCFStringEncodingMacKorean */ @@ -796,14 +798,6 @@ { #ifdef BUILD_OS_APPLEOSX static const char *locale = NULL; - JNIEnv *env = NULL; - JavaVM *jvm = NULL; - JavaVMInitArgs vm_args; - jclass aClass = NULL; - jmethodID aMethod = NULL; - jobject aLocale = NULL; - jstring sLocale = NULL; - jboolean bCopy = JNI_TRUE; #endif /* ifdef BUILD_OS_APPLEOSX */ /* basic thread safeness */ @@ -813,34 +807,16 @@ /* Only fetch the locale once and cache it */ if ( NULL == locale ) { - /* specify Java 2 */ - vm_args.version = JNI_VERSION_1_2; - vm_args.options = NULL; - vm_args.nOptions = 0; - vm_args.ignoreUnrecognized = JNI_TRUE; - - /* get default JVM args */ - JNI_GetDefaultJavaVMInitArgs( &vm_args ); - - /* create the Java VM */ - if ( JNI_CreateJavaVM( &jvm, (void *)&env, &vm_args ) == JNI_OK ) - { - /* get the current locale */ - aClass = (*env)->FindClass( env, "java.util.Locale" ); - if ( aClass ) - aMethod = (*env)->GetStaticMethodID( env, aClass, "getDefault", "()Ljava/util/Locale;" ); - if ( aMethod ) - aLocale = (*env)->CallStaticObjectMethod( env, aClass, aMethod ); - if ( aClass ) - aMethod = (*env)->GetMethodID( env, aClass, "toString", "()Ljava/lang/String;" ); - if ( aMethod ) - sLocale = (jstring)( (*env)->CallObjectMethod( env, aLocale, aMethod) ); - if ( sLocale ) - locale = (*env)->GetStringUTFChars( env, sLocale, &bCopy ); - - /* Destroy the JVM */ - (*jvm)->DestroyJavaVM( jvm ); - } + LocaleRef lref; + CFArrayRef aref = (CFArrayRef)CFPreferencesCopyAppValue( CFSTR( "AppleLanguages" ), kCFPreferencesCurrentUser ); + CFStringRef sref = (CFStringRef)CFArrayGetValueAtIndex( aref, 0 ); + locale = (char *)malloc( 20 ); + + if ( CFStringGetCString( sref, locale, 20, CFStringGetSystemEncoding() ) ) + { + LocaleRefFromLocaleString( locale, &lref ); + LocaleRefGetPartString( lref, kLocaleAllPartsMask, 20, locale ); + } #endif /* ifdef BUILD_OS_APPLEOSX */ /* handle the case where the Java method of finding locale fails */ Index: util/makefile.mk =================================================================== RCS file: /cvs/oo/porting/sal/util/makefile.mk,v retrieving revision 1.18.2.1.2.1 diff -u -r1.18.2.1.2.1 makefile.mk --- util/makefile.mk 2002/11/20 04:49:33 1.18.2.1.2.1 +++ util/makefile.mk 2002/12/15 20:18:13 @@ -158,7 +158,7 @@ SHL1STDLIBS+= -Wl,--whole-archive -lgnu_readdir_r -Wl,--no-whole-archive .ENDIF # OS == NETBSD .IF "$(OS)"=="MACOSX" -SHL1STDLIBS+= -framework JavaVM +SHL1STDLIBS+= -framework CoreServices .ENDIF # OS == MACOSX .ENDIF # GUI == UNX