Hello, looks like libwindowsaccessbridge has some issues in native coding on
64bit Windows , probably it was developed with 32bit in mind
And still misses a few adjustments.
WinAccessBridge .h/cpp contains
BOOL CALLBACK AccessBridgeDialogProc(HWND hDlg, UINT message,
UINT wParam, LONG lParam);
and
theDialogWindow = CreateDialog(windowsInstance,
"ACCESSBRIDGESTATUSWINDOW", NULL,
(DLGPROC) AccessBridgeDialogProc);
But DLGPROC has parameters (
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-dlgproc )
HWND Arg1,
UINT Arg2,
WPARAM Arg3,
LPARAM Arg4
So probably the 3rd and 4th params should be ... WPARAM wParam, LPARAM
lParam .
One internal user claimed to have crashes because of this type mismatch .
Additionally I found some unused declarations in WinAccessBridge.h probably
we could delete them .
Bug/webrev :
https://bugs.openjdk.java.net/browse/JDK-8249588
http://cr.openjdk.java.net/~mbaesken/webrevs/8249588.0/
Thanks, Matthias