src/hg/hgTracks/hgTracks.c 1.1558
1.1558 2009/03/09 18:34:55 tdreszer
Fix for defaulting composite tracks. Requires Stdized view vis select name.
Index: src/hg/hgTracks/hgTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/hgTracks.c,v
retrieving revision 1.1557
retrieving revision 1.1558
diff -b -B -U 4 -r1.1557 -r1.1558
--- src/hg/hgTracks/hgTracks.c 3 Mar 2009 19:38:52 -0000 1.1557
+++ src/hg/hgTracks/hgTracks.c 9 Mar 2009 18:34:55 -0000 1.1558
@@ -194,22 +194,27 @@
struct track *track = tr->track;
struct trackDb *tdb = track->tdb;
if (changeVis == -1)
{
+ if(tdbIsComposite(tdb))
+ {
+ safef(pname, sizeof(pname),"%s.*",track->mapName); //to remove all settings associated with this composite!
+ cartRemoveLike(cart,pname);
+ struct track *subTrack;
+ for(subTrack = track->subtracks;subTrack != NULL; subTrack = subTrack->next)
+ {
+ subTrack->visibility = tdb->visibility;
+ cartRemove(cart, subTrack->mapName);
+ }
+ }
+
/* restore defaults */
if (tdbIsSuperTrackChild(tdb) || tdbIsCompositeChild(tdb))
{
- //if(tdb->parentName == NULL || differentString(tdb->parentName,tdb->parent->tableName))
- // tdb->parentName = tdb->parent->tableName;
- /* removing the supertrack parent's cart variables
- * restores defaults */
- //assert(tdb->parentName != NULL);
- //cartRemove(cart, tdb->parentName);
assert(tdb->parent != NULL && tdb->parent->tableName);
cartRemove(cart, tdb->parent->tableName);
if (withPriorityOverride)
{
- //safef(pname, sizeof(pname), "%s.priority",tdb->parentName);
safef(pname, sizeof(pname), "%s.priority",tdb->parent->tableName);
cartRemove(cart, pname);
}
}
@@ -1494,9 +1499,9 @@
if(subgroupFind(subtrack->tdb,"view",&stView))
{
int len = strlen(subtrack->tdb->parent->tableName) + strlen(stView) + 10;
char *ddName = needMem(len);
- safef(ddName,len,"%s_dd_%s",subtrack->tdb->parent->tableName,stView); // If not found takes "usual"
+ safef(ddName,len,"%s.%s.vis",subtrack->tdb->parent->tableName,stView);
char * fromParent = cartOptionalString(cart, ddName);
if(fromParent)
vis = hTvFromString(fromParent);
else