diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h index d6b6ffd425e..aa293e4c382 100644 --- a/source/blender/blenkernel/BKE_global.h +++ b/source/blender/blenkernel/BKE_global.h @@ -170,8 +170,14 @@ enum { /* Bits 11 to 22 (inclusive) are deprecated & need to be cleared */ - /** On read, use #FileGlobal.filename instead of the real location on-disk, - * needed for recovering temp files so relative paths resolve */ + /** + * On read, use #FileGlobal.filename instead of the real location on-disk, + * needed for recovering temp files so relative paths resolve. + * + * \note In some ways it would be nicer to make this an argument passed to file loading. + * In practice this means recover needs to be passed around to too many low level functions, + * so keep this as a flag. + */ G_FILE_RECOVER = (1 << 23), /** BMesh option to save as older mesh format */ /* #define G_FILE_MESH_COMPAT (1 << 26) */ diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c index 967eece4bcb..94ad6a8ef78 100644 --- a/source/blender/python/intern/bpy_operator.c +++ b/source/blender/python/intern/bpy_operator.c @@ -17,12 +17,12 @@ /** \file * \ingroup pythonintern * - * This file defines '_bpy.ops', an internal python module which gives python - * the ability to inspect and call both C and Python defined operators. + * This file defines `_bpy.ops`, an internal python module which gives Python + * the ability to inspect and call operators (defined by C or Python). * * \note - * This module is exposed to the user via 'release/scripts/modules/bpy/ops.py' - * which fakes exposing operators as modules/functions using its own classes. + * This C module is private, it should only be used by `release/scripts/modules/bpy/ops.py` which + * exposes operators as dynamically defined modules & callable objects to access all operators. */ #include @@ -38,7 +38,7 @@ #include "bpy_capi_utils.h" #include "bpy_operator.h" #include "bpy_operator_wrap.h" -#include "bpy_rna.h" /* for setting arg props only - pyrna_py_to_prop() */ +#include "bpy_rna.h" /* for setting argument properties & type method `get_rna_type`. */ #include "RNA_access.h" #include "RNA_enum_types.h" diff --git a/source/blender/python/intern/bpy_operator_wrap.c b/source/blender/python/intern/bpy_operator_wrap.c index 5137f41d43a..c2d7257e458 100644 --- a/source/blender/python/intern/bpy_operator_wrap.c +++ b/source/blender/python/intern/bpy_operator_wrap.c @@ -17,7 +17,7 @@ /** \file * \ingroup pythonintern * - * This file is so python can define operators that C can call into. + * This file exposes functionality for defining to define operators that C can call into. * The generic callback functions for python operators are defines in * 'rna_wm.c', some calling into functions here to do python specific * functionality. @@ -115,6 +115,10 @@ static void operator_properties_init(wmOperatorType *ot) /* end 'ot->prop' assignment */ } +/** + * Generic function used by all Python defined operators + * it's passed as an argument to #WM_operatortype_append_ptr in for operator registration. + */ void BPY_RNA_operator_wrapper(wmOperatorType *ot, void *userdata) { /* take care not to overwrite anything set in @@ -131,6 +135,10 @@ void BPY_RNA_operator_wrapper(wmOperatorType *ot, void *userdata) operator_properties_init(ot); } +/** + * Generic function used by all Python defined macro-operators + * it's passed as an argument to #WM_operatortype_append_ptr in for operator registration. + */ void BPY_RNA_operator_macro_wrapper(wmOperatorType *ot, void *userdata) { wmOperatorType *data = (wmOperatorType *)userdata; diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 646aa71025c..39651db54f0 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -1653,36 +1653,8 @@ int WM_operator_call_py(bContext *C, const bool is_undo) { int retval = OPERATOR_CANCELLED; - -#if 0 - wmOperator *op; - op = wm_operator_create(wm, ot, properties, reports); - - if (op->type->exec) { - if (is_undo && op->type->flag & OPTYPE_UNDO) { - wm->op_undo_depth++; - } - - retval = op->type->exec(C, op); - OPERATOR_RETVAL_CHECK(retval); - - if (is_undo && op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm) { - wm->op_undo_depth--; - } - } - else { - CLOG_WARN(WM_LOG_OPERATORS, - "\"%s\" operator has no exec function, Python cannot call it", - op->type->name); - } - -#endif - /* Not especially nice using undo depth here. It's used so Python never - * triggers undo or stores an operator's last used state. - * - * We could have some more obvious way of doing this like passing a flag. - */ + * triggers undo or stores an operator's last used state. */ wmWindowManager *wm = CTX_wm_manager(C); if (!is_undo && wm) { wm->op_undo_depth++; diff --git a/tests/python/bl_keymap_validate.py b/tests/python/bl_keymap_validate.py index 59b585b09d6..88c61df6125 100644 --- a/tests/python/bl_keymap_validate.py +++ b/tests/python/bl_keymap_validate.py @@ -193,7 +193,7 @@ def main() -> None: argv = (sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []) - # If we want full arg parsing. + # Use `argparse` for full arg parsing, for now this is enough. relaxed = "--relaxed" not in argv has_error = False