src/hg/hgGenome/import.c 1.21
1.21 2010/05/18 06:20:55 galt
fixing for Views, and for case of allTracks with null track
Index: src/hg/hgGenome/import.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgGenome/import.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -b -B -U 4 -r1.20 -r1.21
--- src/hg/hgGenome/import.c 14 May 2010 23:30:24 -0000 1.20
+++ src/hg/hgGenome/import.c 18 May 2010 06:20:55 -0000 1.21
@@ -326,13 +326,15 @@
}
}
if (tdbIsComposite(track))
{
- struct trackDb *subTdb;
struct slName *subList = NULL;
- slSort(&(track->subtracks), trackDbCmp);
- for (subTdb = track->subtracks; subTdb != NULL; subTdb = subTdb->next)
+ struct slRef *tdbRefList = trackDbListGetRefsToDescendantLeaves(track->subtracks);
+ slSort(&tdbRefList, trackDbRefCmp);
+ struct slRef *tdbRef;
+ for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
{
+ struct trackDb *subTdb = tdbRef->val;
name = slNameNew(subTdb->table);
slAddTail(&subList, name);
hashAdd(uniqHash, subTdb->table, NULL);
}
@@ -376,19 +375,15 @@
name = slNameNew(s);
slAddHead(&nameList, name);
}
}
-
slNameSort(&nameList);
}
-
name = slNameNew(trackTable);
-if (!tdbIsComposite(track) && !trackDbLocalSetting(track, "container"))
+if (!tdbIsComposite(track))
/* suppress for composite tracks -- only the subtracks have tables */
slAddHead(&nameList, name);
-
addTablesAccordingToTrackType(&nameList, uniqHash, track);
-
hashFree(&uniqHash);
return nameList;
}
@@ -827,9 +821,11 @@
struct hTableInfo *hti = hFindTableInfo(database, NULL, name->name);
if (!hti)
continue; /* filter out tables that don't exist anymore */
if (!htiIsPositional(hti) &&
- !startsWith("bam", track->type) && !startsWith("big", track->type))
+ (!track ||
+ (!startsWith("bam", track->type) && !startsWith("big", track->type)))
+ )
continue; /* filter out non-positional, do not add it to new list */
}
slAddHead(&newList,name);
}