diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-05-25 11:37:04 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-25 11:37:04 +0200 |
commit | 0929caea82d20c30c42cde123b7f488fc7404a83 (patch) | |
tree | f00cfc03778a66282671c998b272eb1b4b2818cf | |
parent | a830e633a26c8dc29347e16c275a38a113de2be8 (diff) | |
parent | 6f6ee60e198eb664e2d3f140090a09bf210db2df (diff) |
Merge pull request #19135 from Zylann/fix_find_in_files_2
Fix potential bugs with Find in Files
-rw-r--r-- | editor/find_in_files.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/editor/find_in_files.cpp b/editor/find_in_files.cpp index ddf619866d..004a49e2b4 100644 --- a/editor/find_in_files.cpp +++ b/editor/find_in_files.cpp @@ -109,6 +109,7 @@ void FindInFiles::start() { _current_dir = ""; PoolStringArray init_folder; init_folder.append(_root_dir); + _folders_stack.clear(); _folders_stack.push_back(init_folder); _initial_files_count = 0; @@ -127,11 +128,12 @@ void FindInFiles::_process() { // This part can be moved to a thread if needed OS &os = *OS::get_singleton(); - float duration = 0.0; - while (duration < 1.0 / 120.0) { - float time_before = os.get_ticks_msec(); + float time_before = os.get_ticks_msec(); + while (is_processing()) { _iterate(); - duration += (os.get_ticks_msec() - time_before); + float elapsed = (os.get_ticks_msec() - time_before); + if (elapsed > 1000.0 / 120.0) + break; } } |