diff --git a/src/mged/edsol.c b/src/mged/edsol.c index c7ea20c273..416b9fea58 100644 --- a/src/mged/edsol.c +++ b/src/mged/edsol.c @@ -1237,6 +1237,8 @@ oedit_reject(struct mged_state *s) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); } @@ -1301,6 +1303,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_OK; } @@ -1309,6 +1313,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_ERROR; } struct ged_bv_data *bdata = (struct ged_bv_data *)illump->s_u_data; @@ -1318,6 +1324,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_ERROR; } @@ -1356,6 +1364,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_ERROR; /* FAIL */ } @@ -1378,6 +1388,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_ERROR; } } @@ -1385,6 +1397,8 @@ sedit_apply(struct mged_state *s, int accept_flag) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return TCL_OK; } @@ -1439,6 +1453,8 @@ sedit_reject(struct mged_state *s) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); return; } struct ged_bv_data *bdata = (struct ged_bv_data *)illump->s_u_data; @@ -1468,6 +1484,8 @@ sedit_reject(struct mged_state *s) Tcl_UnlinkVar(s->interp, "edit_solid_flag"); rt_solid_edit_destroy(s->s_edit); s->s_edit = NULL; + mmenu_set(s, MENU_L1, NULL); + mmenu_set(s, MENU_L2, NULL); } int diff --git a/src/mged/menu.c b/src/mged/menu.c index 21acabed4f..17ea2c577e 100644 --- a/src/mged/menu.c +++ b/src/mged/menu.c @@ -269,9 +269,6 @@ mged_mmenu_set(int UNUSED(ac), const char **UNUSED(av), void *d, void *ms) void mmenu_set(struct mged_state *s, int index, struct rt_solid_edit_menu_item *value) { - if (!value) - return; - Tcl_DString ds_menu; struct bu_vls menu_string = BU_VLS_INIT_ZERO;