Changeset View
Changeset View
Standalone View
Standalone View
source/blender/windowmanager/intern/wm_event_system.c
| Show First 20 Lines • Show All 1,357 Lines • ▼ Show 20 Lines | bool WM_operator_last_properties_store(wmOperator *op) | ||||
| if (op->macro.first != NULL) { | if (op->macro.first != NULL) { | ||||
| for (wmOperator *opm = op->macro.first; opm; opm = opm->next) { | for (wmOperator *opm = op->macro.first; opm; opm = opm->next) { | ||||
| if (opm->properties) { | if (opm->properties) { | ||||
| if (op->type->last_properties == NULL) { | if (op->type->last_properties == NULL) { | ||||
| op->type->last_properties = IDP_New( | op->type->last_properties = IDP_New( | ||||
| IDP_GROUP, &(IDPropertyTemplate){0}, "wmOperatorProperties"); | IDP_GROUP, &(IDPropertyTemplate){0}, "wmOperatorProperties"); | ||||
| } | } | ||||
| IDProperty *idp_macro = IDP_CopyProperty(opm->properties); | IDProperty *idp_macro = IDP_CopyProperty(opm->properties); | ||||
| STRNCPY(idp_macro->name, opm->idname); | STRNCPY(idp_macro->name, opm->type->idname); | ||||
| IDP_ReplaceInGroup(op->type->last_properties, idp_macro); | IDP_ReplaceInGroup(op->type->last_properties, idp_macro); | ||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| return (op->type->last_properties != NULL); | return (op->type->last_properties != NULL); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 4,091 Lines • Show Last 20 Lines | |||||