Revision: 75295
http://sourceforge.net/p/brlcad/code/75295
Author: starseeker
Date: 2020-04-08 16:14:44 +0000 (Wed, 08 Apr 2020)
Log Message:
-----------
More propagation of the context
Modified Paths:
--------------
brlcad/trunk/include/dm.h
brlcad/trunk/src/libdm/dm-Null.c
brlcad/trunk/src/libdm/dm-Null.h
brlcad/trunk/src/libdm/dm-X.c
brlcad/trunk/src/libdm/dm-generic.c
brlcad/trunk/src/libdm/dm-ogl.c
brlcad/trunk/src/libdm/dm-plot.c
brlcad/trunk/src/libdm/dm-ps.c
brlcad/trunk/src/libdm/dm-tk.c
brlcad/trunk/src/libdm/dm-txt.c
brlcad/trunk/src/libdm/dm-wgl.c
brlcad/trunk/src/libdm/dm_private.h
brlcad/trunk/src/libtclcad/dm_tcl.c
brlcad/trunk/src/libtclcad/tclcad_obj.c
brlcad/trunk/src/mged/attach.c
brlcad/trunk/src/mged/mged.c
brlcad/trunk/src/util/plot3-dm.c
Modified: brlcad/trunk/include/dm.h
===================================================================
--- brlcad/trunk/include/dm.h 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/include/dm.h 2020-04-08 16:14:44 UTC (rev 75295)
@@ -229,7 +229,7 @@
* initialize and manipulate the display context */
typedef void * dm_win;
typedef void * dm_dpy;
-typedef void * dm_cmap;
+typedef long unsigned int dm_cmap;
typedef void * dm_visual_info;
struct dm_context {
/* Tk_MainWindow */
@@ -258,6 +258,10 @@
void (*dm_window_geom)(dm *, dm_win, int *width, int *height);
/* Tk_Display */
dm_dpy (*dm_display)(dm *, dm_win);
+ /* Tk_GetPixmap */
+ // TODO
+ /* Tk_SetWindowBackground */
+ // TODO
};
__BEGIN_DECLS
@@ -374,7 +378,7 @@
DM_EXPORT extern unsigned long dm_get_id(dm *dmp);
DM_EXPORT extern void dm_set_id(dm *dmp, unsigned long new_id);
DM_EXPORT extern int dm_get_displaylist(dm *dmp);
-DM_EXPORT extern int dm_close(dm *dmp);
+DM_EXPORT extern int dm_close(dm *dmp, struct dm_context *context);
DM_EXPORT extern unsigned char *dm_get_bg(dm *dmp);
DM_EXPORT extern int dm_set_bg(dm *dmp, unsigned char r, unsigned char g,
unsigned char b);
DM_EXPORT extern unsigned char *dm_get_fg(dm *dmp);
Modified: brlcad/trunk/src/libdm/dm-Null.c
===================================================================
--- brlcad/trunk/src/libdm/dm-Null.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-Null.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -35,7 +35,7 @@
int
-null_close(struct dm_internal *UNUSED(dmp))
+null_close(struct dm_internal *UNUSED(dmp), struct dm_context *UNUSED(context))
{
return 0;
}
Modified: brlcad/trunk/src/libdm/dm-Null.h
===================================================================
--- brlcad/trunk/src/libdm/dm-Null.h 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-Null.h 2020-04-08 16:14:44 UTC (rev 75295)
@@ -35,7 +35,7 @@
DM_EXPORT extern int
-null_close(dm *dmp);
+null_close(dm *dmp, struct dm_context *context);
DM_EXPORT extern int
Modified: brlcad/trunk/src/libdm/dm-X.c
===================================================================
--- brlcad/trunk/src/libdm/dm-X.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-X.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -376,7 +376,7 @@
* Gracefully release the display.
*/
HIDDEN int
-X_close(struct dm_internal *dmp)
+X_close(struct dm_internal *dmp, struct dm_context *UNUSED(context))
{
struct dm_xvars *pubvars = (struct dm_xvars *)dmp->dm_vars.pub_vars;
struct x_vars *privars = (struct x_vars *)dmp->dm_vars.priv_vars;
@@ -420,7 +420,7 @@
*
*/
struct dm_internal *
-X_open_dm(Tcl_Interp *interp, int argc, char **argv)
+X_open_dm(Tcl_Interp *interp, struct dm_context *context, int argc, char
**argv)
{
static int count = 0;
int make_square = -1;
@@ -527,7 +527,7 @@
if (pubvars->xtkwin == NULL) {
bu_log("X_open_dm: Failed to open %s\n",
bu_vls_addr(&dmp->dm_pathName));
- (void)X_close(dmp);
+ (void)X_close(dmp, context);
return DM_NULL;
}
@@ -542,7 +542,7 @@
if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
bu_vls_free(&str);
- (void)X_close(dmp);
+ (void)X_close(dmp, context);
return DM_NULL;
}
@@ -557,7 +557,7 @@
/* make sure there really is a display before proceeding. */
if (!pubvars->dpy) {
bu_log("ERROR: Unable to attach to display (%s)\n",
bu_vls_addr(&dmp->dm_pathName));
- (void)X_close(dmp);
+ (void)X_close(dmp, context);
return DM_NULL;
}
@@ -573,7 +573,7 @@
/* make sure there really is a screen before processing. */
if (!screen) {
bu_log("ERROR: Unable to attach to screen (%s)\n",
bu_vls_addr(&dmp->dm_pathName));
- (void)X_close(dmp);
+ (void)X_close(dmp, context);
return DM_NULL;
}
@@ -618,7 +618,7 @@
/* must do this before MakeExist */
if ((pubvars->vip = X_choose_visual(dmp)) == NULL) {
bu_log("X_open_dm: Can't get an appropriate visual.\n");
- (void)X_close(dmp);
+ (void)X_close(dmp, context);
return DM_NULL;
}
Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -439,10 +439,10 @@
}
int
-dm_close(dm *dmp)
+dm_close(dm *dmp, struct dm_context *context)
{
if (UNLIKELY(!dmp)) return 0;
- return dmp->dm_close(dmp);
+ return dmp->dm_close(dmp, context);
}
unsigned char *
Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-ogl.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -102,7 +102,7 @@
#define IRBOUND 4095.9 /* Max magnification in Rot matrix */
#define PLOTBOUND 1000.0 /* Max magnification in Rot matrix */
-HIDDEN int ogl_close(struct dm_internal *dmp);
+HIDDEN int ogl_close(struct dm_internal *dmp, struct dm_context *context);
HIDDEN int ogl_drawBegin(struct dm_internal *dmp);
HIDDEN int ogl_drawEnd(struct dm_internal *dmp);
HIDDEN int ogl_normal(struct dm_internal *dmp);
@@ -604,7 +604,7 @@
* Gracefully release the display.
*/
HIDDEN int
-ogl_close(struct dm_internal *dmp)
+ogl_close(struct dm_internal *dmp, struct dm_context *UNUSED(context))
{
if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy) {
if (((struct ogl_vars *)dmp->dm_vars.priv_vars)->glxc) {
@@ -743,7 +743,7 @@
if ((tmp_dpy = XOpenDisplay(bu_vls_addr(&dmp->dm_dName))) == NULL) {
bu_vls_free(&init_proc_vls);
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -753,7 +753,7 @@
if (!XQueryExtension(tmp_dpy, "GLX", &return_val, &return_val,
&return_val)) {
bu_vls_free(&init_proc_vls);
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
}
@@ -818,7 +818,7 @@
if (pubvars->xtkwin == NULL) {
bu_log("dm-Ogl: Failed to open %s\n", bu_vls_addr(&dmp->dm_pathName));
bu_vls_free(&init_proc_vls);
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -832,7 +832,7 @@
if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
bu_vls_free(&init_proc_vls);
bu_vls_free(&str);
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -846,7 +846,7 @@
if (!(pubvars->dpy)) {
bu_vls_free(&init_proc_vls);
bu_vls_free(&str);
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -857,7 +857,7 @@
/* must do this before MakeExist */
if ((pubvars->vip=ogl_choose_visual(dmp, pubvars->xtkwin)) == NULL) {
bu_log("ogl_open: Can't get an appropriate visual.\n");
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -872,7 +872,7 @@
if ((privvars->glxc =
glXCreateContext(pubvars->dpy, pubvars->vip, (GLXContext)NULL,
GL_TRUE))==NULL) {
bu_log("ogl_open: couldn't create glXContext.\n");
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -941,7 +941,7 @@
if (!glXMakeCurrent(pubvars->dpy, pubvars->win, privvars->glxc)) {
bu_log("ogl_open: Couldn't make context current\n");
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
@@ -948,7 +948,7 @@
/* display list (fontOffset + char) will display a given ASCII char */
if ((privvars->fontOffset = glGenLists(128))==0) {
bu_log("dm-ogl: Can't make display lists for font.\n");
- (void)ogl_close(dmp);
+ (void)ogl_close(dmp, context);
return DM_NULL;
}
Modified: brlcad/trunk/src/libdm/dm-plot.c
===================================================================
--- brlcad/trunk/src/libdm/dm-plot.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-plot.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -72,7 +72,7 @@
* Gracefully release the display.
*/
HIDDEN int
-plot_close(dm *dmp)
+plot_close(dm *dmp, struct dm_context *UNUSED(context))
{
if (!dmp)
return BRLCAD_ERROR;
@@ -652,7 +652,7 @@
break;
default:
Tcl_AppendStringsToObj(obj, "bad PLOT option ", argv[0], "\n",
(char *)NULL);
- (void)plot_close(dmp);
+ (void)plot_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -661,7 +661,7 @@
}
if (argv[0] == (char *)0) {
Tcl_AppendStringsToObj(obj, "no filename or filter specified\n", (char
*)NULL);
- (void)plot_close(dmp);
+ (void)plot_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -683,7 +683,7 @@
if ((((struct plot_vars *)dmp->dm_vars.priv_vars)->up_fp =
popen(bu_vls_addr(&((struct plot_vars
*)dmp->dm_vars.priv_vars)->vls), "w")) == NULL) {
perror(bu_vls_addr(&((struct plot_vars
*)dmp->dm_vars.priv_vars)->vls));
- (void)plot_close(dmp);
+ (void)plot_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
}
@@ -695,7 +695,7 @@
if ((((struct plot_vars *)dmp->dm_vars.priv_vars)->up_fp =
fopen(bu_vls_addr(&((struct plot_vars
*)dmp->dm_vars.priv_vars)->vls), "wb")) == NULL) {
perror(bu_vls_addr(&((struct plot_vars
*)dmp->dm_vars.priv_vars)->vls));
- (void)plot_close(dmp);
+ (void)plot_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
}
Modified: brlcad/trunk/src/libdm/dm-ps.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ps.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-ps.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -68,7 +68,7 @@
* Gracefully release the display.
*/
HIDDEN int
-ps_close(dm *dmp)
+ps_close(dm *dmp, struct dm_context *UNUSED(context))
{
if (!((struct ps_vars *)dmp->dm_vars.priv_vars)->ps_fp)
return BRLCAD_ERROR;
@@ -634,7 +634,7 @@
argv++;
if (argv[0] == (char *)0 || argv[0][0] == '-') {
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -649,7 +649,7 @@
argv++;
if (argv[0] == (char *)0 || argv[0][0] == '-') {
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -664,7 +664,7 @@
argv++;
if (argv[0] == (char *)0 || argv[0][0] == '-') {
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -682,7 +682,7 @@
argv++;
if (argv[0] == (char *)0 || argv[0][0] == '-') {
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -700,7 +700,7 @@
argv++;
if (argv[0] == (char *)0 || argv[0][0] == '-') {
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -713,7 +713,7 @@
break;
default:
Tcl_AppendStringsToObj(obj, ps_usage, (char *)0);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -723,7 +723,7 @@
if (argv[0] == (char *)0) {
Tcl_AppendStringsToObj(obj, "no filename specified\n", (char *)NULL);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
@@ -736,7 +736,7 @@
Tcl_AppendStringsToObj(obj, "f_ps: Error opening file - ",
((struct ps_vars
*)dmp->dm_vars.priv_vars)->fname,
"\n", (char *)NULL);
- (void)ps_close(dmp);
+ (void)ps_close(dmp, NULL);
Tcl_SetObjResult(interp, obj);
return DM_NULL;
Modified: brlcad/trunk/src/libdm/dm-tk.c
===================================================================
--- brlcad/trunk/src/libdm/dm-tk.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-tk.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -80,7 +80,7 @@
* Gracefully release the display.
*/
HIDDEN int
-tk_close(struct dm_internal *dmp)
+tk_close(struct dm_internal *dmp, struct dm_context *UNUSED(context))
{
if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy) {
if (((struct x_vars *)dmp->dm_vars.priv_vars)->gc)
@@ -907,7 +907,7 @@
};
-struct dm_internal *tk_open_dm(Tcl_Interp *interp, int argc, char **argv);
+struct dm_internal *tk_open_dm(Tcl_Interp *interp, struct dm_context *context,
int argc, char **argv);
/* Display Manager package interface */
@@ -917,7 +917,7 @@
*
*/
struct dm_internal *
-tk_open_dm(Tcl_Interp *interp, int argc, char **argv)
+tk_open_dm(Tcl_Interp *interp, struct dm_context *context, int argc, char
**argv)
{
static int count = 0;
int make_square = -1;
@@ -1007,7 +1007,7 @@
if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->xtkwin == NULL) {
bu_log("tk_open: Failed to open %s\n", bu_vls_addr(&dmp->dm_pathName));
- (void)tk_close(dmp);
+ (void)tk_close(dmp, context);
return DM_NULL;
}
@@ -1020,7 +1020,7 @@
if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
bu_vls_free(&str);
- (void)tk_close(dmp);
+ (void)tk_close(dmp, context);
return DM_NULL;
}
@@ -1034,7 +1034,7 @@
/* make sure there really is a display before proceeding. */
if (!dpy) {
- (void)tk_close(dmp);
+ (void)tk_close(dmp, context);
return DM_NULL;
}
Modified: brlcad/trunk/src/libdm/dm-txt.c
===================================================================
--- brlcad/trunk/src/libdm/dm-txt.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-txt.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -53,7 +53,7 @@
HIDDEN int
-txt_close(dm *UNUSED(dmp))
+txt_close(dm *UNUSED(dmp), struct dm_context *UNUSED(context))
{
bu_log("close called\n");
return 0;
Modified: brlcad/trunk/src/libdm/dm-wgl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-wgl.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm-wgl.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -207,7 +207,7 @@
*
*/
dm *
-wgl_open(Tcl_Interp *interp, int argc, char *argv[])
+wgl_open(Tcl_Interp *interp, struct dm_context *context, int argc, char
*argv[])
{
static int count = 0;
GLfloat backgnd[4];
@@ -344,7 +344,7 @@
if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->xtkwin == NULL) {
bu_log("open_gl: Failed to open %s\n", bu_vls_addr(&dmp->dm_pathName));
bu_vls_free(&init_proc_vls);
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -359,7 +359,7 @@
bu_log("open_wgl: _init_dm failed\n");
bu_vls_free(&init_proc_vls);
bu_vls_free(&str);
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -371,7 +371,7 @@
/* make sure there really is a display before proceeding. */
if (!((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy) {
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -392,7 +392,7 @@
gotvisual = wgl_choose_visual(dmp, ((struct dm_xvars
*)dmp->dm_vars.pub_vars)->xtkwin);
if (!gotvisual) {
bu_log("wgl_open: Can't get an appropriate visual.\n");
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -402,7 +402,7 @@
if ((((struct wgl_vars *)dmp->dm_vars.priv_vars)->glxc =
wglCreateContext(((struct dm_xvars
*)dmp->dm_vars.pub_vars)->hdc))==NULL) {
bu_log("wgl_open: couldn't create glXContext.\n");
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -409,7 +409,7 @@
if (!wglMakeCurrent(((struct dm_xvars *)dmp->dm_vars.pub_vars)->hdc,
((struct wgl_vars *)dmp->dm_vars.priv_vars)->glxc)) {
bu_log("wgl_open: couldn't make context current\n");
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -416,7 +416,7 @@
/* display list (fontOffset + char) will display a given ASCII char */
if ((((struct wgl_vars *)dmp->dm_vars.priv_vars)->fontOffset =
glGenLists(128))==0) {
bu_log("wgl_open: couldn't make display lists for font.\n");
- (void)wgl_close(dmp);
+ (void)wgl_close(dmp, context);
return DM_NULL;
}
@@ -653,7 +653,7 @@
* Gracefully release the display.
*/
HIDDEN int
-wgl_close(dm *dmp)
+wgl_close(dm *dmp, struct dm_context *UNUSED(context))
{
if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->dpy) {
if (((struct wgl_vars *)dmp->dm_vars.priv_vars)->glxc) {
Modified: brlcad/trunk/src/libdm/dm_private.h
===================================================================
--- brlcad/trunk/src/libdm/dm_private.h 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libdm/dm_private.h 2020-04-08 16:14:44 UTC (rev 75295)
@@ -63,7 +63,7 @@
* Interface to a specific Display Manager
*/
struct dm_internal {
- int (*dm_close)(struct dm_internal *dmp);
+ int (*dm_close)(struct dm_internal *dmp, struct dm_context *);
int (*dm_drawBegin)(struct dm_internal *dmp); /**< @brief formerly
dmr_prolog */
int (*dm_drawEnd)(struct dm_internal *dmp); /**< @brief
formerly dmr_epilog */
int (*dm_normal)(struct dm_internal *dmp);
Modified: brlcad/trunk/src/libtclcad/dm_tcl.c
===================================================================
--- brlcad/trunk/src/libtclcad/dm_tcl.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/libtclcad/dm_tcl.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -50,6 +50,7 @@
#include "rt/geom.h"
#include "rt/solid.h"
#include "dm.h"
+#include "tclcad.h"
#ifdef DM_X
# include "dm/dm_xvars.h"
@@ -2568,7 +2569,7 @@
#endif
bu_vls_free(&dmop->dmo_name);
- (void)dm_close(dmop->dmo_dmp);
+ (void)dm_close(dmop->dmo_dmp, &dm_tk_context);
BU_LIST_DEQUEUE(&dmop->l);
bu_free((void *)dmop, "dmo_deleteProc: dmop");
@@ -2712,9 +2713,9 @@
static int
tk_window_set_visual(dm *UNUSED(dmp), dm_win win, dm_visual_info visual,
dm_cmap cmap)
{
- Colormap *color_map = (Colormap *)cmap;
+ Colormap color_map = (Colormap )cmap;
XVisualInfo *xvis = (XVisualInfo *)visual;
- return Tk_SetWindowVisual((Tk_Window)(win), xvis->visual, xvis->depth,
*color_map);
+ return Tk_SetWindowVisual((Tk_Window)(win), xvis->visual, xvis->depth,
color_map);
}
/* Tk_DestroyWindow */
Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c 2020-04-08 15:53:37 UTC (rev
75294)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c 2020-04-08 16:14:44 UTC (rev
75295)
@@ -6090,7 +6090,7 @@
bu_vls_free(&gdvp->gdv_name);
bu_vls_free(&gdvp->gdv_callback);
bu_vls_free(&gdvp->gdv_edit_motion_delta_callback);
- (void)dm_close(gdvp->gdv_dmp);
+ (void)dm_close(gdvp->gdv_dmp, &dm_tk_context);
bu_free((void *)gdvp->gdv_view, "ged_view");
to_close_fbs(gdvp);
bu_free((void *)gdvp, "ged_dm_view");
Modified: brlcad/trunk/src/mged/attach.c
===================================================================
--- brlcad/trunk/src/mged/attach.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/mged/attach.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -389,7 +389,7 @@
curr_dm_list->dml_tie->cl_tie = (struct dm_list *)NULL;
if (need_close)
- dm_close(DMP);
+ dm_close(DMP, &dm_tk_context);
RT_FREE_VLIST(&curr_dm_list->dml_p_vlist);
BU_LIST_DEQUEUE(&curr_dm_list->l);
Modified: brlcad/trunk/src/mged/mged.c
===================================================================
--- brlcad/trunk/src/mged/mged.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/mged/mged.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -2460,7 +2460,7 @@
BU_LIST_DEQUEUE(&(p->l));
if (p && p->dml_dmp) {
- dm_close(p->dml_dmp);
+ dm_close(p->dml_dmp, &dm_tk_context);
RT_FREE_VLIST(&p->dml_p_vlist);
mged_slider_free_vls(p);
bu_free(p, "release: curr_dm_list");
Modified: brlcad/trunk/src/util/plot3-dm.c
===================================================================
--- brlcad/trunk/src/util/plot3-dm.c 2020-04-08 15:53:37 UTC (rev 75294)
+++ brlcad/trunk/src/util/plot3-dm.c 2020-04-08 16:14:44 UTC (rev 75295)
@@ -985,7 +985,7 @@
cmd_exit(ClientData UNUSED(clientData), Tcl_Interp *UNUSED(interp), int
UNUSED(argc), char **UNUSED(argv))
{
if (dmp != DM_NULL)
- dm_close(dmp);
+ dm_close(dmp, &dm_tk_context);
bu_exit (0, NULL);
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits