f30e46e4d2ee9f48ef87cc87b95159c37dffeb6a galt Wed Feb 17 12:59:44 2016 -0800 Fixes #16818. Gets better cross-all-windows error handling working for bigDataUrl/network tracks. Squashed commit of the following: commit cdf9db633c9018538aabf9c8346eabee63b5a3cf Author: Galt Barber <galt@soe.ucsc.edu> Date: Wed Feb 17 12:55:47 2016 -0800 Fixed width in bigWarn.c and background in multiWig.c commit 3620dcd0912660fabbd993df4af119cc03676545 Author: Galt Barber <galt@soe.ucsc.edu> Date: Tue Feb 16 11:53:32 2016 -0800 Initial checking for multi-region all-windows warn. This is an attempt to handle timeout high-level errors better, when a track is taking too long to finish loading; and to handle the network errors across all of the windows together, i.e. using the entire screen width to display the errors, only diplaying the first error, and only drawing for the first window. diff --git src/hg/hgTracks/multiWig.c src/hg/hgTracks/multiWig.c index 7c05cff..534a6a4 100644 --- src/hg/hgTracks/multiWig.c +++ src/hg/hgTracks/multiWig.c @@ -403,34 +403,41 @@ { struct track *subtrack; boolean errMsgShown = FALSE; int y = yOff; boolean errMsgFound = FALSE; // determine if any subtracks had errors and count them up for (subtrack = tg->subtracks; subtrack != NULL; subtrack = subtrack->next) { if (isSubtrackVisible(subtrack) ) { if (subtrack->networkErrMsg) errMsgFound = TRUE; } } -if (errMsgFound) +if (errMsgFound && currentWindow==windows) // first window { + int clipXBak, clipYBak, clipWidthBak, clipHeightBak; + hvGfxGetClip(hvg, &clipXBak, &clipYBak, &clipWidthBak, &clipHeightBak); + hvGfxUnclip(hvg); + hvGfxSetClip(hvg, fullInsideX, yOff, fullInsideWidth, tg->height); + // use the height of the multiWig Color yellow = hvGfxFindRgb(hvg, &undefinedYellowColor); - hvGfxBox(hvg, xOff, yOff, width, tg->height, yellow); + hvGfxBox(hvg, fullInsideX, yOff, fullInsideWidth, tg->height, yellow); + hvGfxUnclip(hvg); + hvGfxSetClip(hvg, clipXBak, clipYBak, clipWidthBak, clipHeightBak); } struct wigCartOptions *wigCart = tg->wigCartData; struct wigGraphOutput *wgo = tg->wigGraphOutput; int numTrack = 0; for (subtrack = tg->subtracks; subtrack != NULL; subtrack = subtrack->next) { if (isSubtrackVisible(subtrack)) { if (!subtrack->networkErrMsg || !errMsgShown) { if (subtrack->networkErrMsg) errMsgShown = TRUE; wgo->numTrack = numTrack++;