116 const char *version_cycle =
"";
118 version_cycle =
" Alpha";
121 version_cycle =
" Beta";
124 version_cycle =
" Release Candidate";
171 #ifndef WITH_PYTHON_SECURITY
225 if (kmdi->add_item) {
229 if (kmdi->remove_item) {
251 kpt_next = kpt->next;
269 for (
bAddon *addon = userdef->
addons.
first, *addon_next; addon; addon = addon_next) {
270 addon_next = addon->next;
282 #define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
324 #define DATA_SWAP(id) \
326 UserDef userdef_tmp; \
327 memcpy(&(userdef_tmp.id), &(userdef_a->id), sizeof(userdef_tmp.id)); \
328 memcpy(&(userdef_a->id), &(userdef_b->id), sizeof(userdef_tmp.id)); \
329 memcpy(&(userdef_b->id), &(userdef_tmp.id), sizeof(userdef_tmp.id)); \
333 #define LIST_SWAP(id) \
335 SWAP(ListBase, userdef_a->id, userdef_b->id); \
339 #define FLAG_SWAP(id, ty, flags) \
341 CHECK_TYPE(&(userdef_a->id), ty *); \
342 const ty f = flags; \
343 const ty a = userdef_a->id; \
344 const ty b = userdef_b->id; \
345 userdef_a->id = (userdef_a->id & ~f) | (b & f); \
346 userdef_b->id = (userdef_b->id & ~f) | (a & f); \
void BKE_addon_free(struct bAddon *addon)
#define BLENDER_VERSION_PATCH
#define BLENDER_VERSION_CYCLE
void BKE_brush_system_exit(void)
void BKE_cachefiles_exit(void)
void BKE_callback_global_finalize(void)
void IDP_FreeProperty(struct IDProperty *prop)
void BKE_images_exit(void)
struct Main * BKE_main_new(void)
void BKE_main_free(struct Main *mainvar)
void BKE_node_system_exit(void)
void BKE_spacetypes_free(void)
void BKE_studiolight_free(void)
void BLF_default_set(int fontid)
void BLF_unload_id(int fontid)
void BLI_kdtree_nd_() free(KDTree *tree)
#define LISTBASE_FOREACH(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
void DEG_free_node_types(void)
void IMB_moviecache_destruct(void)
Read Guarded memory(de)allocation.
static struct AtExitData * g_atexit
void BKE_blender_userdef_data_swap(UserDef *userdef_a, UserDef *userdef_b)
static char blender_version_string[48]
bool BKE_blender_version_is_alpha(void)
static void userdef_free_keymaps(UserDef *userdef)
void BKE_blender_userdef_data_set(UserDef *userdef)
static void userdef_free_addons(UserDef *userdef)
void BKE_blender_globals_clear(void)
static void userdef_free_user_menus(UserDef *userdef)
void BKE_blender_userdef_app_template_data_set_and_free(UserDef *userdef)
void BKE_blender_atexit_register(void(*func)(void *user_data), void *user_data)
void BKE_blender_atexit_unregister(void(*func)(void *user_data), const void *user_data)
void BKE_blender_userdef_data_set_and_free(UserDef *userdef)
void BKE_blender_userdef_app_template_data_set(UserDef *userdef)
#define FLAG_SWAP(id, ty, flags)
void BKE_blender_atexit(void)
void BKE_blender_userdef_app_template_data_swap(UserDef *userdef_a, UserDef *userdef_b)
void BKE_blender_userdef_data_free(UserDef *userdef, bool clear_fonts)
void BKE_blender_globals_init(void)
static void keymap_item_free(wmKeyMapItem *kmi)
void BKE_blender_free(void)
const char * BKE_blender_version_string(void)
static void blender_version_init(void)
static void userdef_free_keyconfig_prefs(UserDef *userdef)
void(* MEM_freeN)(void *vmemh)
void(* func)(void *user_data)
struct ListBase user_keymaps
struct ListBase autoexec_paths
struct ListBase user_keyconfig_prefs
struct ListBase user_menus
struct ListBase asset_libraries
void RE_texture_rng_exit(void)