add flag FUNC_USE_MAIN for rna functions which don't need the context. (currently unused)

This commit is contained in:
Campbell Barton 2011-11-17 18:41:37 +00:00
parent d90e3759bc
commit 22b5a3735f
2 changed files with 17 additions and 4 deletions

@ -303,13 +303,14 @@ typedef struct ParameterDynAlloc {
typedef enum FunctionFlag { typedef enum FunctionFlag {
FUNC_NO_SELF = 1, /* for static functions */ FUNC_NO_SELF = 1, /* for static functions */
FUNC_USE_CONTEXT = 2, FUNC_USE_MAIN = 2,
FUNC_USE_REPORTS = 4, FUNC_USE_CONTEXT = 4,
FUNC_USE_REPORTS = 8,
FUNC_USE_SELF_ID = 2048, FUNC_USE_SELF_ID = 2048,
/* registering */ /* registering */
FUNC_REGISTER = 8, FUNC_REGISTER = 16,
FUNC_REGISTER_OPTIONAL = 8|16, FUNC_REGISTER_OPTIONAL = 16|32,
/* internal flags */ /* internal flags */
FUNC_BUILTIN = 128, FUNC_BUILTIN = 128,

@ -1709,6 +1709,12 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
first= 0; first= 0;
} }
if(func->flag & FUNC_USE_MAIN) {
if(!first) fprintf(f, ", ");
first= 0;
fprintf(f, "CTX_data_main(C)"); /* may have direct access later */
}
if(func->flag & FUNC_USE_CONTEXT) { if(func->flag & FUNC_USE_CONTEXT) {
if(!first) fprintf(f, ", "); if(!first) fprintf(f, ", ");
first= 0; first= 0;
@ -2007,6 +2013,12 @@ static void rna_generate_static_parameter_prototypes(BlenderRNA *brna, StructRNA
first= 0; first= 0;
} }
if(func->flag & FUNC_USE_MAIN) {
if(!first) fprintf(f, ", ");
first= 0;
fprintf(f, "Main *bmain");
}
if(func->flag & FUNC_USE_CONTEXT) { if(func->flag & FUNC_USE_CONTEXT) {
if(!first) fprintf(f, ", "); if(!first) fprintf(f, ", ");
first= 0; first= 0;