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 */