44844b538168060422f61989c6f53c069d81c6b2 tdreszer Mon Dec 13 14:47:41 2010 -0800 Reverting back 2 previous checkins in order to give single clean checkin as push request. 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);