a39c1560e7478da85f06f632c5a31cd911fe538d braney Thu Aug 2 17:10:12 2018 -0700 make subtracks in composites actually sort by floating point priority diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index ddbd396..c55380c 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -14227,31 +14227,36 @@ int h = subtrack->totalHeight(subtrack, minVis); subtrack->height = h; height += h; } } track->height = height; return track->height; } int trackPriCmp(const void *va, const void *vb) /* Compare for sort based on priority */ { const struct track *a = *((struct track **)va); const struct track *b = *((struct track **)vb); -return (a->priority - b->priority); +double diff = a->priority - b->priority; +if (diff > 0) + return 1; +else if (diff < 0) + return -1; +return 0; } static bool isSubtrackVisibleTdb(struct cart *cart, struct trackDb *tdb) /* Has this subtrack not been deselected in hgTrackUi or declared with * * "subTrack ... off"? -- assumes composite track is visible. */ { boolean overrideComposite = (NULL != cartOptionalString(cart, tdb->track)); bool enabledInTdb = TRUE; // assume that this track is enabled in tdb char option[1024]; safef(option, sizeof(option), "%s_sel", tdb->track); boolean enabled = cartUsualBoolean(cart, option, enabledInTdb); if (overrideComposite) enabled = TRUE; return enabled;