summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2018-05-25 11:37:04 +0200
committerGitHub <noreply@github.com>2018-05-25 11:37:04 +0200
commit0929caea82d20c30c42cde123b7f488fc7404a83 (patch)
treef00cfc03778a66282671c998b272eb1b4b2818cf
parenta830e633a26c8dc29347e16c275a38a113de2be8 (diff)
parent6f6ee60e198eb664e2d3f140090a09bf210db2df (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.cpp10
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;
}
}