Much  relieved! Here's a summary of the recent fixes:

The locking up was at least in  part due to a failure to release the queue
and let scripts continue. It was a simple one-line fix once I found it.
That was unrelated to the boolean  business. I noticed it when I tried to
load a bogus structure -- $adfljdaf  --  in the same script as had a
prompt() function, and JSmol just stopped in its tracks. I'm sure there
were other cases.

The infinite recursion problem was due to two things. There is a 1-ms
timeout that I was throwing in every 100 ms of script execution that
allowed the script processing to be interrupted and other threads to
proceed. But it turns out that there was some faulty logic, and in certain
cases the situation could arise where the command loop just cycled
infinitely.

The business with Boolean and Safari's magical (i.e. multithreaded)
behavior was a teachable moment about why you have to be very careful
modifying fundamental browser classes such as Boolean and Number. Tweaking
them is fine; replacing them with your own is not wise! I still have no
idea what was going on there, but anyone who redefines Boolean has no right
to complain, I think.

Minimization stopped after the last cycle of code compression that I
created, in which I found I could wrap all the methods with "anonymous
functions":

;(function(xx,yy,zz,....){

[all JSmol code here]

})(XX,YY,ZZ);

This allows the Google closure compiler to replace global variable names
such as Clazz.declareMethod with aliases such as "a" and reduce file size
by 30-40%. But to make it work, I had to have the automated build process
replace all "Clazz.xxxx" with "Clazz_xxx", and then I had to find all of
those. My code analysis using an Excel pivot table missed one that happens
to be only used in JVXL surface loading and minimization.

Robert Lancashire found a bug that made it necessary to have Info.j2sPath
== "j2s" and not any other. Now we should be good to go with any j2s path.

Mouse wheeling problems were due to not handling unexpected "left-drag"
notifications from a mouse during wheel motions. Who would have thunk it?

The popup menu/language switching problem was something simple, but I can't
remember.

Some of the Safari/Chrome local page problems were due to using the
<object> tag instead of the (deprecated???) <applet> tag in webkit
browsers. I guess we're back to <applet> now, even in HTML5.

And, I don't know if it's just me, but funny, I haven't seen a warning box
all week. Happy day!

Bob







On Tue, Dec 3, 2013 at 8:42 PM, Otis Rothenberger <osrot...@chemagic.com>wrote:

> Bob,
>
> Several times today, I spent some time trying to break our conformation
> rotation script of Safari 7.0. It does not break - i.e. lock up JSmol.
>
> It even works on iPad, but the half life on iPad before a crash is pretty
> small. We are in good company with this. An HTML5 rating page that rates
> Safari 7.0 quite high crashed Safari when I played with a data display
> widget on their page.
>
> Thanks for the fix. Is this simply the result of leaving messaging on?
> I've lost track of cause and effect here - integer/Boolean issue or timing
> issue?
>
> Otis
>
>
> On Tue, Dec 3, 2013 at 2:28 PM, Otis Rothenberger 
> <osrot...@chemagic.com>wrote:
>
>> Bob,
>>
>> This now loads in Safari 7.0, but minimization fails in Chrome and
>> Safari. This is true for your page and our VMK app.
>>
>> I see no error on minimization failure. For what its worth, the
>> minimization command is loading something from server, but no screen
>> action. This is all on ISU - not chemagic.
>>
>> Otis
>>
>>
>> On Tue, Dec 3, 2013 at 1:11 PM, Robert Hanson <hans...@stolaf.edu> wrote:
>>
>>> http://chemapps.stolaf.edu/jmol/zip/jmol-13.3.9_2013.12.03a.zip
>>>
>>> --
>>> Robert M. Hanson
>>> Larson-Anderson Professor of Chemistry
>>> St. Olaf College
>>> Northfield, MN
>>> http://www.stolaf.edu/people/hansonr
>>>
>>>
>>> If nature does not answer first what we want,
>>> it is better to take what answer we get.
>>>
>>> -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
>>>
>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Rapidly troubleshoot problems before they affect your business. Most IT
>>> organizations don't have a clear picture of how application performance
>>> affects their revenue. With AppDynamics, you get 100% visibility into
>>> your
>>> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of
>>> AppDynamics Pro!
>>>
>>> http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
>>> _______________________________________________
>>> Jmol-users mailing list
>>> Jmol-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/jmol-users
>>>
>>>
>>
>>
>> --
>> Otis Rothenberger
>> o...@chemagic.com
>> www.chemagic.com
>>
>
>
>
> --
> Otis Rothenberger
> o...@chemagic.com
> www.chemagic.com
>
>
> ------------------------------------------------------------------------------
> Sponsored by Intel(R) XDK
> Develop, test and display web and hybrid apps with a single code base.
> Download it for free now!
>
> http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
> _______________________________________________
> Jmol-users mailing list
> Jmol-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jmol-users
>
>


-- 
Robert M. Hanson
Larson-Anderson Professor of Chemistry
St. Olaf College
Northfield, MN
http://www.stolaf.edu/people/hansonr


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900
------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to