Revision: 55617
          http://sourceforge.net/p/brlcad/code/55617
Author:   starseeker
Date:     2013-05-31 16:51:53 +0000 (Fri, 31 May 2013)
Log Message:
-----------
Convert libged struct elements to pointers from inline bu_list structures. 
ged_close no longer frees the top level gedp pointer automatically, in case 
callers want to close stack-allocated ged structures.

Modified Paths:
--------------
    brlcad/trunk/include/ged.h
    brlcad/trunk/src/conv/bot_dump.c
    brlcad/trunk/src/conv/g-dot.c
    brlcad/trunk/src/gtools/g_qa.c
    brlcad/trunk/src/libged/autoview.c
    brlcad/trunk/src/libged/bot_dump.c
    brlcad/trunk/src/libged/color.c
    brlcad/trunk/src/libged/draw.c
    brlcad/trunk/src/libged/erase.c
    brlcad/trunk/src/libged/ged.c
    brlcad/trunk/src/libged/get_autoview.c
    brlcad/trunk/src/libged/how.c
    brlcad/trunk/src/libged/illum.c
    brlcad/trunk/src/libged/joint.c
    brlcad/trunk/src/libged/move.c
    brlcad/trunk/src/libged/move_all.c
    brlcad/trunk/src/libged/nirt.c
    brlcad/trunk/src/libged/plot.c
    brlcad/trunk/src/libged/png.c
    brlcad/trunk/src/libged/polybinout.c
    brlcad/trunk/src/libged/ps.c
    brlcad/trunk/src/libged/report.c
    brlcad/trunk/src/libged/rt.c
    brlcad/trunk/src/libged/rtcheck.c
    brlcad/trunk/src/libged/saveview.c
    brlcad/trunk/src/libged/select.c
    brlcad/trunk/src/libged/set_transparency.c
    brlcad/trunk/src/libged/vdraw.c
    brlcad/trunk/src/libged/who.c
    brlcad/trunk/src/libged/zap.c
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/mged/attach.c
    brlcad/trunk/src/mged/buttons.c
    brlcad/trunk/src/mged/chgtree.c
    brlcad/trunk/src/mged/chgview.c
    brlcad/trunk/src/mged/dodraw.c
    brlcad/trunk/src/mged/dozoom.c
    brlcad/trunk/src/mged/edsol.c
    brlcad/trunk/src/mged/mater.c
    brlcad/trunk/src/mged/mged.c
    brlcad/trunk/src/mged/overlay.c
    brlcad/trunk/src/mged/plot.c
    brlcad/trunk/src/mged/polyif.c
    brlcad/trunk/src/mged/rtif.c
    brlcad/trunk/src/mged/set.c
    brlcad/trunk/src/mged/share.c
    brlcad/trunk/src/mged/usepen.c

Modified: brlcad/trunk/include/ged.h
===================================================================
--- brlcad/trunk/include/ged.h  2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/include/ged.h  2013-05-31 16:51:53 UTC (rev 55617)
@@ -459,8 +459,8 @@
 /* FIXME: should be private */
 struct ged_drawable {
     struct bu_list             l;
-    struct bu_list             gd_headDisplay;         /**< @brief  head of 
display list */
-    struct bu_list             gd_headVDraw;           /**< @brief  head of 
vdraw list */
+    struct bu_list             *gd_headDisplay;                /**< @brief  
head of display list */
+    struct bu_list             *gd_headVDraw;          /**< @brief  head of 
vdraw list */
     struct vd_curve            *gd_currVHead;          /**< @brief  current 
vdraw head */
     struct solid               *gd_freeSolids;         /**< @brief  ptr to 
head of free solid list */
 
@@ -639,6 +639,7 @@
 GED_EXPORT extern void ged_close(struct ged *gedp);
 GED_EXPORT extern void ged_free(struct ged *gedp);
 GED_EXPORT extern void ged_init(struct ged *gedp);
+/* Call BU_PUT to release returned ged structure */
 GED_EXPORT extern struct ged *ged_open(const char *dbtype,
                                       const char *filename,
                                       int existing_only);

Modified: brlcad/trunk/src/conv/bot_dump.c
===================================================================
--- brlcad/trunk/src/conv/bot_dump.c    2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/conv/bot_dump.c    2013-05-31 16:51:53 UTC (rev 55617)
@@ -89,6 +89,8 @@
     if (bu_vls_strlen(gedp->ged_result_str) > 0)
        bu_log("%s", bu_vls_addr(gedp->ged_result_str));
     ged_close(gedp);
+    if(gedp)
+       BU_PUT(gedp, struct ged);
     bu_free(av, "free argv copy");
 
     return 0;

Modified: brlcad/trunk/src/conv/g-dot.c
===================================================================
--- brlcad/trunk/src/conv/g-dot.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/conv/g-dot.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -402,6 +402,8 @@
     bu_ptbl_free(&o.groups);
 
     ged_close(gp);
+    if (gp)
+       BU_PUT(gp, struct ged);
 
     bu_free_argv(c, objs);
 

Modified: brlcad/trunk/src/gtools/g_qa.c
===================================================================
--- brlcad/trunk/src/gtools/g_qa.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/gtools/g_qa.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -109,6 +109,8 @@
     if (bu_vls_strlen(gedp->ged_result_str) > 0)
        bu_log("%s", bu_vls_addr(gedp->ged_result_str));
     ged_close(gedp);
+    if (gedp)
+       BU_PUT(gedp, struct ged);
 
     bu_free(av, "av");
 

Modified: brlcad/trunk/src/libged/autoview.c
===================================================================
--- brlcad/trunk/src/libged/autoview.c  2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/autoview.c  2013-05-31 16:51:53 UTC (rev 55617)
@@ -90,8 +90,8 @@
     VSETALL(sqrt_small, SQRT_SMALL_FASTF);
 
     /* calculate the bounding for of all solids being displayed */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/bot_dump.c
===================================================================
--- brlcad/trunk/src/libged/bot_dump.c  2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/bot_dump.c  2013-05-31 16:51:53 UTC (rev 55617)
@@ -1499,7 +1499,7 @@
 
     MAT_IDN(mat);
 
-    for (BU_LIST_FOR(gdlp, ged_display_list, &gedp->ged_gdp->gd_headDisplay)) {
+    for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay)) {
        struct solid *sp;
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/color.c
===================================================================
--- brlcad/trunk/src/libged/color.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/color.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -238,7 +238,7 @@
 
     /* if there are drawables, update their colors */
     if (gedp->ged_gdp)
-       ged_color_soltab(&gedp->ged_gdp->gd_headDisplay);
+       ged_color_soltab(gedp->ged_gdp->gd_headDisplay);
 
     return GED_OK;
 }

Modified: brlcad/trunk/src/libged/draw.c
===================================================================
--- brlcad/trunk/src/libged/draw.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/draw.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -1610,7 +1610,7 @@
            /* Done checking options. If our display is non-empty,
             * add -R to keep current view.
             */
-           if (BU_LIST_NON_EMPTY(&gedp->ged_gdp->gd_headDisplay)) {
+           if (BU_LIST_NON_EMPTY(gedp->ged_gdp->gd_headDisplay)) {
                bu_vls_strcat(&vls, " -R");
            }
            break;
@@ -1726,7 +1726,7 @@
        bu_vls_free(&vls);
 
        empty_display = 1;
-       if (BU_LIST_NON_EMPTY(&gedp->ged_gdp->gd_headDisplay)) {
+       if (BU_LIST_NON_EMPTY(gedp->ged_gdp->gd_headDisplay)) {
            empty_display = 0;
        }
 
@@ -1807,8 +1807,8 @@
        found_namepath = 1;
 
     /* Make sure name is not already in the list */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        if (BU_STR_EQUAL(name, bu_vls_addr(&gdlp->gdl_path)))
            goto end;
 
@@ -1832,7 +1832,7 @@
 
     BU_ALLOC(gdlp, struct ged_display_list);
     BU_LIST_INIT(&gdlp->l);
-    BU_LIST_INSERT(&gedp->ged_gdp->gd_headDisplay, &gdlp->l);
+    BU_LIST_INSERT(gedp->ged_gdp->gd_headDisplay, &gdlp->l);
     BU_LIST_INIT(&gdlp->gdl_headSolid);
     gdlp->gdl_dp = dp;
     bu_vls_init(&gdlp->gdl_path);
@@ -1861,8 +1861,7 @@
 
     if (argc == 1) {
        /* redraw everything */
-       for (BU_LIST_FOR(gdlp, ged_display_list,
-            &gedp->ged_gdp->gd_headDisplay))
+       for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay))
        {
            for (BU_LIST_FOR(sp, solid, &gdlp->gdl_headSolid)) {
                ret = redraw_solid(gedp, sp);
@@ -1888,8 +1887,7 @@
            }
 
            found_path = 0;
-           for (BU_LIST_FOR(gdlp, ged_display_list,
-                &gedp->ged_gdp->gd_headDisplay))
+           for (BU_LIST_FOR(gdlp, ged_display_list, 
gedp->ged_gdp->gd_headDisplay))
            {
                ret = db_string_to_path(&dl_path, gedp->ged_wdbp->dbip,
                        bu_vls_addr(&gdlp->gdl_path));

Modified: brlcad/trunk/src/libged/erase.c
===================================================================
--- brlcad/trunk/src/libged/erase.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/erase.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -257,9 +257,9 @@
     else
        found_subpath = 0;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    last_gdlp = BU_LIST_LAST(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    last_gdlp = BU_LIST_LAST(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_STR_EQUAL(path, bu_vls_addr(&gdlp->gdl_path))) {
@@ -328,7 +328,7 @@
        }
 
        if (gdlp == last_gdlp)
-           gdlp = (struct ged_display_list *)&gedp->ged_gdp->gd_headDisplay;
+           gdlp = (struct ged_display_list *)gedp->ged_gdp->gd_headDisplay;
        else
            gdlp = next_gdlp;
     }
@@ -377,8 +377,8 @@
     struct ged_display_list *gdlp;
     struct ged_display_list *next_gdlp;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        char *dup_path;
        char *tok;
        int first = 1;
@@ -489,14 +489,14 @@
     struct db_full_path fullpath, subpath;
 
     if (db_string_to_path(&subpath, gedp->ged_wdbp->dbip, path) == 0) {
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            gdlp->gdl_wflag = 0;
            gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
        }
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            /* This display list has already been visited. */
@@ -512,7 +512,7 @@
                if (db_full_path_subset(&fullpath, &subpath, skip_first)) {
                    _ged_freeDisplayListItem(gedp, gdlp);
                } else if (_ged_eraseFirstSubpath(gedp, gdlp, &subpath, 
skip_first)) {
-                   gdlp = BU_LIST_NEXT(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
+                   gdlp = BU_LIST_NEXT(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
                    db_free_full_path(&fullpath);
                    continue;
                }

Modified: brlcad/trunk/src/libged/ged.c
===================================================================
--- brlcad/trunk/src/libged/ged.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/ged.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -81,13 +81,7 @@
        gedp->ged_wdbp = RT_WDB_NULL;
     }
 
-    if (gedp->ged_gdp != GED_DRAWABLE_NULL) {
-       qray_free(gedp->ged_gdp);
-       BU_PUT(gedp->ged_gdp, struct ged_drawable);
-    }
-
     ged_free(gedp);
-    BU_PUT(gedp, struct ged);
 }
 
 
@@ -98,24 +92,26 @@
        return;
 
     gedp->ged_wdbp = RT_WDB_NULL;
-    gedp->ged_gdp = GED_DRAWABLE_NULL;
 
+    if (gedp->ged_gdp != GED_DRAWABLE_NULL) {
+       if (gedp->ged_gdp->gd_headDisplay)
+           BU_PUT(gedp->ged_gdp->gd_headDisplay, struct bu_vls);
+       if (gedp->ged_gdp->gd_headVDraw)
+           BU_PUT(gedp->ged_gdp->gd_headVDraw, struct bu_vls);
+       qray_free(gedp->ged_gdp);
+       BU_PUT(gedp->ged_gdp, struct ged_drawable);
+    }
+
     if (gedp->ged_log) {
        bu_vls_free(gedp->ged_log);
        BU_PUT(gedp->ged_log, struct bu_vls);
-       gedp->ged_log = NULL; /* sanity */
     }
 
     if (gedp->ged_result_str) {
        bu_vls_free(gedp->ged_result_str);
        BU_PUT(gedp->ged_result_str, struct bu_vls);
-       gedp->ged_result_str = NULL; /* sanity */
     }
 
-    if (gedp->ged_gdp) {
-       BU_PUT(gedp->ged_gdp, struct ged_drawable);
-       gedp->ged_gdp = NULL; /* sanity */
-    }
 }
 
 
@@ -135,8 +131,10 @@
     bu_vls_init(gedp->ged_result_str);
 
     BU_GET(gedp->ged_gdp, struct ged_drawable);
-    BU_LIST_INIT(&gedp->ged_gdp->gd_headDisplay);
-    BU_LIST_INIT(&gedp->ged_gdp->gd_headVDraw);
+    BU_GET(gedp->ged_gdp->gd_headDisplay, struct bu_list);
+    BU_LIST_INIT(gedp->ged_gdp->gd_headDisplay);
+    BU_GET(gedp->ged_gdp->gd_headVDraw, struct bu_list);
+    BU_LIST_INIT(gedp->ged_gdp->gd_headVDraw);
     BU_LIST_INIT(&gedp->ged_gdp->gd_headRunRt.l);
 
     /* yuck */

Modified: brlcad/trunk/src/libged/get_autoview.c
===================================================================
--- brlcad/trunk/src/libged/get_autoview.c      2013-05-31 16:21:25 UTC (rev 
55616)
+++ brlcad/trunk/src/libged/get_autoview.c      2013-05-31 16:51:53 UTC (rev 
55617)
@@ -81,8 +81,8 @@
     VSETALL(min,  INFINITY);
     VSETALL(max, -INFINITY);
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/how.c
===================================================================
--- brlcad/trunk/src/libged/how.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/how.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -84,8 +84,8 @@
            goto good;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/illum.c
===================================================================
--- brlcad/trunk/src/libged/illum.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/illum.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -72,8 +72,8 @@
     if (argc != 2)
        goto bad;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/joint.c
===================================================================
--- brlcad/trunk/src/libged/joint.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/joint.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -3553,8 +3553,8 @@
        struct ged_display_list *next_gdlp;
        struct solid *sp;
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/move.c
===================================================================
--- brlcad/trunk/src/libged/move.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/move.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -87,7 +87,7 @@
     }
 
     /* Change object name if it matches the first element in the display list 
path. */
-    for (BU_LIST_FOR(gdlp, ged_display_list, &gedp->ged_gdp->gd_headDisplay)) {
+    for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay)) {
        int first = 1;
        int found = 0;
        struct bu_vls new_path = BU_VLS_INIT_ZERO;

Modified: brlcad/trunk/src/libged/move_all.c
===================================================================
--- brlcad/trunk/src/libged/move_all.c  2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/move_all.c  2013-05-31 16:51:53 UTC (rev 55617)
@@ -182,7 +182,7 @@
 
     if (!nflag) {
        /* Change object name anywhere in the display list path. */
-       for (BU_LIST_FOR(gdlp, ged_display_list, 
&gedp->ged_gdp->gd_headDisplay)) {
+       for (BU_LIST_FOR(gdlp, ged_display_list, 
gedp->ged_gdp->gd_headDisplay)) {
            int first = 1;
            int found = 0;
            struct bu_vls new_path = BU_VLS_INIT_ZERO;

Modified: brlcad/trunk/src/libged/nirt.c
===================================================================
--- brlcad/trunk/src/libged/nirt.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/nirt.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -549,8 +549,8 @@
     bu_vls_free(&line1);
 #endif
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid)

Modified: brlcad/trunk/src/libged/plot.c
===================================================================
--- brlcad/trunk/src/libged/plot.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/plot.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -146,8 +146,8 @@
        Dashing = 0;
        pl_linmod(fp, "solid");
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -198,8 +198,8 @@
     Dashing = 0;
     pl_linmod(fp, "solid");
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/png.c
===================================================================
--- brlcad/trunk/src/libged/png.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/png.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -307,8 +307,8 @@
        mat = newmat;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/polybinout.c
===================================================================
--- brlcad/trunk/src/libged/polybinout.c        2013-05-31 16:21:25 UTC (rev 
55616)
+++ brlcad/trunk/src/libged/polybinout.c        2013-05-31 16:51:53 UTC (rev 
55617)
@@ -107,8 +107,8 @@
        return GED_ERROR;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/ps.c
===================================================================
--- brlcad/trunk/src/libged/ps.c        2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/ps.c        2013-05-31 16:51:53 UTC (rev 55617)
@@ -262,8 +262,8 @@
        mat = newmat;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/report.c
===================================================================
--- brlcad/trunk/src/libged/report.c    2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/report.c    2013-05-31 16:51:53 UTC (rev 55617)
@@ -47,8 +47,8 @@
     if (gedp->ged_wdbp->dbip == DBI_NULL)
        return;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -139,8 +139,8 @@
     if (gedp->ged_wdbp->dbip == DBI_NULL)
        return;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/rt.c
===================================================================
--- brlcad/trunk/src/libged/rt.c        2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/rt.c        2013-05-31 16:51:53 UTC (rev 55617)
@@ -79,8 +79,8 @@
 
     fprintf(fp, "start 0; clean;\n");
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -92,8 +92,8 @@
        gdlp = next_gdlp;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -112,8 +112,8 @@
        gdlp = next_gdlp;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -159,8 +159,8 @@
            extremum[1][i] = -INFINITY;
        }
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -477,7 +477,7 @@
 {
     struct ged_display_list *gdlp = NULL;
     size_t visibleCount = 0;
-    for (BU_LIST_FOR(gdlp, ged_display_list, &gedp->ged_gdp->gd_headDisplay)) {
+    for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay)) {
        visibleCount++;
     }
     return visibleCount;
@@ -495,7 +495,7 @@
     struct ged_display_list *gdlp;
     char **vp = start;
 
-    for (BU_LIST_FOR(gdlp, ged_display_list, &gedp->ged_gdp->gd_headDisplay)) {
+    for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay)) {
        if (gdlp->gdl_dp->d_addr == RT_DIR_PHONY_ADDR)
            continue;
 

Modified: brlcad/trunk/src/libged/rtcheck.c
===================================================================
--- brlcad/trunk/src/libged/rtcheck.c   2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/rtcheck.c   2013-05-31 16:51:53 UTC (rev 55617)
@@ -120,8 +120,8 @@
        Tcl_DeleteFileHandler(rtcp->fd);
        fclose(rtcp->fp);
 
-       gdlp = BU_LIST_NEXT(ged_display_list, 
&rtcp->gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &rtcp->gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, 
rtcp->gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, rtcp->gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid)
@@ -201,8 +201,8 @@
                                 (ClientData)rtcp);
        Tcl_Close(rtcp->interp, rtcp->chan);
 
-       gdlp = BU_LIST_NEXT(ged_display_list, 
&rtcp->gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &rtcp->gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, 
rtcp->gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, rtcp->gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid)

Modified: brlcad/trunk/src/libged/saveview.c
===================================================================
--- brlcad/trunk/src/libged/saveview.c  2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/saveview.c  2013-05-31 16:51:53 UTC (rev 55617)
@@ -166,8 +166,8 @@
     }
     fprintf(fp, " '%s'\\\n ", inputg);
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
        fprintf(fp, "'%s' ", bu_vls_addr(&gdlp->gdl_path));
        gdlp = next_gdlp;

Modified: brlcad/trunk/src/libged/select.c
===================================================================
--- brlcad/trunk/src/libged/select.c    2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/select.c    2013-05-31 16:51:53 UTC (rev 55617)
@@ -64,8 +64,8 @@
        }
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -182,8 +182,8 @@
        }
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/set_transparency.c
===================================================================
--- brlcad/trunk/src/libged/set_transparency.c  2013-05-31 16:21:25 UTC (rev 
55616)
+++ brlcad/trunk/src/libged/set_transparency.c  2013-05-31 16:51:53 UTC (rev 
55617)
@@ -82,8 +82,8 @@
        return GED_OK;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/libged/vdraw.c
===================================================================
--- brlcad/trunk/src/libged/vdraw.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/vdraw.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -590,7 +590,7 @@
     }
     if (argv[2][0] == 'n') {
        /* check for conflicts with existing vlists*/
-       for (BU_LIST_FOR(rcp, vd_curve, &gedp->ged_gdp->gd_headVDraw)) {
+       for (BU_LIST_FOR(rcp, vd_curve, gedp->ged_gdp->gd_headVDraw)) {
            if (!bu_strncmp(rcp->vdc_name, argv[2], RT_VDRW_MAXNAME)) {
                bu_vls_printf(gedp->ged_result_str, "%s %s: name %.40s is 
already in use\n", argv[0], argv[1], argv[2]);
                return GED_ERROR;
@@ -638,7 +638,7 @@
     bu_strlcpy(temp_name, argv[2], RT_VDRW_MAXNAME);
 
     gedp->ged_gdp->gd_currVHead = (struct vd_curve *) NULL;
-    for (BU_LIST_FOR(rcp, vd_curve, &gedp->ged_gdp->gd_headVDraw)) {
+    for (BU_LIST_FOR(rcp, vd_curve, gedp->ged_gdp->gd_headVDraw)) {
        if (!bu_strncmp(rcp->vdc_name, temp_name, RT_VDRW_MAXNAME)) {
            gedp->ged_gdp->gd_currVHead = rcp;
            break;
@@ -648,7 +648,7 @@
     if (!gedp->ged_gdp->gd_currVHead) {
        /* create new entry */
        BU_GET(rcp, struct vd_curve);
-       BU_LIST_APPEND(&gedp->ged_gdp->gd_headVDraw, &(rcp->l));
+       BU_LIST_APPEND(gedp->ged_gdp->gd_headVDraw, &(rcp->l));
 
        bu_strlcpy(rcp->vdc_name, temp_name, RT_VDRW_MAXNAME);
 
@@ -694,7 +694,7 @@
 
     switch  (argv[2][0]) {
        case 'l':
-           for (BU_LIST_FOR(rcp, vd_curve, &gedp->ged_gdp->gd_headVDraw)) {
+           for (BU_LIST_FOR(rcp, vd_curve, gedp->ged_gdp->gd_headVDraw)) {
                bu_vls_strcat(gedp->ged_result_str, rcp->vdc_name);
                bu_vls_strcat(gedp->ged_result_str, " ");
            }
@@ -702,7 +702,7 @@
            return GED_OK;
        case 'd':
            rcp2 = (struct vd_curve *)NULL;
-           for (BU_LIST_FOR(rcp, vd_curve, &gedp->ged_gdp->gd_headVDraw)) {
+           for (BU_LIST_FOR(rcp, vd_curve, gedp->ged_gdp->gd_headVDraw)) {
                if (!bu_strncmp(rcp->vdc_name, argv[3], RT_VDRW_MAXNAME)) {
                    rcp2 = rcp;
                    break;
@@ -714,10 +714,10 @@
            }
            BU_LIST_DEQUEUE(&(rcp2->l));
            if (gedp->ged_gdp->gd_currVHead == rcp2) {
-               if (BU_LIST_IS_EMPTY(&gedp->ged_gdp->gd_headVDraw)) {
+               if (BU_LIST_IS_EMPTY(gedp->ged_gdp->gd_headVDraw)) {
                    gedp->ged_gdp->gd_currVHead = (struct vd_curve *)NULL;
                } else {
-                   gedp->ged_gdp->gd_currVHead = BU_LIST_LAST(vd_curve, 
&gedp->ged_gdp->gd_headVDraw);
+                   gedp->ged_gdp->gd_currVHead = BU_LIST_LAST(vd_curve, 
gedp->ged_gdp->gd_headVDraw);
                }
            }
            RT_FREE_VLIST(&(rcp2->vdc_vhd));

Modified: brlcad/trunk/src/libged/who.c
===================================================================
--- brlcad/trunk/src/libged/who.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/who.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -75,7 +75,7 @@
        }
     }
 
-    for (BU_LIST_FOR(gdlp, ged_display_list, &gedp->ged_gdp->gd_headDisplay)) {
+    for (BU_LIST_FOR(gdlp, ged_display_list, gedp->ged_gdp->gd_headDisplay)) {
        if (gdlp->gdl_dp->d_addr == RT_DIR_PHONY_ADDR) {
            if (skip_phony) continue;
        } else {

Modified: brlcad/trunk/src/libged/zap.c
===================================================================
--- brlcad/trunk/src/libged/zap.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/libged/zap.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -60,7 +60,7 @@
        return GED_ERROR;
     }
 
-    while (BU_LIST_WHILE(gdlp, ged_display_list, 
&gedp->ged_gdp->gd_headDisplay)) {
+    while (BU_LIST_WHILE(gdlp, ged_display_list, 
gedp->ged_gdp->gd_headDisplay)) {
        if (gedp->ged_free_vlist_callback != GED_FREE_VLIST_CALLBACK_PTR_NULL)
            (*gedp->ged_free_vlist_callback)(gedp,
                                             BU_LIST_FIRST(solid, 
&gdlp->gdl_headSolid)->s_dlist,

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2013-05-31 16:21:25 UTC (rev 
55616)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2013-05-31 16:51:53 UTC (rev 
55617)
@@ -1415,6 +1415,8 @@
     BU_LIST_DEQUEUE(&top->l);
     bu_vls_free(&top->to_gop->go_name);
     ged_close(top->to_gop->go_gedp);
+    if (top->to_gop->go_gedp)
+       BU_PUT(top->to_gop->go_gedp, struct ged);
 
     while (BU_LIST_WHILE(gdvp, ged_dm_view, &top->to_gop->go_head_views.l)) {
        BU_LIST_DEQUEUE(&(gdvp->l));
@@ -12397,16 +12399,16 @@
     if (argc != 2)
        return GED_ERROR;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        gdlp->gdl_wflag = 0;
        gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
     }
 
     if (db_string_to_path(&subpath, gedp->ged_wdbp->dbip, argv[1]) == 0) {
        for (i = 0; i < subpath.fp_len; ++i) {
-           gdlp = BU_LIST_NEXT(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
-           while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+           gdlp = BU_LIST_NEXT(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
+           while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
                register struct solid *curr_sp;
 
                next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
@@ -12446,7 +12448,7 @@
                         * second to last list items play leap frog
                         * with the end of list.
                         */
-                       last_gdlp = BU_LIST_PREV(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
+                       last_gdlp = BU_LIST_PREV(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
                        BU_LIST_DEQUEUE(&last_gdlp->l);
                        BU_LIST_INSERT(&next_gdlp->l, &last_gdlp->l);
                        last_gdlp->gdl_wflag = 1;
@@ -13273,7 +13275,7 @@
     else
        (void)DM_LOADPMATRIX(gdvp->gdv_dmp, (fastf_t *)NULL);
 
-    go_draw_dlist(gdvp->gdv_gop, gdvp->gdv_dmp, 
&gdvp->gdv_gop->go_gedp->ged_gdp->gd_headDisplay);
+    go_draw_dlist(gdvp->gdv_gop, gdvp->gdv_dmp, 
gdvp->gdv_gop->go_gedp->ged_gdp->gd_headDisplay);
 }
 
 

Modified: brlcad/trunk/src/mged/attach.c
===================================================================
--- brlcad/trunk/src/mged/attach.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/attach.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -538,7 +538,7 @@
     share_dlist(curr_dm_list);
 
     if (displaylist && mged_variables->mv_dlist && !dlist_state->dl_active) {
-       createDLists(&gedp->ged_gdp->gd_headDisplay);
+       createDLists(gedp->ged_gdp->gd_headDisplay);
        dlist_state->dl_active = 1;
     }
 

Modified: brlcad/trunk/src/mged/buttons.c
===================================================================
--- brlcad/trunk/src/mged/buttons.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/buttons.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -516,8 +516,8 @@
     int is_empty = 1;
 
     /* Common part of illumination */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {
@@ -721,8 +721,8 @@
        mmenu_set_all(MENU_L1, MENU_NULL);
        mmenu_set_all(MENU_L2, MENU_NULL);
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid)
@@ -816,8 +816,8 @@
     illump = SOLID_NULL;               /* None selected */
 
     /* Clear illumination flags */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid)

Modified: brlcad/trunk/src/mged/chgtree.c
===================================================================
--- brlcad/trunk/src/mged/chgtree.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/chgtree.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -149,8 +149,8 @@
 
     RT_CK_FULL_PATH(pathp);
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -217,8 +217,8 @@
     }
 
     /* Common part of illumination */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {

Modified: brlcad/trunk/src/mged/chgview.c
===================================================================
--- brlcad/trunk/src/mged/chgview.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/chgview.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -269,9 +269,9 @@
     CHECK_DBI_NULL;
 
     /* Common part of illumination */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
 
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {
@@ -463,9 +463,9 @@
 
        gedp->ged_gvp = view_state->vs_gvp;
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
 
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {
@@ -741,9 +741,9 @@
        button(BE_REJECT);
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
 
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
        freeDListsAll(BU_LIST_FIRST(solid, &gdlp->gdl_headSolid)->s_dlist,
                      BU_LIST_LAST(solid, &gdlp->gdl_headSolid)->s_dlist -
@@ -1021,9 +1021,9 @@
        goto bail_out;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
 
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -1160,9 +1160,9 @@
     }
 
     /* Common part of illumination */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
 
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {

Modified: brlcad/trunk/src/mged/dodraw.c
===================================================================
--- brlcad/trunk/src/mged/dodraw.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/dodraw.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -332,7 +332,7 @@
        bu_semaphore_acquire(RT_SEM_MODEL);
 
        /* Grab the last display list */
-       gdlp = BU_LIST_PREV(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
+       gdlp = BU_LIST_PREV(ged_display_list, gedp->ged_gdp->gd_headDisplay);
        BU_LIST_APPEND(gdlp->gdl_headSolid.back, &sp->l);
 
        bu_semaphore_release(RT_SEM_MODEL);
@@ -1135,8 +1135,8 @@
        if ((dp = db_lookup(dbip, argv[i], LOOKUP_NOISY)) == NULL)
            continue;
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/dozoom.c
===================================================================
--- brlcad/trunk/src/mged/dozoom.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/dozoom.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -375,8 +375,8 @@
 
     if (dmp->dm_transparency) {
        /* First, draw opaque stuff */
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -422,8 +422,8 @@
        DM_SET_DEPTH_MASK(dmp, 0);
 
        /* Second, draw transparent stuff */
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -469,8 +469,8 @@
        DM_SET_DEPTH_MASK(dmp, 1);
     } else {
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -544,8 +544,8 @@
                   color_scheme->cs_geo_hl[1],
                   color_scheme->cs_geo_hl[2], 1, 1.0);
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/edsol.c
===================================================================
--- brlcad/trunk/src/mged/edsol.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/edsol.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -2638,8 +2638,8 @@
 
     illdp = LAST_SOLID(illump);
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -7496,8 +7496,8 @@
     modelchanges[15] = 1000000000;     /* => small ratio */
 
     /* Now, recompute new chunks of displaylist */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -7528,8 +7528,8 @@
     if (dbip->dbi_read_only) {
        oedit_reject();
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -7776,8 +7776,8 @@
        struct ged_display_list *next_gdlp;
        struct solid *sp;
 
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/mater.c
===================================================================
--- brlcad/trunk/src/mged/mater.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/mater.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -53,7 +53,7 @@
 void
 color_soltab(void)
 {
-    ged_color_soltab(&gedp->ged_gdp->gd_headDisplay);
+    ged_color_soltab(gedp->ged_gdp->gd_headDisplay);
     update_views = 1;          /* re-write control list with new colors */
 }
 

Modified: brlcad/trunk/src/mged/mged.c
===================================================================
--- brlcad/trunk/src/mged/mged.c        2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/mged.c        2013-05-31 16:51:53 UTC (rev 55617)
@@ -2515,7 +2515,9 @@
     Tcl_Release((ClientData)INTERP);
 
     ged_close(gedp);
-    gedp = GED_NULL;
+    if (gedp)
+       BU_PUT(gedp, struct ged);
+
     wdbp = RT_WDB_NULL;
     dbip = DBI_NULL;
 
@@ -2952,7 +2954,8 @@
 
     /* close the geometry instance */
     ged_close(gedp);
-    gedp = GED_NULL;
+    BU_PUT(gedp, struct ged);
+
     wdbp = RT_WDB_NULL;
     dbip = DBI_NULL;
 

Modified: brlcad/trunk/src/mged/overlay.c
===================================================================
--- brlcad/trunk/src/mged/overlay.c     2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/overlay.c     2013-05-31 16:51:53 UTC (rev 55617)
@@ -116,8 +116,8 @@
        if ((dp = db_lookup(dbip, argv[i], LOOKUP_NOISY)) == RT_DIR_NULL)
            continue;
        /* Find uses of this solid in the solid table */
-       gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-       while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+       gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+       while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
            next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
            FOR_ALL_SOLIDS(s, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/plot.c
===================================================================
--- brlcad/trunk/src/mged/plot.c        2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/plot.c        2013-05-31 16:51:53 UTC (rev 55617)
@@ -85,8 +85,8 @@
     if (not_state(ST_VIEW, "Presented Area Calculation") == TCL_ERROR)
        return TCL_ERROR;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        if (BU_LIST_NON_EMPTY(&gdlp->gdl_headSolid)) {
@@ -102,8 +102,8 @@
        return TCL_ERROR;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -193,8 +193,8 @@
      * Write out rotated but unclipped, untranslated,
      * and unscaled vectors
      */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/polyif.c
===================================================================
--- brlcad/trunk/src/mged/polyif.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/polyif.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -100,8 +100,8 @@
        return TCL_ERROR;
     }
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/rtif.c
===================================================================
--- brlcad/trunk/src/mged/rtif.c        2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/rtif.c        2013-05-31 16:51:53 UTC (rev 55617)
@@ -228,8 +228,8 @@
                break;
            }
 
-           gdlp = BU_LIST_NEXT(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
-           while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+           gdlp = BU_LIST_NEXT(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
+           while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
                next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
                FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

Modified: brlcad/trunk/src/mged/set.c
===================================================================
--- brlcad/trunk/src/mged/set.c 2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/set.c 2013-05-31 16:51:53 UTC (rev 55617)
@@ -377,7 +377,7 @@
            if (dlp1->dml_dmp->dm_displaylist &&
                dlp1->dml_dlist_state->dl_active == 0) {
                curr_dm_list = dlp1;
-               createDLists(&gedp->ged_gdp->gd_headDisplay);
+               createDLists(gedp->ged_gdp->gd_headDisplay);
                dlp1->dml_dlist_state->dl_active = 1;
                dlp1->dml_dirty = 1;
            }
@@ -411,8 +411,8 @@
 
                    dlp1->dml_dlist_state->dl_active = 0;
 
-                   gdlp = BU_LIST_NEXT(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
-                   while (BU_LIST_NOT_HEAD(gdlp, 
&gedp->ged_gdp->gd_headDisplay)) {
+                   gdlp = BU_LIST_NEXT(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
+                   while (BU_LIST_NOT_HEAD(gdlp, 
gedp->ged_gdp->gd_headDisplay)) {
                        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
                        (void)DM_MAKE_CURRENT(dlp1->dml_dmp);

Modified: brlcad/trunk/src/mged/share.c
===================================================================
--- brlcad/trunk/src/mged/share.c       2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/share.c       2013-05-31 16:51:53 UTC (rev 55617)
@@ -189,7 +189,7 @@
                            save_dlp = curr_dm_list;
 
                            curr_dm_list = dlp1;
-                           createDLists(&gedp->ged_gdp->gd_headDisplay);
+                           createDLists(gedp->ged_gdp->gd_headDisplay);
 
                            /* restore */
                            curr_dm_list = save_dlp;

Modified: brlcad/trunk/src/mged/usepen.c
===================================================================
--- brlcad/trunk/src/mged/usepen.c      2013-05-31 16:21:25 UTC (rev 55616)
+++ brlcad/trunk/src/mged/usepen.c      2013-05-31 16:51:53 UTC (rev 55617)
@@ -66,8 +66,8 @@
      */
     count = ((fastf_t)y + GED_MAX) * curr_dm_list->dml_ndrawn / GED_RANGE;
 
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {
@@ -137,8 +137,8 @@
        if (argc == 1 || *argv[1] == 'f') {
            if (BU_LIST_NEXT_IS_HEAD(sp, &gdlp->gdl_headSolid)) {
                /* Advance the gdlp (i.e. display list) */
-               if (BU_LIST_NEXT_IS_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay))
-                   gdlp = BU_LIST_NEXT(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
+               if (BU_LIST_NEXT_IS_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay))
+                   gdlp = BU_LIST_NEXT(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
                else
                    gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
@@ -149,8 +149,8 @@
        } else if (*argv[1] == 'b') {
            if (BU_LIST_PREV_IS_HEAD(sp, &gdlp->gdl_headSolid)) {
                /* Advance the gdlp (i.e. display list) */
-               if (BU_LIST_PREV_IS_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay))
-                   gdlp = BU_LIST_PREV(ged_display_list, 
&gedp->ged_gdp->gd_headDisplay);
+               if (BU_LIST_PREV_IS_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay))
+                   gdlp = BU_LIST_PREV(ged_display_list, 
gedp->ged_gdp->gd_headDisplay);
                else
                    gdlp = BU_LIST_PLAST(ged_display_list, gdlp);
 
@@ -288,8 +288,8 @@
     }
  got:
     /* Include all solids with same tree top */
-    gdlp = BU_LIST_NEXT(ged_display_list, &gedp->ged_gdp->gd_headDisplay);
-    while (BU_LIST_NOT_HEAD(gdlp, &gedp->ged_gdp->gd_headDisplay)) {
+    gdlp = BU_LIST_NEXT(ged_display_list, gedp->ged_gdp->gd_headDisplay);
+    while (BU_LIST_NOT_HEAD(gdlp, gedp->ged_gdp->gd_headDisplay)) {
        next_gdlp = BU_LIST_PNEXT(ged_display_list, gdlp);
 
        FOR_ALL_SOLIDS(sp, &gdlp->gdl_headSolid) {

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite
It's a free troubleshooting tool designed for production
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap2
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to