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

Reply via email to