16fdc50e4e49b031f566911bf0371d4942282d75
larrym
  Fri Apr 27 16:22:37 2012 -0700
use a union in jsonElement to simplify code and eliminate typecasts (per suggestion of angie and tim); rename jsonHash to jsonObject; fix some obsolete comments
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index ba7c435..3f4ac2d 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2683,32 +2683,32 @@
 	}
     }
 }
 #endif /* UNUSED */
 
 
 void trackUi(struct trackDb *tdb, struct trackDb *tdbList, struct customTrack *ct, boolean ajax)
 /* Put up track-specific user interface. */
 {
 if (!ajax)
     {
     jsIncludeFile("jquery.js", NULL);
     webIncludeResourceFile("jquery-ui.css");
     jsIncludeFile("jquery-ui.js", NULL);
     jsIncludeFile("utils.js",NULL);
-    jsonHashAddString(NULL, "track", tdb->track);
-    jsonHashAddString(NULL, "db", database);
+    jsonObjectAdd(NULL, "track", newJsonString(tdb->track));
+    jsonObjectAdd(NULL, "db", newJsonString(database));
     }
 #define RESET_TO_DEFAULTS "defaults"
 char setting[128];
 
 // NOTE: Currently only composite multi-view tracks because
 // reset relies upon all cart vars following naming convention:
 //   {track}.{varName}...  ( One exception supported: {track}_sel ).
 
 if (trackDbLocalSetting(tdb, "container"))
     {
     /* For the moment, be a composite... */
     tdbMarkAsComposite(tdb);
     }
 if (ajax && cartOptionalString(cart, "descriptionOnly"))
     {