380168126de321e633895cfabafd772d162671df
braney
  Mon Mar 6 21:14:10 2017 -0800
don't go to default position if hub for current db is loaded

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index d968bdc..486c85d 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -775,41 +775,46 @@
 setUdcTimeout(cart);
 if (cartVarExists(cart, hgHubDoDisconnect))
     doDisconnectHub(cart);
 
 pushWarnHandler(cartHubWarn);
 char *newDatabase = hubConnectLoadHubs(cart);
 popWarnHandler();
 
 #ifndef GBROWSE
 if (didSessionLoad)
     cartCopyCustomTracks(cart);
 #endif /* GBROWSE */
 
 if (newDatabase != NULL)
     {
+    char *cartDb = cartOptionalString(cart, "db");
+
+    if ((cartDb == NULL) || differentString(cartDb, newDatabase))
+        {
         // this is some magic to use the defaultPosition and reset cart variables
         if (oldVars)
             {
             struct hashEl *hel;
             if ((hel = hashLookup(oldVars,"db")) != NULL)
                 hel->val = "none";
             else
                 hashAdd(oldVars, "db", "none");
             }
         cartSetString(cart,"db", newDatabase);
         }
+    }
 
 if (exclude != NULL)
     {
     while ((ex = *exclude++))
 	cartExclude(cart, ex);
     }
 
 cartDefaultDisconnector(&conn);
 
 if (didSessionLoad)
     cartHideDefaultTracks(cart);
 return cart;
 }