diff options
author | kobewi <kobewi4e@gmail.com> | 2022-09-10 19:34:26 +0200 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2022-09-10 19:34:26 +0200 |
commit | 7fc075d235df742728c04b19690ba8485c9d8bec (patch) | |
tree | 355b105ab3a3e5d8c427636da89c106bc1dbf286 | |
parent | 461037203cc0ec4f8a59422163b37e29e125d5fc (diff) |
Prevent infinite loops in editor help search
-rw-r--r-- | editor/editor_help_search.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index af0cff9ad6..4033fc2269 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -326,6 +326,7 @@ bool EditorHelpSearch::Runner::_phase_match_classes_init() { bool EditorHelpSearch::Runner::_phase_match_classes() { DocData::ClassDoc &class_doc = iterator_doc->value; if (class_doc.name.is_empty()) { + ++iterator_doc; return false; } 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() { if (!iterator_match) { - return false; + return true; } ClassMatch &match = iterator_match->value; @@ -459,10 +460,8 @@ bool EditorHelpSearch::Runner::_phase_member_items_init() { bool EditorHelpSearch::Runner::_phase_member_items() { ClassMatch &match = iterator_match->value; - if (!match.doc) { - return false; - } - if (match.doc->name.is_empty()) { + if (!match.doc || match.doc->name.is_empty()) { + ++iterator_match; return false; } |