src/hg/hgTracks/config.c 1.87
1.87 2009/12/08 18:44:27 tdreszer
Created static variable advancedJsEnabled to avoid excessive calls to look it up
Index: src/hg/hgTracks/config.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/config.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -b -B -U 4 -r1.86 -r1.87
--- src/hg/hgTracks/config.c 12 Nov 2009 20:50:54 -0000 1.86
+++ src/hg/hgTracks/config.c 8 Dec 2009 18:44:27 -0000 1.87
@@ -443,17 +443,21 @@
boolean advancedJavascriptFeaturesEnabled(struct cart *cart)
// Returns TRUE if advanced javascript features are currently enabled
{
-char *ua = cgiUserAgent();
-boolean defaultVal = TRUE;
+static boolean alreadyLookedForadvancedJs = FALSE;
+static boolean advancedJsEnabled = FALSE;
+if(!alreadyLookedForadvancedJs)
+ {
+ char *ua = cgiUserAgent();
+ boolean defaultVal = TRUE;
-// dragZooming was broken in version 530.4 of AppleWebKit browsers (used by Safari, Chrome and some other browsers).
-// This was explicitly fixed by the WebKit team in version 531.0.1 (see http://trac.webkit.org/changeset/45143).
-// The AppleWebKit version provided by the browser in user agent doesn't always include the minor version number, so to
-// be overly conservative we default drag-and-drop to off when AppleWebKit major version == 530
+ // dragZooming was broken in version 530.4 of AppleWebKit browsers (used by Safari, Chrome and some other browsers).
+ // This was explicitly fixed by the WebKit team in version 531.0.1 (see http://trac.webkit.org/changeset/45143).
+ // The AppleWebKit version provided by the browser in user agent doesn't always include the minor version number, so to
+ // be overly conservative we default drag-and-drop to off when AppleWebKit major version == 530
-if(ua != NULL)
+ if(ua != NULL)
{
char *needle = "AppleWebKit/";
char *ptr = strstr(ua, needle);
if(ptr != NULL)
@@ -462,6 +466,11 @@
sscanf(ptr + strlen(needle), "%d", &version);
defaultVal = (version != 530);
}
}
-return cartUsualBoolean(cart, "enableAdvancedJavascript", defaultVal);
+ advancedJsEnabled = cartUsualBoolean(cart, "enableAdvancedJavascript", defaultVal);
+ alreadyLookedForadvancedJs = TRUE;
+ }
+//else
+// warn("already looked up advancedJsEnabled"); // got msg 41 times in one page!
+return advancedJsEnabled;
}