81f1e4fa0106db9d0d049d739302cccc09e1dfcb braney Thu Feb 6 10:21:46 2014 -0800 fix crash in multiWig if underlying bigWig file was not found diff --git src/hg/hgTracks/multiWig.c src/hg/hgTracks/multiWig.c index fa54dc4..1d89247 100644 --- src/hg/hgTracks/multiWig.c +++ src/hg/hgTracks/multiWig.c @@ -163,30 +163,33 @@ freez(&lineBuf); } static void minMaxVals(struct slRef *refList, double *retMin, double *retMax, enum wiggleAlwaysZeroEnum alwaysZero) /* Figure out min/max of everything in list. The refList contains pointers to * preDrawContainers */ { /* Turns out to be *much* shorter to rewrite than to reuse preDrawAutoScale */ double max = -BIGDOUBLE, min = BIGDOUBLE; struct slRef *ref; for (ref = refList; ref != NULL; ref = ref->next) { struct preDrawContainer *pre = ref->val; + if (pre == NULL) // pre may be null if the bigWig file didn't load + continue; + struct preDrawElement *p = pre->preDraw + pre->preDrawZero; int width = pre->width; int i; for (i=0; i<width; ++i) { if (p->count) { if (min > p->min) min = p->min; if (max < p->max) max = p->max; } ++p; } } if (alwaysZero == wiggleAlwaysZeroOn) {