Fix mistake in previous commit.
This commit is contained in:
@@ -169,7 +169,7 @@ struct GSet *BKE_main_gset_create(struct Main *bmain, struct GSet *gset);
|
||||
{ \
|
||||
ListBase *_lb; \
|
||||
FOREACH_MAIN_LISTBASE_BEGIN(_bmain, _lb) { \
|
||||
FOREACH_MAIN_LISTBASE_ID_BEGIN(_lbarray[_i], _id)
|
||||
FOREACH_MAIN_LISTBASE_ID_BEGIN(_lb, _id)
|
||||
|
||||
#define FOREACH_MAIN_ID_END \
|
||||
FOREACH_MAIN_LISTBASE_ID_END; \
|
||||
|
||||
@@ -149,29 +149,34 @@ bool BLO_main_validate_libraries(Main *bmain, ReportList *reports)
|
||||
/** Check (and fix if needed) that shape key's 'from' pointer is valid. */
|
||||
bool BLO_main_validate_shapekeys(Main *bmain, ReportList *reports)
|
||||
{
|
||||
ListBase *lb;
|
||||
ID *id;
|
||||
bool is_valid = true;
|
||||
|
||||
BKE_main_lock(bmain);
|
||||
|
||||
FOREACH_MAIN_ID_BEGIN(bmain, id)
|
||||
FOREACH_MAIN_LISTBASE_BEGIN(bmain, lb)
|
||||
{
|
||||
if (!BKE_key_idtype_support(GS(id->name))) {
|
||||
break;
|
||||
}
|
||||
if (id->lib == NULL) {
|
||||
/* We assume lib data is valid... */
|
||||
Key *shapekey = BKE_key_from_id(id);
|
||||
if (shapekey != NULL && shapekey->from != id) {
|
||||
is_valid = false;
|
||||
BKE_reportf(reports, RPT_ERROR,
|
||||
"ID %s uses shapekey %s, but its 'from' pointer is invalid (%p), fixing...",
|
||||
id->name, shapekey->id.name, shapekey->from);
|
||||
shapekey->from = id;
|
||||
FOREACH_MAIN_LISTBASE_ID_BEGIN(lb, id)
|
||||
{
|
||||
if (!BKE_key_idtype_support(GS(id->name))) {
|
||||
break;
|
||||
}
|
||||
if (id->lib == NULL) {
|
||||
/* We assume lib data is valid... */
|
||||
Key *shapekey = BKE_key_from_id(id);
|
||||
if (shapekey != NULL && shapekey->from != id) {
|
||||
is_valid = false;
|
||||
BKE_reportf(reports, RPT_ERROR,
|
||||
"ID %s uses shapekey %s, but its 'from' pointer is invalid (%p), fixing...",
|
||||
id->name, shapekey->id.name, shapekey->from);
|
||||
shapekey->from = id;
|
||||
}
|
||||
}
|
||||
}
|
||||
FOREACH_MAIN_LISTBASE_ID_END;
|
||||
}
|
||||
FOREACH_MAIN_ID_END;
|
||||
FOREACH_MAIN_LISTBASE_END;
|
||||
|
||||
BKE_main_unlock(bmain);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user