5720d40a1fc0248481b420dd41bec1d910b9fc16
galt
  Thu Mar 31 14:36:36 2016 -0700
Fixes gtex track by accounting for label width.

diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c
index 08ce117..24bf5c5 100644
--- src/hg/hgTracks/simpleTracks.c
+++ src/hg/hgTracks/simpleTracks.c
@@ -603,43 +603,49 @@
 
 
 		AllocVar(range);
 		range->start = start + winOffset;
 		range->end = end + winOffset;
 		slAddHead(&rangeList, range);
                 rangeWidth += (range->end - range->start);
 
 		AllocVar(node);
 		node->val = item;
 		node->parentSs = sin->ss;
 		node->noLabel = noLabel;
 		slAddHead(&nodeList, node);
 
 		noLabel = TRUE; // turns off labels for all following windows - for now.
+
 		}
     
 	    if (!foundWork)
 		continue;
 
 
 	    slReverse(&rangeList);
 	    slReverse(&nodeList);
 
             // non-proportional fixed-width handling (e.g. GTEX)
             if (tg->nonPropPixelWidth)
                 {
                 int npWidth = tg->nonPropPixelWidth(tg, item);
+		// account for label width unless we are already pushed against left side.
+		if (rangeList->start != 0 && !tg->drawLabelInBox && !tg->drawName && withLabels)
+		    npWidth += mgFontStringWidth(font,
+					       tg->itemName(tg, item)) + extraWidth;
+
                 if (npWidth > rangeWidth)
                     { // keep the first range but extend it
                     range = rangeList;
                     range->end = range->start + npWidth;
                     range->next = NULL;  // do not need the rest of the ranges
                     }
                 }
 
 	    if (spaceSaverAddOverflowMulti(ss, rangeList, nodeList, allowOverflow) == NULL)
 		break;
 
 	    }
 	}
     spaceSaverFinish(tg->ss);
     }