e8a86f15b747412c363679ddefed5df4fd3d7f73
braney
  Tue Sep 19 16:38:29 2017 -0700
fix a bug in how saved sessions remaps cart variables.   Also, make sure
priority settings apply to views

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 411f0e7..b5fe2c9 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -333,34 +333,35 @@
 char buffer[4096];
 for(hv = hubVarList; hv; hv = hv->next)
     {
     unsigned hubId = sqlUnsigned(hv->name + strlen(hgHubConnectHubVarPrefix));
     
     if (hubId == oldHubId)
         {
         cartRemove(cart, hv->name);
         safef(buffer, sizeof buffer, "%s%d", hgHubConnectHubVarPrefix, newHubId);
         cartSetString(cart, buffer, "1");
         }
     }
 
 // need to change hub_#hubNumber#* (track visibilities)
 safef(buffer, sizeof buffer, "%s%d_", hubTrackPrefix, oldHubId);
+int oldNameLength = strlen(buffer);
 hubVarList = cartVarsWithPrefix(cart, buffer);
 for(hv = hubVarList; hv; hv = hv->next)
     {
-    char *name = hv->name + strlen(buffer);
+    char *name = hv->name + oldNameLength;
     safef(buffer, sizeof buffer, "%s%d_%s", hubTrackPrefix, newHubId, name);
     cartSetString(cart, buffer, cloneString(hv->val));
     cartRemove(cart, hv->name);
     }
 
 // need to change hgtgroup_hub_#hubNumber# (blue bar open )
 // need to change expOrder_hub_#hubNumber#, simOrder_hub_#hubNumber# (sorting)
 
 // need to change trackHubs #hubNumber#   
 cartSetString(cart, hgHubConnectRemakeTrackHub, "on");
 cartSetString(cart, hubFileVar, newHubFileName);
 }
 
 void cartCopyCustomTracks(struct cart *cart)
 /* If cart contains any live custom tracks, save off a new copy of them,