349a84615cbb84b8ec55d620d785f898a91ca77a tdreszer Mon Dec 13 17:23:47 2010 -0800 Back out all last minute changes to cart as ill adviced at this time diff --git src/hg/lib/cart.c src/hg/lib/cart.c index 107c385..64f5a20 100644 --- src/hg/lib/cart.c +++ src/hg/lib/cart.c @@ -2114,39 +2114,42 @@ for(subtrack = parent->subtracks;subtrack != NULL;subtrack = subtrack->next) { int fourState = subtrackFourStateChecked(subtrack,cart); if (!fourStateChecked(fourState)) cartRemove(cart,subtrack->track); // Remove subtrack level vis if it isn't even checked just in case else // subtrack is checked (should include subtrack level vis) { if (!hashFindVal(subVisHash, subtrack->track)) // if the subtrack doesn't have individual vis AND... { if (reshapeFully || visOrig == tvHide) { subtrackFourStateCheckedSet(subtrack, cart,FALSE,fourStateEnabled(fourState)); // uncheck cartRemove(cart,subtrack->track); // Remove it if it exists, just in case countUnchecked++; } - } - else if (tdbIsMultiTrack(parent)) - cartRemove(cart,subtrack->track); // MultiTrack vis is ALWAYS inherited vis and non-selected should not have vis else if (visOrig != tvHide) { + if (tdbIsMultiTrack(parent)) + cartRemove(cart,subtrack->track); // MultiTrack vis is ALWAYS inherited + else cartSetString(cart,subtrack->track,hStringFromTv(visOrig)); countVisChanged++; } } + else if (tdbIsMultiTrack(parent)) + cartRemove(cart,subtrack->track); // MultiTrack vis is ALWAYS inherited vis and non-selected should not have vis + } } } else if (tdbIsMultiTrack(parent)) { // MultiTrack vis is ALWAYS inherited vis so remove any subtrack specific vis struct hashCookie brownie = hashFirst(subVisHash); struct hashEl* cartVar = NULL; while ((cartVar = hashNext(&brownie)) != NULL) { if (!endsWith(cartVar->name,"_sel")) cartRemove(cart,cartVar->name); } } if (countUnchecked + countVisChanged) WARN("%s visOrig:%s visMax:%s unchecked:%d Vis changed:%d",parent->track,hStringFromTv(visOrig),hStringFromTv(visMax),countUnchecked,countVisChanged);