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
