64 fclose(
static_cast<FILE *
>(
G.
log.
file));
99 const char *version_cycle =
"";
100 const char *version_cycle_compact =
"";
102 version_cycle =
" Alpha";
103 version_cycle_compact =
" a";
106 version_cycle =
" Beta";
107 version_cycle_compact =
" b";
110 version_cycle =
" Release Candidate";
111 version_cycle_compact =
" RC";
115 version_cycle_compact =
"";
136 version_cycle_compact);
150 const size_t str_buff_maxncpy,
151 const short file_version,
152 const short file_subversion)
154 const short file_version_major = file_version / 100;
155 const short file_version_minor = file_version % 100;
156 if (file_subversion >= 0) {
165 BLI_snprintf(str_buff, str_buff_maxncpy,
"%d.%d", file_version_major, file_version_minor);
198#ifndef WITH_PYTHON_SECURITY
201 G.
f &= ~G_FLAG_SCRIPT_AUTOEXEC;
249 MEM_delete(kmi->
ptr);
255 blender::dna::shallow_swap(*userdef_a, *userdef_b);
277 if (kmdi->add_item) {
281 if (kmdi->remove_item) {
306 kpt_next = kpt->next;
329 addon_next = addon->next;
337#define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
390#define VALUE_SWAP(id) \
392 std::swap(userdef_a->id, userdef_b->id); \
395#define DATA_SWAP(id) \
397 UserDef userdef_tmp; \
398 memcpy(&(userdef_tmp.id), &(userdef_a->id), sizeof(userdef_tmp.id)); \
399 memcpy(&(userdef_a->id), &(userdef_b->id), sizeof(userdef_tmp.id)); \
400 memcpy(&(userdef_b->id), &(userdef_tmp.id), sizeof(userdef_tmp.id)); \
404#define FLAG_SWAP(id, ty, flags) \
406 CHECK_TYPE(&(userdef_a->id), ty *); \
407 const ty f = flags; \
408 const ty a = userdef_a->id; \
409 const ty b = userdef_b->id; \
410 userdef_a->id = (userdef_a->id & ~f) | (b & f); \
411 userdef_b->id = (userdef_b->id & ~f) | (a & f); \
void BKE_addon_free(struct bAddon *addon)
void BKE_asset_catalog_path_list_free(ListBase &catalog_path_list)
#define BLENDER_VERSION_PATCH
#define BLENDER_VERSION_CYCLE
#define BLENDER_VERSION_SUFFIX
void BKE_brush_system_exit()
void BKE_cachefiles_exit()
void BKE_callback_global_finalize()
void IDP_FreeProperty(IDProperty *prop)
Main * BKE_main_new(void)
void BKE_main_free(Main *bmain)
void BKE_spacetypes_free()
void BKE_studiolight_free(void)
void BLF_default_set(int fontid)
void BLF_unload_id(int fontid)
#define BLI_assert_msg(a, msg)
void BLI_kdtree_nd_ free(KDTree *tree)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
BLI_INLINE void BLI_listbase_clear(struct ListBase *lb)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
#define STRNCPY(dst, src)
#define SNPRINTF(dst, format,...)
size_t BLI_snprintf(char *__restrict dst, size_t dst_maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
void DEG_free_node_types()
@ USER_SHOW_GIZMO_NAVIGATE
void IMB_moviecache_destruct()
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]
static void blender_version_init()
static void userdef_free_keymaps(UserDef *userdef)
const char * BKE_blender_version_string_compact()
bool BKE_blender_version_is_alpha()
Main * BKE_blender_globals_main_swap(Main *new_gmain)
void BKE_blender_userdef_data_set(UserDef *userdef)
const char * BKE_blender_version_string()
static void userdef_free_addons(UserDef *userdef)
void BKE_blender_globals_main_replace(Main *bmain)
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()
void BKE_blender_atexit_unregister(void(*func)(void *user_data), const void *user_data)
void BKE_blender_globals_init()
void BKE_blender_version_blendfile_string_from_values(char *str_buff, const size_t str_buff_maxncpy, const short file_version, const short file_subversion)
void BKE_blender_userdef_data_set_and_free(UserDef *userdef)
void BKE_blender_globals_clear()
void BKE_blender_userdef_app_template_data_set(UserDef *userdef)
#define FLAG_SWAP(id, ty, flags)
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)
static void keymap_item_free(wmKeyMapItem *kmi)
static char blender_version_string_compact[48]
static void userdef_free_keyconfig_prefs(UserDef *userdef)
bool BKE_blender_version_is_lts()
void MEM_freeN(void *vmemh)
void(* func)(void *user_data)
char filepath_last_image[1024]
ListBase script_directories
struct ListBase asset_shelves_settings
struct ListBase user_keymaps
struct ListBase autoexec_paths
struct ListBase user_keyconfig_prefs
struct ListBase extension_repos
struct ListBase user_menus
struct ListBase asset_libraries
void RE_texture_rng_exit()