ce8ecbbd267e3cd3f1c9bb24ace346e61fbe9019
kate
  Thu Oct 18 11:27:36 2018 -0700
Fix some issues with linked features display (tall region). refs #21917

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 7725e29..df5dfcdc 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -1612,42 +1612,30 @@
 /* Allocate track . */
 {
 struct track *tg;
 AllocVar(tg);
 return tg;
 }
 
 int simpleFeatureCmp(const void *va, const void *vb)
 /* Compare to sort based on start. */
 {
 const struct simpleFeature *a = *((struct simpleFeature **)va);
 const struct simpleFeature *b = *((struct simpleFeature **)vb);
 return a->start - b->start;
 }
 
-void linkedFeaturesSortAndBound(struct linkedFeatures *lf)
-/* Sort simpleFeatures in the linkedFeature and set start and end based on simpleFetaures */
-// TODO: dedupe the simpleFeatures ?
-{
-struct simpleFeature *sfLast, *sfs = lf->components;
-slSort(&sfs, simpleFeatureCmp);
-lf->components = sfs;
-sfLast = (struct simpleFeature *)slLastEl(sfs);
-lf->start = sfs->start;
-lf->end = sfLast->end;
-}
-
 int linkedFeaturesCmp(const void *va, const void *vb)
 /* Compare to sort based on start. */
 {
 const struct linkedFeatures *a = *((struct linkedFeatures **)va);
 const struct linkedFeatures *b = *((struct linkedFeatures **)vb);
 return a->start - b->start;
 }
 
 char *linkedFeaturesName(struct track *tg, void *item)
 /* Return name of item. */
 {
 struct linkedFeatures *lf = item;
 return lf->name;
 }
 
@@ -4958,32 +4946,32 @@
 struct simpleFeature *sf;
 
 slReverse(&lf->components);
 if ((sf = lf->components) != NULL)
     {
     int start = sf->start;
     int end = sf->end;
 
     for (sf = sf->next; sf != NULL; sf = sf->next)
 	{
 	if (sf->start < start)
 	    start = sf->start;
 	if (sf->end > end)
 	    end = sf->end;
 	}
-    lf->start = lf->tallStart = start;
-    lf->end = lf->tallEnd = end;
+    lf->start = start;
+    lf->end = end;
     }
 lf->grayIx = lfCalcGrayIx(lf);
 }
 
 int linkedFeaturesItemStart(struct track *tg, void *item)
 /* Return start chromosome coordinate of item. */
 {
 struct linkedFeatures *lf = item;
 return lf->start;
 }
 
 int linkedFeaturesItemEnd(struct track *tg, void *item)
 /* Return end chromosome coordinate of item. */
 {
 struct linkedFeatures *lf = item;