Revision: 76904
http://sourceforge.net/p/brlcad/code/76904
Author: brlcad
Date: 2020-08-23 16:13:18 +0000 (Sun, 23 Aug 2020)
Log Message:
-----------
eliminate the preprocessor indirection, check for null dereferencing
Modified Paths:
--------------
brlcad/trunk/src/mged/edsol.c
brlcad/trunk/src/mged/mged.c
brlcad/trunk/src/mged/mged_dm.h
Modified: brlcad/trunk/src/mged/edsol.c
===================================================================
--- brlcad/trunk/src/mged/edsol.c 2020-08-23 16:12:28 UTC (rev 76903)
+++ brlcad/trunk/src/mged/edsol.c 2020-08-23 16:13:18 UTC (rev 76904)
@@ -2808,9 +2808,11 @@
}
bu_vls_printf(&str, ") [%d]: ", arb_vertices[type][loc]);
+ const struct bu_vls *dnvp = dm_get_dname(curr_dm_list->dml_dmp);
+
bu_vls_printf(&cmd, "cad_input_dialog .get_vertex %s {Need vertex for
solid rotate}\
{%s} vertex_num %d 0 {{ summary \"Enter a vertex number to rotate about.\"}}
OK",
- bu_vls_addr(dName), bu_vls_addr(&str),
arb_vertices[type][loc]);
+ (dnvp) ? bu_vls_addr(dnvp) : "id", bu_vls_addr(&str),
arb_vertices[type][loc]);
while (!valid) {
if (Tcl_Eval(INTERP, bu_vls_addr(&cmd)) != TCL_OK) {
Modified: brlcad/trunk/src/mged/mged.c
===================================================================
--- brlcad/trunk/src/mged/mged.c 2020-08-23 16:12:28 UTC (rev 76903)
+++ brlcad/trunk/src/mged/mged.c 2020-08-23 16:13:18 UTC (rev 76904)
@@ -1272,15 +1272,24 @@
BU_LIST_INIT(&curr_dm_list->dml_p_vlist);
predictor_init();
+ struct bu_vls *dnvp = dm_get_dname(curr_dm_list->dml_dmp);
+ if (dnvp) {
+ bu_vls_init(dnvp);
+ }
+
DMP = dm_get();
dm_set_null(DMP);
- bu_vls_init(tkName);
- bu_vls_init(dName);
- if (dm_get_pathname(DMP)) {
- bu_vls_strcpy(dm_get_pathname(DMP), "nu");
+ struct bu_vls *dpvp = dm_get_pathname(DMP);
+ if (dpvp) {
+ bu_vls_strcpy(dpvp, "nu");
}
- bu_vls_strcpy(tkName, "nu");
+ struct bu_vls *tnvp = dm_get_tkname(curr_dm_list->dml_dmp);
+ if (tnvp) {
+ bu_vls_init(tnvp); /* this may leak */
+ bu_vls_strcpy(tnvp, "nu");
+ }
+
BU_ALLOC(rubber_band, struct _rubber_band);
*rubber_band = default_rubber_band; /* struct copy */
@@ -1540,7 +1549,8 @@
*/
{
const unsigned char *dm_bg = dm_get_bg(DMP);
- dm_set_bg(DMP, dm_bg[0], dm_bg[1], dm_bg[2]);
+ if (dm_bg)
+ dm_set_bg(DMP, dm_bg[0], dm_bg[1], dm_bg[2]);
}
/* initialize a display manager */
Modified: brlcad/trunk/src/mged/mged_dm.h
===================================================================
--- brlcad/trunk/src/mged/mged_dm.h 2020-08-23 16:12:28 UTC (rev 76903)
+++ brlcad/trunk/src/mged/mged_dm.h 2020-08-23 16:13:18 UTC (rev 76904)
@@ -449,8 +449,6 @@
#define netchan curr_dm_list->dml_netchan
#endif
#define clients curr_dm_list->dml_clients
-#define tkName dm_get_tkname(curr_dm_list->dml_dmp)
-#define dName dm_get_dname(curr_dm_list->dml_dmp)
#define dirty curr_dm_list->dml_dirty
#define mapped curr_dm_list->dml_mapped
#define owner curr_dm_list->dml_owner
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