Merge pull request #65624 from KoBeWi/help_I'm_stuck

Prevent infinite loops in editor help search
This commit is contained in:
Rémi Verschelde 2022-09-13 10:58:25 +02:00
commit ecefae22cb

View file

@ -326,6 +326,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes_init() {
bool EditorHelpSearch::Runner::_phase_match_classes() { bool EditorHelpSearch::Runner::_phase_match_classes() {
DocData::ClassDoc &class_doc = iterator_doc->value; DocData::ClassDoc &class_doc = iterator_doc->value;
if (class_doc.name.is_empty()) { if (class_doc.name.is_empty()) {
++iterator_doc;
return false; return false;
} }
if (!_is_class_disabled_by_feature_profile(class_doc.name)) { if (!_is_class_disabled_by_feature_profile(class_doc.name)) {
@ -432,7 +433,7 @@ bool EditorHelpSearch::Runner::_phase_class_items_init() {
bool EditorHelpSearch::Runner::_phase_class_items() { bool EditorHelpSearch::Runner::_phase_class_items() {
if (!iterator_match) { if (!iterator_match) {
return false; return true;
} }
ClassMatch &match = iterator_match->value; ClassMatch &match = iterator_match->value;
@ -459,10 +460,8 @@ bool EditorHelpSearch::Runner::_phase_member_items_init() {
bool EditorHelpSearch::Runner::_phase_member_items() { bool EditorHelpSearch::Runner::_phase_member_items() {
ClassMatch &match = iterator_match->value; ClassMatch &match = iterator_match->value;
if (!match.doc) { if (!match.doc || match.doc->name.is_empty()) {
return false; ++iterator_match;
}
if (match.doc->name.is_empty()) {
return false; return false;
} }