diff options
author | Martin Poirier <theeth@yahoo.com> | 2010-02-01 21:26:45 +0300 |
---|---|---|
committer | Martin Poirier <theeth@yahoo.com> | 2010-02-01 21:26:45 +0300 |
commit | bfdf6d139e4935bbdd35b1766f92b754311cde39 (patch) | |
tree | 45583b67fc89fb8476de91363980f3fbb3aaf16b /source/blender/windowmanager | |
parent | f591f34e808d05e5788e196099d5b94ce2bba3e5 (diff) |
Remove NO_CONTEXT flag from enum when copying operator properties to the operator itself.
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/WM_api.h | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 11 |
4 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index f59ad924cf8..2e598cfdd61 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -217,7 +217,7 @@ int WM_operator_name_call (struct bContext *C, const char *opstring, int int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports); void WM_operator_properties_alloc(struct PointerRNA **ptr, struct IDProperty **properties, const char *opstring); /* used for keymap and macro items */ -void WM_operator_properties_sanitize(struct PointerRNA *ptr); /* make props not context sensitive */ +void WM_operator_properties_sanitize(struct PointerRNA *ptr, int val); /* make props context sensitive or not */ void WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring); void WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot); void WM_operator_properties_free(struct PointerRNA *ptr); diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 133038db43e..7e7dfe7a968 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -512,6 +512,8 @@ static wmOperator *wm_operator_create(wmWindowManager *wm, wmOperatorType *ot, P motherop= NULL; } + WM_operator_properties_sanitize(op->ptr, 0); + return op; } diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 86994e183fb..9b0f6823522 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -60,7 +60,7 @@ static void keymap_properties_set(wmKeyMapItem *kmi) { WM_operator_properties_alloc(&(kmi->ptr), &(kmi->properties), kmi->idname); - WM_operator_properties_sanitize(kmi->ptr); + WM_operator_properties_sanitize(kmi->ptr, 1); } void WM_keymap_properties_reset(wmKeyMapItem *kmi) diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index 0b08c975f5b..5c753926537 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -391,7 +391,7 @@ wmOperatorTypeMacro *WM_operatortype_macro_define(wmOperatorType *ot, const char /* do this on first use, since operatordefinitions might have been not done yet */ WM_operator_properties_alloc(&(otmacro->ptr), &(otmacro->properties), idname); - WM_operator_properties_sanitize(otmacro->ptr); + WM_operator_properties_sanitize(otmacro->ptr, 1); BLI_addtail(&ot->macro, otmacro); @@ -593,12 +593,15 @@ void WM_operator_properties_alloc(PointerRNA **ptr, IDProperty **properties, con } -void WM_operator_properties_sanitize(PointerRNA *ptr) +void WM_operator_properties_sanitize(PointerRNA *ptr, int val) { RNA_STRUCT_BEGIN(ptr, prop) { switch(RNA_property_type(prop)) { case PROP_ENUM: - RNA_def_property_flag(prop, PROP_ENUM_NO_CONTEXT); + if (val) + RNA_def_property_flag(prop, PROP_ENUM_NO_CONTEXT); + else + RNA_def_property_clear_flag(prop, PROP_ENUM_NO_CONTEXT); break; case PROP_POINTER: { @@ -607,7 +610,7 @@ void WM_operator_properties_sanitize(PointerRNA *ptr) /* recurse into operator properties */ if (RNA_struct_is_a(ptype, &RNA_OperatorProperties)) { PointerRNA opptr = RNA_property_pointer_get(ptr, prop); - WM_operator_properties_sanitize(&opptr); + WM_operator_properties_sanitize(&opptr, val); } break; } |