4ccf33da61239996702db7af0d93018806b2d38e angie Fri Feb 22 14:04:22 2019 -0800 lastPosition is set by cartHtmlShell* -- but not by other cart openers e.g. cartAndCookie or cartEmptyShell. CGIs that use the latter must set lastPosition after determining db and position. refs #22945 diff --git src/hg/hgVai/hgVai.c src/hg/hgVai/hgVai.c index 41a6287..c4f3862 100644 --- src/hg/hgVai/hgVai.c +++ src/hg/hgVai/hgVai.c @@ -3023,30 +3023,32 @@ if (startsWith("virt:", cartUsualString(cart, "position", ""))) cartSetString(cart, "position", cartUsualString(cart, "nonVirtPosition", "")); /* Set up global variables. */ getDbAndGenome(cart, &database, &genome, oldVars); initGenbankTableNames(database); regionType = cartUsualString(cart, hgvaRegionType, hgvaRegionTypeGenome); if (isEmpty(cartOptionalString(cart, hgvaRange))) cartSetString(cart, hgvaRange, hDefaultPos(database)); int timeout = cartUsualInt(cart, "udcTimeout", 300); if (udcCacheTimeout() < timeout) udcSetCacheTimeout(timeout); knetUdcInstall(); +char *range = trimSpaces(windowsToAscii(cartUsualString(cart, hgvaRange, ""))); +cartSetLastPosition(cart, range, oldVars); cartTrackDbInit(cart, &fullTrackList, &fullGroupList, TRUE); if (lookupPosition(cart, hgvaRange)) { if (startQuery) doQuery(); else if (! isCommandLine) doUi(); } else { // Revert to lastPosition if we have multiple matches or warnings, // especially in case user manually edits browser location as in #13009: char *position = cartUsualString(cart, "lastPosition", hDefaultPos(database)); cartSetString(cart, hgvaRange, position); if (webGotWarnings())