Fix T68868: Assert in depsgraph debugging logs

Was happening when tagging for LEGACY_0 was used.
This commit is contained in:
Sergey Sharybin
2019-09-03 11:05:36 +02:00
parent abfb8b6963
commit 65db18fc56
2 changed files with 8 additions and 3 deletions

View File

@@ -108,6 +108,8 @@ void DEG_graph_on_visible_update(struct Main *bmain, Depsgraph *depsgraph, const
/* Update all dependency graphs when visible scenes/layers changes. */
void DEG_on_visible_update(struct Main *bmain, const bool do_time);
/* NOTE: Will return NULL if the flag is not known, allowing to gracefully handle situations
* when recalc flag has been removed. */
const char *DEG_update_tag_as_string(IDRecalcFlag flag);
void DEG_id_tag_update(struct ID *id, int flag);

View File

@@ -412,11 +412,15 @@ static void graph_id_tag_update_single_flag(Main *bmain,
string stringify_append_bit(const string &str, IDRecalcFlag tag)
{
const char *tag_name = DEG_update_tag_as_string(tag);
if (tag_name == NULL) {
return str;
}
string result = str;
if (!result.empty()) {
result += ", ";
}
result += DEG_update_tag_as_string(tag);
result += tag_name;
return result;
}
@@ -717,8 +721,7 @@ const char *DEG_update_tag_as_string(IDRecalcFlag flag)
case ID_RECALC_ALL:
return "ALL";
}
BLI_assert(!"Unhandled update flag, should never happen!");
return "UNKNOWN";
return NULL;
}
/* Data-Based Tagging */