@@ -39,14 +39,18 @@ final class UiAuthorizationBrowser extends BaseLifecycleComponent implements Aut
3939 public void browse (String url ) {
4040 runLater (() -> {
4141 if (dialog == null ) {
42- var dialogTitle = resourceBundle .getString ("uiAuthorisationBrowserTitle" );
43- try {
44- dialog = dialogFactory .create (dialogTitle , "LoginDialog.fxml" , this ::customizeLoginDialog );
45- } catch (UnsatisfiedLinkError e ) {
46- if (e .getMessage () != null && e .getMessage ().contains ("jfxwebkit" )) {
47- dialog = dialogFactory .create (dialogTitle , "LoginDialogSimple.fxml" , this ::customizeSimpleLoginDialog );
48- } else {
49- throw e ;
42+ if (windows732Bit ()) {
43+ // known issue on Windows 7 32 bit - jfxwebkit is not properly working with Google Login dialog (javascript issues)
44+ dialog = createSimpleLoginDialog ();
45+ } else {
46+ try {
47+ dialog = createFullLoginDialog ();
48+ } catch (UnsatisfiedLinkError e ) {
49+ if (e .getMessage () != null && e .getMessage ().contains ("jfxwebkit" )) {
50+ dialog = createSimpleLoginDialog ();
51+ } else {
52+ throw e ;
53+ }
5054 }
5155 }
5256 }
@@ -56,6 +60,18 @@ public void browse(String url) {
5660 });
5761 }
5862
63+ private Dialog createFullLoginDialog () {
64+ return dialogFactory .create (resourceBundle .getString ("uiAuthorisationBrowserTitle" ), "LoginDialog.fxml" , this ::customizeLoginDialog );
65+ }
66+
67+ private Dialog createSimpleLoginDialog () {
68+ return dialogFactory .create (resourceBundle .getString ("uiAuthorisationBrowserTitle" ), "LoginDialogSimple.fxml" , this ::customizeSimpleLoginDialog );
69+ }
70+
71+ private static boolean windows732Bit () {
72+ return "32" .equals (System .getProperty ("sun.arch.data.model" )) && "Windows 7" .equals (System .getProperty ("os.name" ));
73+ }
74+
5975 @ Override
6076 protected void doStart () {
6177 runLater (() -> {
0 commit comments