Do not cache the doc information written by user in the script in Inspector
The doc information of the edited object is cached to reuse it in the next `EditorInspector::update_tree()` call. This is not suitable for doc information written by users in the script because it is easily changed.
This commit is contained in:
parent
ee86505136
commit
fd75bb562e
1 changed files with 10 additions and 4 deletions
|
@ -2808,18 +2808,22 @@ void EditorInspector::update_tree() {
|
|||
category->label = label;
|
||||
|
||||
if (use_doc_hints) {
|
||||
String descr = "";
|
||||
// Sets the category tooltip to show documentation.
|
||||
if (!class_descr_cache.has(doc_name)) {
|
||||
String descr;
|
||||
DocTools *dd = EditorHelp::get_doc_data();
|
||||
HashMap<String, DocData::ClassDoc>::Iterator E = dd->class_list.find(doc_name);
|
||||
if (E) {
|
||||
descr = DTR(E->value.brief_description);
|
||||
}
|
||||
class_descr_cache[doc_name] = descr;
|
||||
if (ClassDB::class_exists(doc_name)) {
|
||||
class_descr_cache[doc_name] = descr; // Do not cache the class description of scripts.
|
||||
}
|
||||
} else {
|
||||
descr = class_descr_cache[doc_name];
|
||||
}
|
||||
|
||||
category->set_tooltip_text(p.name + "::" + (class_descr_cache[doc_name].is_empty() ? "" : class_descr_cache[doc_name]));
|
||||
category->set_tooltip_text(p.name + "::" + descr);
|
||||
}
|
||||
|
||||
// Add editors at the start of a category.
|
||||
|
@ -3212,7 +3216,9 @@ void EditorInspector::update_tree() {
|
|||
}
|
||||
}
|
||||
|
||||
doc_info_cache[classname][propname] = doc_info;
|
||||
if (ClassDB::class_exists(classname)) {
|
||||
doc_info_cache[classname][propname] = doc_info; // Do not cache the doc information of scripts.
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue