Erik Van Grunderbeeck wrote:
> This fixes loading VM’s for Win32. I general, its a known problem
> since 2004 or so (just google for “JNI_CreateJavaVM crash”). 
[...]
> Do direct load of Java VM through LoadLibrary on Win32. Loading
> through dl_sym() will destroy the function pointers on a 64 bit VM on
> Win32 (not sure for *Nix)
[...]
> -    fptr_JNI_CreateJavaVM JNI_CreateJavaVM_fp = 
> (fptr_JNI_CreateJavaVM)dl_dlsym(jvm_lib,
> -            "JNI_CreateJavaVM");
> -
> +#ifdef WIN32
> +    fptr_JNI_CreateJavaVM JNI_CreateJavaVM_fp = 
> (fptr_JNI_CreateJavaVM)GetProcAddress(jvm_lib, "JNI_CreateJavaVM");
> +#else  //      #ifdef WIN32
> +    fptr_JNI_CreateJavaVM JNI_CreateJavaVM_fp = 
> (fptr_JNI_CreateJavaVM)dl_dlsym(jvm_lib, "JNI_CreateJavaVM");
> +#endif //      #ifdef WIN32

If GetProcAddress() returns pointer (32-bit in Win32), I can't see how
those two differ ? dl_dlsym() is just a wrapper for GetProcAddress().

GetProcAddress() definetely can't return 64-bit pointer when compiled
for Win32 ; that would break backward compability in Win32 API ?


_______________________________________________
libbluray-devel mailing list
[email protected]
http://mailman.videolan.org/listinfo/libbluray-devel

Reply via email to