Revision: 75962
          http://sourceforge.net/p/brlcad/code/75962
Author:   starseeker
Date:     2020-05-28 17:28:58 +0000 (Thu, 28 May 2020)
Log Message:
-----------
bind_dm is an empty no-op, stubbed in so the default libdm stub has a proc to 
execute.  Remove both the empty stub and the default init string setting in the 
dm backends, instead executing the init Tcl_Eval only if the caller has 
supplied something for us to init.

Modified Paths:
--------------
    brlcad/trunk/src/libdm/dm-X.c
    brlcad/trunk/src/libdm/dm-ogl.c
    brlcad/trunk/src/libdm/dm-osgl.cpp
    brlcad/trunk/src/libdm/dm-qt.cpp
    brlcad/trunk/src/libdm/dm-tk.c
    brlcad/trunk/src/libdm/dm-wgl.c
    brlcad/trunk/src/tclscripts/libdm.tcl

Modified: brlcad/trunk/src/libdm/dm-X.c
===================================================================
--- brlcad/trunk/src/libdm/dm-X.c       2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-X.c       2020-05-28 17:28:58 UTC (rev 75962)
@@ -480,8 +480,6 @@
        else
            bu_vls_strcpy(&dmp->dm_dName, ":0.0");
     }
-    if (bu_vls_strlen(&init_proc_vls) == 0)
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
 
     /* initialize dm specific variables */
     pubvars->devmotionnotify = LASTEvent;
@@ -536,12 +534,14 @@
                  (char *)Tk_Name(pubvars->xtkwin));
 #endif
 
-    bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
 
-    if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
-       bu_vls_free(&str);
-       (void)X_close(dmp);
-       return DM_NULL;
+       if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
+           bu_vls_free(&str);
+           (void)X_close(dmp);
+           return DM_NULL;
+       }
     }
 
     bu_vls_free(&init_proc_vls);

Modified: brlcad/trunk/src/libdm/dm-ogl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-ogl.c     2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-ogl.c     2020-05-28 17:28:58 UTC (rev 75962)
@@ -718,8 +718,6 @@
        else
            bu_vls_strcpy(&dmp->dm_dName, ":0.0");
     }
-    if (bu_vls_strlen(&init_proc_vls) == 0)
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
 
     /* initialize dm specific variables */
     pubvars->devmotionnotify = LASTEvent;
@@ -826,13 +824,15 @@
     bu_vls_printf(&dmp->dm_tkName, "%s",
                  (char *)Tk_Name(pubvars->xtkwin));
 
-    bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
 
-    if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
-       bu_vls_free(&init_proc_vls);
-       bu_vls_free(&str);
-       (void)ogl_close(dmp);
-       return DM_NULL;
+       if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
+           bu_vls_free(&init_proc_vls);
+           bu_vls_free(&str);
+           (void)ogl_close(dmp);
+           return DM_NULL;
+       }
     }
 
     bu_vls_free(&init_proc_vls);

Modified: brlcad/trunk/src/libdm/dm-osgl.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-osgl.cpp  2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-osgl.cpp  2020-05-28 17:28:58 UTC (rev 75962)
@@ -447,8 +447,6 @@
        else
            bu_vls_strcpy(&dmp->dm_dName, ":0.0");
     }
-    if (bu_vls_strlen(&init_proc_vls) == 0)
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
 
     /* initialize dm specific variables */
     pubvars->devmotionnotify = LASTEvent;
@@ -553,14 +551,16 @@
     bu_vls_printf(&dmp->dm_tkName, "%s",
                  (char *)Tk_Name(pubvars->xtkwin));
 
-    /* Important - note that this is a bu_vls_sprintf, to clear the string */
-    bu_vls_sprintf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       /* Important - note that this is a bu_vls_sprintf, to clear the string 
*/
+       bu_vls_sprintf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
 
-    if (Tcl_Eval(interp, bu_vls_addr(&str)) == TCL_ERROR) {
-       bu_vls_free(&init_proc_vls);
-       bu_vls_free(&str);
-       (void)osgl_close(dmp);
-       return DM_NULL;
+       if (Tcl_Eval(interp, bu_vls_addr(&str)) == TCL_ERROR) {
+           bu_vls_free(&init_proc_vls);
+           bu_vls_free(&str);
+           (void)osgl_close(dmp);
+           return DM_NULL;
+       }
     }
 
     bu_vls_free(&init_proc_vls);

Modified: brlcad/trunk/src/libdm/dm-qt.cpp
===================================================================
--- brlcad/trunk/src/libdm/dm-qt.cpp    2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-qt.cpp    2020-05-28 17:28:58 UTC (rev 75962)
@@ -825,9 +825,6 @@
        else
            bu_vls_strcpy(&dmp->dm_dName, ":0.0");
     }
-    if (bu_vls_strlen(&init_proc_vls) == 0) {
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
-    }
 
     /* initialize dm specific variables */
     pubvars->devmotionnotify = LASTEvent;
@@ -870,14 +867,16 @@
 
     bu_vls_printf(&dmp->dm_tkName, "%s", (char *)Tk_Name(pubvars->xtkwin));
 
-    bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
 
-    if (Tcl_Eval(interp, bu_vls_addr(&str)) == TCL_ERROR) {
-       bu_log("qt_open: dm init failed\n");
-       bu_vls_free(&init_proc_vls);
-       bu_vls_free(&str);
-       (void)qt_close(dmp);
-       return DM_NULL;
+       if (Tcl_Eval(interp, bu_vls_addr(&str)) == TCL_ERROR) {
+           bu_log("qt_open: dm init failed\n");
+           bu_vls_free(&init_proc_vls);
+           bu_vls_free(&str);
+           (void)qt_close(dmp);
+           return DM_NULL;
+       }
     }
 
     bu_vls_free(&init_proc_vls);

Modified: brlcad/trunk/src/libdm/dm-tk.c
===================================================================
--- brlcad/trunk/src/libdm/dm-tk.c      2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-tk.c      2020-05-28 17:28:58 UTC (rev 75962)
@@ -902,14 +902,6 @@
     struct dm_internal *dmp = (struct dm_internal *)NULL;
     Tk_Window tkwin;
 
-#if 0
-    Display *dpy = (Display *)NULL;
-    XColor fg, bg;
-
-    INIT_XCOLOR(&fg);
-    INIT_XCOLOR(&bg);
-#endif
-
     if ((tkwin = Tk_MainWindow(interp)) == NULL) {
        return DM_NULL;
     }
@@ -936,9 +928,6 @@
      * via argv entries - check */
     struct bu_vls init_proc_vls = BU_VLS_INIT_ZERO;
     dm_processOptions(dmp, &init_proc_vls, --argc, ++argv);
-    if (bu_vls_strlen(&init_proc_vls) == 0) {
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
-    }
 
     // Find an open Tk dm name
     int win_id = 0;
@@ -997,15 +986,17 @@
 
     bu_vls_printf(&dmp->dm_tkName, "%s", (char *)Tk_Name(pub_vars->xtkwin));
 
-    struct bu_vls str = BU_VLS_INIT_ZERO;
-    bu_vls_printf(&str, "%s %s\n", bu_vls_cstr(&init_proc_vls), 
bu_vls_cstr(&dmp->dm_pathName));
-    if (Tcl_Eval(interp, bu_vls_cstr(&str)) == BRLCAD_ERROR) {
-       bu_log("Failure initializing Tk dm with command \"%s %s\":\n%s\n", 
bu_vls_cstr(&init_proc_vls), bu_vls_cstr(&dmp->dm_pathName), 
Tcl_GetStringResult(interp));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       struct bu_vls str = BU_VLS_INIT_ZERO;
+       bu_vls_printf(&str, "%s %s\n", bu_vls_cstr(&init_proc_vls), 
bu_vls_cstr(&dmp->dm_pathName));
+       if (Tcl_Eval(interp, bu_vls_cstr(&str)) == BRLCAD_ERROR) {
+           bu_log("Failure initializing Tk dm with command \"%s %s\":\n%s\n", 
bu_vls_cstr(&init_proc_vls), bu_vls_cstr(&dmp->dm_pathName), 
Tcl_GetStringResult(interp));
+           bu_vls_free(&str);
+           (void)tk_close(dmp);
+           return DM_NULL;
+       }
        bu_vls_free(&str);
-       (void)tk_close(dmp);
-       return DM_NULL;
     }
-    bu_vls_free(&str);
     bu_vls_free(&init_proc_vls);
 
     pub_vars->dpy = Tk_Display(pub_vars->top);
@@ -1016,7 +1007,6 @@
        return DM_NULL;
     }
 
-
     /* Finalize the dimensions of the window */
     if (dmp->dm_width == 0) {
        dmp->dm_width = WidthOfScreen(Tk_Screen(pub_vars->xtkwin));

Modified: brlcad/trunk/src/libdm/dm-wgl.c
===================================================================
--- brlcad/trunk/src/libdm/dm-wgl.c     2020-05-28 17:15:31 UTC (rev 75961)
+++ brlcad/trunk/src/libdm/dm-wgl.c     2020-05-28 17:28:58 UTC (rev 75962)
@@ -258,8 +258,6 @@
        else
            bu_vls_strcpy(&dmp->dm_dName, ":0.0");
     }
-    if (bu_vls_strlen(&init_proc_vls) == 0)
-       bu_vls_strcpy(&init_proc_vls, "bind_dm");
 
     /* initialize dm specific variables */
     ((struct dm_xvars *)dmp->dm_vars.pub_vars)->devmotionnotify = LASTEvent;
@@ -351,14 +349,16 @@
     bu_vls_printf(&dmp->dm_tkName, "%s",
                  (char *)Tk_Name(((struct dm_xvars 
*)dmp->dm_vars.pub_vars)->xtkwin));
 
-    bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
+    if (bu_vls_strlen(&init_proc_vls) > 0) {
+       bu_vls_printf(&str, "%s %s\n", bu_vls_addr(&init_proc_vls), 
bu_vls_addr(&dmp->dm_pathName));
 
-    if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
-       bu_log("open_wgl: _init_dm failed\n");
-       bu_vls_free(&init_proc_vls);
-       bu_vls_free(&str);
-       (void)wgl_close(dmp);
-       return DM_NULL;
+       if (Tcl_Eval(interp, bu_vls_addr(&str)) == BRLCAD_ERROR) {
+           bu_log("open_wgl: _init_dm failed\n");
+           bu_vls_free(&init_proc_vls);
+           bu_vls_free(&str);
+           (void)wgl_close(dmp);
+           return DM_NULL;
+       }
     }
 
     bu_vls_free(&init_proc_vls);

Modified: brlcad/trunk/src/tclscripts/libdm.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/libdm.tcl       2020-05-28 17:15:31 UTC (rev 
75961)
+++ brlcad/trunk/src/tclscripts/libdm.tcl       2020-05-28 17:28:58 UTC (rev 
75962)
@@ -19,9 +19,6 @@
 #
 ###
 
-proc bind_dm { w } {
-}
-
 ## - init_dm_obj
 #
 # Called to initialize display manager objects.

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