Merge branch 'blender-v3.6-release'

This commit is contained in:
Campbell Barton 2023-05-31 13:25:26 +10:00
commit 3f253af0fb
2 changed files with 58 additions and 112 deletions

View File

@ -72,118 +72,63 @@ void BKE_main_free(Main *mainvar)
#if 1
BKE_id_free_ex(mainvar, id, free_flag, false);
#else
/* errors freeing ID's can be hard to track down,
* enable this so valgrind will give the line number in its error log */
switch (a) {
case 0:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 1:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 2:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 3:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 4:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 5:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 6:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 7:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 8:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 9:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 10:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 11:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 12:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 13:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 14:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 15:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 16:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 17:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 18:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 19:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 20:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 21:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 22:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 23:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 24:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 25:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 26:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 27:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 28:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 29:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 30:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 31:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 32:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 33:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
case 34:
BKE_id_free_ex(mainvar, id, free_flag, false);
break;
default:
/* Errors freeing ID's can be hard to track down,
* enable this so VALGRIND or ASAN will give the line number in its error log. */
# define CASE_ID_INDEX(id_index) \
case id_index: \
BKE_id_free_ex(mainvar, id, free_flag, false); \
break
switch ((eID_Index)a) {
CASE_ID_INDEX(INDEX_ID_LI);
CASE_ID_INDEX(INDEX_ID_IP);
CASE_ID_INDEX(INDEX_ID_AC);
CASE_ID_INDEX(INDEX_ID_GD_LEGACY);
CASE_ID_INDEX(INDEX_ID_NT);
CASE_ID_INDEX(INDEX_ID_VF);
CASE_ID_INDEX(INDEX_ID_TXT);
CASE_ID_INDEX(INDEX_ID_SO);
CASE_ID_INDEX(INDEX_ID_MSK);
CASE_ID_INDEX(INDEX_ID_IM);
CASE_ID_INDEX(INDEX_ID_MC);
CASE_ID_INDEX(INDEX_ID_TE);
CASE_ID_INDEX(INDEX_ID_MA);
CASE_ID_INDEX(INDEX_ID_LS);
CASE_ID_INDEX(INDEX_ID_WO);
CASE_ID_INDEX(INDEX_ID_CF);
CASE_ID_INDEX(INDEX_ID_SIM);
CASE_ID_INDEX(INDEX_ID_PA);
CASE_ID_INDEX(INDEX_ID_KE);
CASE_ID_INDEX(INDEX_ID_AR);
CASE_ID_INDEX(INDEX_ID_ME);
CASE_ID_INDEX(INDEX_ID_CU_LEGACY);
CASE_ID_INDEX(INDEX_ID_MB);
CASE_ID_INDEX(INDEX_ID_CV);
CASE_ID_INDEX(INDEX_ID_PT);
CASE_ID_INDEX(INDEX_ID_VO);
CASE_ID_INDEX(INDEX_ID_LT);
CASE_ID_INDEX(INDEX_ID_LA);
CASE_ID_INDEX(INDEX_ID_CA);
CASE_ID_INDEX(INDEX_ID_SPK);
CASE_ID_INDEX(INDEX_ID_LP);
CASE_ID_INDEX(INDEX_ID_OB);
CASE_ID_INDEX(INDEX_ID_GR);
CASE_ID_INDEX(INDEX_ID_PAL);
CASE_ID_INDEX(INDEX_ID_PC);
CASE_ID_INDEX(INDEX_ID_BR);
CASE_ID_INDEX(INDEX_ID_SCE);
CASE_ID_INDEX(INDEX_ID_SCR);
CASE_ID_INDEX(INDEX_ID_WS);
CASE_ID_INDEX(INDEX_ID_WM);
case INDEX_ID_NULL: {
BLI_assert_unreachable();
break;
}
}
# undef CASE_ID_INDEX
#endif
}
BLI_listbase_clear(lb);

View File

@ -1192,7 +1192,7 @@ typedef enum IDRecalcFlag {
* required to address all remaining relationship cases.
* See e.g. how #BKE_library_unused_linked_data_set_tag is doing this.
*/
enum {
typedef enum eID_Index {
/* Special case: Library, should never ever depend on any other type. */
INDEX_ID_LI = 0,
@ -1273,8 +1273,9 @@ enum {
/* Special values. */
INDEX_ID_NULL,
INDEX_ID_MAX,
};
} eID_Index;
#define INDEX_ID_MAX (INDEX_ID_NULL + 1)
#ifdef __cplusplus
}