X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fbin%2FJalviewLite.java;h=c9d08d4753b70be44a99cfaf555544bb173f6014;hb=a8f483d04205bb8273ee311c12968b7e86d205fa;hp=ad098249dfad55fd637f55d8f23dadd8828021d8;hpb=b2f9a8d7bce642ff4011bc6d49e02bb0569fbb11;p=jalview.git diff --git a/src/jalview/bin/JalviewLite.java b/src/jalview/bin/JalviewLite.java index ad09824..c9d08d4 100644 --- a/src/jalview/bin/JalviewLite.java +++ b/src/jalview/bin/JalviewLite.java @@ -1,5 +1,5 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1) + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) * Copyright (C) 2014 The Jalview Authors * * This file is part of Jalview. @@ -61,6 +61,7 @@ import java.util.Hashtable; import java.util.StringTokenizer; import java.util.Vector; +import netscape.javascript.JSException; import netscape.javascript.JSObject; /** @@ -1479,7 +1480,36 @@ public class JalviewLite extends Applet implements callInitCallback(); } } - + private void initLiveConnect() + { + // try really hard to get the liveConnect thing working + boolean notFailed=false; + int tries=0; + while (!notFailed && tries<10) { + if (tries>0) + { + System.err.println("LiveConnect request thread going to sleep."); + } + try { + Thread.sleep(700*(1+tries)); + } + catch (InterruptedException q) {}; + if (tries++>0) + { + System.err.println("LiveConnect request thread woken up."); + } + try { + JSObject scriptObject = JSObject.getWindow(this); + if (scriptObject.eval("navigator")!=null) + { + notFailed=true; + } + } catch (JSException jsex) + { + System.err.println("Attempt "+tries+" to access LiveConnect javascript failed."); + } + } + } private void callInitCallback() { String initjscallback = getParameter("oninit"); @@ -1498,6 +1528,9 @@ public class JalviewLite extends Applet implements { } ; + // try really hard to let the browser plugin know we want liveconnect + initLiveConnect(); + if (scriptObject != null) { try