3e29ad0059ebf3c9b781ac5317e692ae2a2687bb braney Tue Jan 14 23:31:45 2020 -0800 hgCollection fiddles with the settingsHash of trackDb, which might be cached and made up of memory that shouldn't be freed. Copy the hash before fiddling with it. Found a bug in lmCloneHash (wasn't setting hash->lm correctly, so increment trackDb version just to make sure cache will be cleared. diff --git src/hg/inc/trackDb.h src/hg/inc/trackDb.h index e259b58..eee28d1 100644 --- src/hg/inc/trackDb.h +++ src/hg/inc/trackDb.h @@ -26,31 +26,31 @@ #define TRACKDB_NUM_COLS 21 // Forward definitions struct tdbExtras; // A structure to keep track of our min and max values if we're a wig struct minMax { double min, max; }; /* DO NOT CHANGE THE TRACKDB STRUCTURE WITHOUT INCREMENTING THE VERSION NUMBER */ /* This number is tacked onto the end of cached trackDb entries to make sure we * don't use a cached structure that has different contents. */ -#define TRACKDB_VERSION 1 +#define TRACKDB_VERSION 2 struct trackDb /* This describes an annotation track. */ /* DO NOT CHANGE THE TRACKDB STRUCTURE WITHOUT INCREMENTING THE VERSION NUMBER */ { struct trackDb *next; /* Next in singly linked list. Next sibling in tree. */ char *track; /* Symbolic ID of Track - used in cart. Is tableName in database historically. */ char *table; /* Symbolic ID of Table - used in database. Same as track usually. */ char *shortLabel; /* Short label displayed on left */ char *type; /* Track type: bed, psl, genePred, etc. */ char *longLabel; /* Long label displayed in middle */ unsigned char visibility; /* 0=hide, 1=dense, 2=full, 3=pack, 4=squish */ float priority; /* 0-100 - where to position. 0 is top */ unsigned char colorR; /* Color red component 0-255 */ unsigned char colorG; /* Color green component 0-255 */