static void edbm_bevel_exit(bContext *C, wmOperator *op) { BevelData *opdata = op->customdata; ScrArea *sa = CTX_wm_area(C); if (sa) { ED_area_status_text(sa, NULL); } if (opdata->is_modal) { View3D *v3d = CTX_wm_view3d(C); ARegion *ar = CTX_wm_region(C); for (uint ob_index = 0; ob_index < opdata->ob_store_len; ob_index++) { EDBM_redo_state_free(&opdata->ob_store[ob_index].mesh_backup, NULL, false); } ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel); if (v3d) { v3d->gizmo_flag = opdata->gizmo_flag; } G.moving = 0; } MEM_SAFE_FREE(opdata->ob_store); MEM_SAFE_FREE(op->customdata); op->customdata = NULL; }
static void edbm_bisect_exit(bContext *C, BisectData *opdata) { View3D *v3d = CTX_wm_view3d(C); EDBM_redo_state_free(&opdata->mesh_backup, NULL, false); v3d->twtype = opdata->twtype; G.moving = 0; }
static void edbm_bevel_cancel(bContext *C, wmOperator *op) { BevelData *opdata = op->customdata; if (opdata->is_modal) { EDBM_redo_state_free(&opdata->mesh_backup, opdata->em, true); EDBM_update_generic(opdata->em, false, true); } edbm_bevel_exit(C, op); /* need to force redisplay or we may still view the modified result */ ED_region_tag_redraw(CTX_wm_region(C)); }
static void edbm_bevel_exit(bContext *C, wmOperator *op) { BevelData *opdata = op->customdata; ScrArea *sa = CTX_wm_area(C); if (sa) { ED_area_headerprint(sa, NULL); } if (opdata->is_modal) { View3D *v3d = CTX_wm_view3d(C); ARegion *ar = CTX_wm_region(C); EDBM_redo_state_free(&opdata->mesh_backup, NULL, false); ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel); v3d->twtype = opdata->twtype; G.moving = 0; } MEM_freeN(opdata); op->customdata = NULL; }