8a0285e2e86e8d604b21e1cc2a5cfaef4c28c00e angie Wed May 22 11:29:22 2019 -0700 Look out for loss of files in cart var ss, in addition to hgPcrResult_*. refs #22440 diff --git src/hg/hgSession/sessionData.c src/hg/hgSession/sessionData.c index 0323e2a..41cc38c 100644 --- src/hg/hgSession/sessionData.c +++ src/hg/hgSession/sessionData.c @@ -480,25 +480,26 @@ // replace with new file containing references to saved files and tables. char *oldTrackFile = cloneString(var->val); char *newTrackFile = saveTrackFile(cart, var->name, var->val, sessionDataDbPrefix, dbSuffix, sessionDir); if (newTrackFile && cartVarIsCustomComposite(var->name)) cartReplaceHubVars(cart, var->name, oldTrackFile, newTrackFile); freeMem(oldTrackFile); freeMem(newTrackFile); } else { // Regular cart var; save trash paths (possibly encoded) in value, if any are found. char *newVal = cloneString(var->val); saveTrashPaths(&newVal, sessionDir, FALSE); saveTrashPaths(&newVal, sessionDir, TRUE); - // Special case for lost hgPcr result trash files: prevent errAbort in hgTracks - if (startsWith("hgPcrResult_", var->name) && sameString(newVal, " ")) + // Special case for lost hgPcr/blat result trash files: prevent errAbort in hgTracks + if ((startsWith("hgPcrResult_", var->name) || sameString("ss", var->name)) && + sameString(newVal, " ")) cartRemove(cart, var->name); else if (newVal != var->val && differentString(newVal, var->val)) cartSetString(cart, var->name, newVal); freeMem(newVal); } } } }