Revision: 75331
          http://sourceforge.net/p/brlcad/code/75331
Author:   starseeker
Date:     2020-04-10 12:06:50 +0000 (Fri, 10 Apr 2020)
Log Message:
-----------
void cast the Tcl_Interp for the dm container, so dm_open (public libdm api) 
doesn't explicitly use the Tcl type

Modified Paths:
--------------
    brlcad/trunk/include/dm.h
    brlcad/trunk/src/adrt/isst.c
    brlcad/trunk/src/libdm/dm-generic.c
    brlcad/trunk/src/libdm/dm-ogl.c
    brlcad/trunk/src/libdm/dm-osgl.cpp
    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_obj.c
    brlcad/trunk/src/libdm/dm_private.h
    brlcad/trunk/src/libtclcad/tclcad_obj.c
    brlcad/trunk/src/mged/attach.c

Modified: brlcad/trunk/include/dm.h
===================================================================
--- brlcad/trunk/include/dm.h   2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/include/dm.h   2020-04-10 12:06:50 UTC (rev 75331)
@@ -239,7 +239,7 @@
 DM_EXPORT extern dm dm_osgl;
 
 DM_EXPORT extern int Dm_Init(void *interp);
-DM_EXPORT extern dm *dm_open(Tcl_Interp *interp,
+DM_EXPORT extern dm *dm_open(void *interp,
                             int type,
                             int argc,
                             const char *argv[]);

Modified: brlcad/trunk/src/adrt/isst.c
===================================================================
--- brlcad/trunk/src/adrt/isst.c        2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/adrt/isst.c        2020-04-10 12:06:50 UTC (rev 75331)
@@ -547,7 +547,7 @@
 {
     char *av[] = { "Ogl_open", "-t", "0", "-n", ".w0", "-W", "800", "-N", 
"600", NULL };
 
-    dmp = dm_open(interp, dm_default_type(), sizeof(av)/sizeof(void*)-1, 
(const char **)av);
+    dmp = dm_open((void *)interp, dm_default_type(), 
sizeof(av)/sizeof(void*)-1, (const char **)av);
 
     if (dmp == DM_NULL) {
        printf("dm failed?\n");

Modified: brlcad/trunk/src/libdm/dm-generic.c
===================================================================
--- brlcad/trunk/src/libdm/dm-generic.c 2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-generic.c 2020-04-10 12:06:50 UTC (rev 75331)
@@ -36,58 +36,52 @@
 #include "dm-Null.h"
 #include "rt/solid.h"
 
-extern dm *plot_open(Tcl_Interp *interp, int argc, const char *argv[]);
-extern dm *ps_open(Tcl_Interp *interp, int argc, const char *argv[]);
-extern dm *txt_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *plot_open(void *interp, int argc, const char *argv[]);
+extern dm *ps_open(void *interp, int argc, const char *argv[]);
+extern dm *txt_open(void *interp, int argc, const char **argv);
 
 #ifdef DM_X
 #  if defined(HAVE_TK)
-extern dm *X_open_dm(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *X_open_dm(void *interp, int argc, const char **argv);
 #  endif
 #endif /* DM_X */
 
 #ifdef DM_TK
-extern dm *tk_open_dm(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *tk_open_dm(void *interp, int argc, const char **argv);
 #endif /* DM_TK */
 
 #ifdef DM_OGL
 #  if defined(HAVE_TK)
-extern dm *ogl_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *ogl_open(void *interp, int argc, const char **argv);
 extern void ogl_fogHint(dm *dmp, int fastfog);
 extern int ogl_share_dlist(dm *dmp1, dm *dmp2);
 #  endif
 #endif /* DM_OGL */
 
-#ifdef DM_OSG
-extern dm *osg_open(Tcl_Interp *interp, int argc, const char **argv);
-extern void osg_fogHint(dm *dmp, int fastfog);
-extern int osg_share_dlist(dm *dmp1, dm *dmp2);
-#endif /* DM_OSG*/
-
 #ifdef DM_OSGL
-extern dm *osgl_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *osgl_open(void *interp, int argc, const char **argv);
 extern void osgl_fogHint(dm *dmp, int fastfog);
 extern int osgl_share_dlist(dm *dmp1, dm *dmp2);
 #endif /* DM_OSGL*/
 
 #ifdef DM_RTGL
-extern dm *rtgl_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *rtgl_open(void *interp, int argc, const char **argv);
 extern void rtgl_fogHint(dm *dmp, int fastfog);
 extern int rtgl_share_dlist(dm *dmp1, dm *dmp2);
 #endif /* DM_RTGL */
 
 #ifdef DM_WGL
-extern dm *wgl_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *wgl_open(void *interp, int argc, const char **argv);
 extern void wgl_fogHint(dm *dmp, int fastfog);
 extern int wgl_share_dlist(dm *dmp1, dm *dmp2);
 #endif /* DM_WGL */
 
 #ifdef DM_QT
-extern dm *qt_open(Tcl_Interp *interp, int argc, const char **argv);
+extern dm *qt_open(void *interp, int argc, const char **argv);
 #endif /* DM_QT */
 
 HIDDEN dm *
-null_dm_open(Tcl_Interp *interp, int argc, const char *argv[])
+null_dm_open(void *interp, int argc, const char *argv[])
 {
     dm *dmp = DM_NULL;
 
@@ -104,7 +98,7 @@
 
 
 dm *
-dm_open(Tcl_Interp *interp, int type, int argc, const char *argv[])
+dm_open(void *interp, int type, int argc, const char *argv[])
 {
     switch (type) {
        case DM_TYPE_NULL:

Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c     2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-ogl.c     2020-04-10 12:06:50 UTC (rev 75331)
@@ -102,7 +102,7 @@
 #define IRBOUND 4095.9 /* Max magnification in Rot matrix */
 #define PLOTBOUND 1000.0       /* Max magnification in Rot matrix */
 
-struct dm_internal *ogl_open(Tcl_Interp *interp, int argc, char **argv);
+struct dm_internal *ogl_open(Tcl_Interp *vinterp, int argc, char **argv);
 HIDDEN int ogl_close(struct dm_internal *dmp);
 HIDDEN int ogl_drawBegin(struct dm_internal *dmp);
 HIDDEN int ogl_drawEnd(struct dm_internal *dmp);
@@ -655,11 +655,12 @@
  *
  */
 struct dm_internal *
-ogl_open(Tcl_Interp *interp, int argc, char **argv)
+ogl_open(Tcl_Interp *vinterp, int argc, char **argv)
 {
     static int count = 0;
     GLfloat backgnd[4];
     int make_square = -1;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
 
 #ifdef HAVE_X11_EXTENSIONS_XINPUT_H
     int j, k;

Modified: brlcad/trunk/src/libdm/dm-osgl.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-osgl.cpp  2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-osgl.cpp  2020-04-10 12:06:50 UTC (rev 75331)
@@ -80,7 +80,7 @@
 #define PLOTBOUND 1000.0       /* Max magnification in Rot matrix */
 
 extern "C" {
-    struct dm_internal *osgl_open(Tcl_Interp *interp, int argc, char **argv);
+    struct dm_internal *osgl_open(void *vinterp, int argc, char **argv);
 }
 HIDDEN int osgl_close(struct dm_internal *dmp);
 HIDDEN int osgl_drawBegin(struct dm_internal *dmp);
@@ -382,7 +382,7 @@
  *
  */
 extern "C" struct dm_internal *
-osgl_open(Tcl_Interp *interp, int argc, char **argv)
+osgl_open(Tcl_Interp *vinterp, int argc, char **argv)
 {
     static int count = 0;
     GLfloat backgnd[4];
@@ -391,6 +391,7 @@
     struct dm_internal *dmp = (struct dm_internal *)NULL;
     struct modifiable_osgl_vars *mvars = NULL;
     Tk_Window tkwin = (Tk_Window)NULL;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
 
     struct dm_xvars *pubvars = NULL;
     struct osgl_vars *privvars = NULL;

Modified: brlcad/trunk/src/libdm/dm-plot.c
===================================================================
--- brlcad/trunk/src/libdm/dm-plot.c    2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-plot.c    2020-04-10 12:06:50 UTC (rev 75331)
@@ -132,9 +132,10 @@
     if (!dmp)
        return BRLCAD_ERROR;
 
+    Tcl_Interp *interp = (Tcl_Interp *)dmp->dm_interp;
     struct plot_vars *privars = (struct plot_vars *)dmp->dm_vars.priv_vars;
 
-    obj = Tcl_GetObjResult(dmp->dm_interp);
+    obj = Tcl_GetObjResult(interp);
     if (Tcl_IsShared(obj))
        obj = Tcl_DuplicateObj(obj);
 
@@ -156,7 +157,7 @@
 
     MAT_COPY(privars->mod_mat, mat);
     MAT_COPY(privars->plotmat, mat);
-    Tcl_SetObjResult(dmp->dm_interp, obj);
+    Tcl_SetObjResult(interp, obj);
     return BRLCAD_OK;
 }
 
@@ -471,10 +472,10 @@
 plot_debug(dm *dmp, int lvl)
 {
     Tcl_Obj *obj;
-
+    Tcl_Interp *interp = (Tcl_Interp *)dmp->dm_interp;
     struct plot_vars *privars = (struct plot_vars *)dmp->dm_vars.priv_vars;
 
-    obj = Tcl_GetObjResult(dmp->dm_interp);
+    obj = Tcl_GetObjResult(interp);
     if (Tcl_IsShared(obj))
        obj = Tcl_DuplicateObj(obj);
 
@@ -482,7 +483,7 @@
     (void)fflush(privars->up_fp);
     Tcl_AppendStringsToObj(obj, "flushed\n", (char *)NULL);
 
-    Tcl_SetObjResult(dmp->dm_interp, obj);
+    Tcl_SetObjResult(interp, obj);
     return BRLCAD_OK;
 }
 
@@ -490,10 +491,10 @@
 plot_logfile(dm *dmp, const char *filename)
 {
     Tcl_Obj *obj;
-
+    Tcl_Interp *interp = (Tcl_Interp *)dmp->dm_interp;
     struct plot_vars *privars = (struct plot_vars *)dmp->dm_vars.priv_vars;
 
-    obj = Tcl_GetObjResult(dmp->dm_interp);
+    obj = Tcl_GetObjResult(interp);
     if (Tcl_IsShared(obj))
        obj = Tcl_DuplicateObj(obj);
 
@@ -501,7 +502,7 @@
     (void)fflush(privars->up_fp);
     Tcl_AppendStringsToObj(obj, "flushed\n", (char *)NULL);
 
-    Tcl_SetObjResult(dmp->dm_interp, obj);
+    Tcl_SetObjResult(interp, obj);
     return BRLCAD_OK;
 }
 
@@ -616,11 +617,12 @@
  *
  */
 dm *
-plot_open(Tcl_Interp *interp, int argc, const char *argv[])
+plot_open(void *vinterp, int argc, const char *argv[])
 {
     static int count = 0;
     dm *dmp;
     Tcl_Obj *obj;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
 
     BU_ALLOC(dmp, struct dm_internal);
 

Modified: brlcad/trunk/src/libdm/dm-ps.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ps.c      2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-ps.c      2020-04-10 12:06:50 UTC (rev 75331)
@@ -127,8 +127,9 @@
 ps_loadMatrix(dm *dmp, fastf_t *mat, int which_eye)
 {
     Tcl_Obj *obj;
+    Tcl_Interp *interp = (Tcl_Interp *)dmp->dm_interp;
 
-    obj = Tcl_GetObjResult(dmp->dm_interp);
+    obj = Tcl_GetObjResult(interp);
     if (Tcl_IsShared(obj))
        obj = Tcl_DuplicateObj(obj);
 
@@ -151,7 +152,7 @@
     MAT_COPY(mod_mat, mat);
     MAT_COPY(psmat, mat);
 
-    Tcl_SetObjResult(dmp->dm_interp, obj);
+    Tcl_SetObjResult(interp, obj);
     return BRLCAD_OK;
 }
 
@@ -586,11 +587,12 @@
  *
  */
 dm *
-ps_open(Tcl_Interp *interp, int argc, const char *argv[])
+ps_open(void *vinterp, int argc, const char *argv[])
 {
     static int count = 0;
     dm *dmp;
     Tcl_Obj *obj;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
 
     BU_ALLOC(dmp, struct dm_internal);
 

Modified: brlcad/trunk/src/libdm/dm-tk.c
===================================================================
--- brlcad/trunk/src/libdm/dm-tk.c      2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-tk.c      2020-04-10 12:06:50 UTC (rev 75331)
@@ -731,6 +731,7 @@
 tk_configureWin_guts(struct dm_internal *dmp, int force)
 {
     int h, w;
+    Tcl_Interp *interp = (Tcl_Interp *)dmp->dm_interp;
 
     /* nothing to do */
     h = Tk_Height(((struct dm_xvars *)dmp->dm_vars.pub_vars)->xtkwin);
@@ -762,13 +763,13 @@
     if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->tkfontset == 0) {
 
        ((struct dm_xvars *)dmp->dm_vars.pub_vars)->tkfontstruct =
-           Tk_GetFont(dmp->dm_interp, ((struct dm_xvars 
*)dmp->dm_vars.pub_vars)->xtkwin, FONT9);
+           Tk_GetFont(interp, ((struct dm_xvars 
*)dmp->dm_vars.pub_vars)->xtkwin, FONT9);
 
        if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->tkfontstruct == NULL) {
            /* Try hardcoded backup font */
 
            ((struct dm_xvars *)dmp->dm_vars.pub_vars)->tkfontstruct =
-               Tk_GetFont(dmp->dm_interp, ((struct dm_xvars 
*)dmp->dm_vars.pub_vars)->xtkwin, FONTBACK);
+               Tk_GetFont(interp, ((struct dm_xvars 
*)dmp->dm_vars.pub_vars)->xtkwin, FONTBACK);
 
            if (((struct dm_xvars *)dmp->dm_vars.pub_vars)->tkfontstruct == 
NULL) {
                bu_log("dm-Tk: Can't open font '%s' or '%s'\n", FONT9, 
FONTBACK);
@@ -907,21 +908,19 @@
 };
 
 
-struct dm_internal *tk_open_dm(Tcl_Interp *interp, int argc, char **argv);
-
 /* Display Manager package interface */
 
-
 /*
  * Fire up the display manager, and the display processor.
  *
  */
 struct dm_internal *
-tk_open_dm(Tcl_Interp *interp, int argc, char **argv)
+tk_open_dm(void *vinterp, int argc, char **argv)
 {
     static int count = 0;
     int make_square = -1;
     XGCValues gcv;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
 
     struct bu_vls str = BU_VLS_INIT_ZERO;
     struct bu_vls init_proc_vls = BU_VLS_INIT_ZERO;

Modified: brlcad/trunk/src/libdm/dm-txt.c
===================================================================
--- brlcad/trunk/src/libdm/dm-txt.c     2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-txt.c     2020-04-10 12:06:50 UTC (rev 75331)
@@ -34,7 +34,7 @@
 
 
 dm *
-txt_open(Tcl_Interp *interp, int argc, const char **argv)
+txt_open(void *interp, int argc, const char **argv)
 {
     dm *dmp;
 

Modified: brlcad/trunk/src/libdm/dm-wgl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-wgl.c     2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm-wgl.c     2020-04-10 12:06:50 UTC (rev 75331)
@@ -207,7 +207,7 @@
  *
  */
 dm *
-wgl_open(Tcl_Interp *interp, int argc, char *argv[])
+wgl_open(void *vinterp, int argc, char *argv[])
 {
     static int count = 0;
     GLfloat backgnd[4];
@@ -216,10 +216,11 @@
     struct bu_vls init_proc_vls = BU_VLS_INIT_ZERO;
     struct modifiable_ogl_vars *mvars = NULL;
     dm *dmp = (dm *)NULL;
+    Tcl_Interp *interp = (Tcl_Interp *)vinterp;
     Tk_Window tkwin;
     HWND hwnd;
     HDC hdc;
-       int gotvisual;
+    int gotvisual;
 
     if ((tkwin = Tk_MainWindow(interp)) == NULL) {
        return DM_NULL;

Modified: brlcad/trunk/src/libdm/dm_obj.c
===================================================================
--- brlcad/trunk/src/libdm/dm_obj.c     2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm_obj.c     2020-04-10 12:06:50 UTC (rev 75331)
@@ -2989,7 +2989,7 @@
            av[i+newargs] = argv[i];
        av[i+newargs] = (const char *)NULL;
 
-       if ((dmp = dm_open(interp, type, ac, av)) == DM_NULL) {
+       if ((dmp = dm_open((void *)interp, type, ac, av)) == DM_NULL) {
            if (Tcl_IsShared(obj))
                obj = Tcl_DuplicateObj(obj);
 

Modified: brlcad/trunk/src/libdm/dm_private.h
===================================================================
--- brlcad/trunk/src/libdm/dm_private.h 2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/libdm/dm_private.h 2020-04-10 12:06:50 UTC (rev 75331)
@@ -141,7 +141,7 @@
     int dm_fontsize;           /**< @brief !0 override's the auto font size */
     struct bu_structparse *vparse;    /**< @brief Table listing settable 
variables */
     fb *fbp;                    /**< @brief Framebuffer associated with this 
display instance */
-    Tcl_Interp *dm_interp;     /**< @brief Tcl interpreter */
+    void *dm_interp;           /**< @brief interpreter */
 };
 
 __BEGIN_DECLS

Modified: brlcad/trunk/src/libtclcad/tclcad_obj.c
===================================================================
--- brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-09 21:17:10 UTC (rev 
75330)
+++ brlcad/trunk/src/libtclcad/tclcad_obj.c     2020-04-10 12:06:50 UTC (rev 
75331)
@@ -11588,7 +11588,7 @@
            av[i+newargs] = argv[i];
        av[i+newargs] = (const char *)NULL;
 
-       new_gdvp->gdv_dmp = dm_open(current_top->to_interp, type, ac, av);
+       new_gdvp->gdv_dmp = dm_open((void *)current_top->to_interp, type, ac, 
av);
        if (new_gdvp->gdv_dmp == DM_NULL) {
            bu_free((void *)new_gdvp->gdv_view, "ged_view");
            bu_free((void *)new_gdvp, "ged_dm_view");

Modified: brlcad/trunk/src/mged/attach.c
===================================================================
--- brlcad/trunk/src/mged/attach.c      2020-04-09 21:17:10 UTC (rev 75330)
+++ brlcad/trunk/src/mged/attach.c      2020-04-10 12:06:50 UTC (rev 75331)
@@ -270,7 +270,7 @@
     Tk_DeleteGenericHandler(doEvent, (ClientData)NULL);
 #endif
 
-    if ((DMP = dm_open(INTERP, dm_type, argc-1, argv)) == DM_NULL)
+    if ((DMP = dm_open((void *)INTERP, dm_type, argc-1, argv)) == DM_NULL)
        return TCL_ERROR;
 
     /*XXXX this eventually needs to move into Ogl's private structure */

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

Reply via email to