Merge pull request #24194 from bojidar-bg/23567-fix-message-queue-overflow
Make thumbnail cache less tasking on the message queue
This commit is contained in:
commit
ce3f3a9f82
3 changed files with 6 additions and 5 deletions
|
@ -209,9 +209,9 @@ void MessageQueue::statistics() {
|
|||
} break;
|
||||
}
|
||||
|
||||
} else {
|
||||
//object was deleted
|
||||
print_line("Object was deleted while awaiting a callback");
|
||||
} else {
|
||||
|
||||
null_count++;
|
||||
}
|
||||
|
|
|
@ -830,11 +830,12 @@ void EditorFileDialog::update_file_list() {
|
|||
d["name"] = files.front()->get();
|
||||
d["dir"] = false;
|
||||
String fullpath = cdir.plus_file(files.front()->get());
|
||||
d["path"] = fullpath;
|
||||
item_list->set_item_metadata(item_list->get_item_count() - 1, d);
|
||||
|
||||
if (display_mode == DISPLAY_THUMBNAILS) {
|
||||
EditorResourcePreview::get_singleton()->queue_resource_preview(fullpath, this, "_thumbnail_result", fullpath);
|
||||
}
|
||||
d["path"] = fullpath;
|
||||
item_list->set_item_metadata(item_list->get_item_count() - 1, d);
|
||||
|
||||
if (file->get_text() == files.front()->get())
|
||||
item_list->set_current(item_list->get_item_count() - 1);
|
||||
|
|
|
@ -326,7 +326,7 @@ void EditorResourcePreview::queue_edited_resource_preview(const Ref<Resource> &p
|
|||
if (cache.has(path_id) && cache[path_id].last_hash == p_res->hash_edited_version()) {
|
||||
|
||||
cache[path_id].order = order++;
|
||||
p_receiver->call_deferred(p_receiver_func, path_id, cache[path_id].preview, cache[path_id].small_preview, p_userdata);
|
||||
p_receiver->call(p_receiver_func, path_id, cache[path_id].preview, cache[path_id].small_preview, p_userdata);
|
||||
preview_mutex->unlock();
|
||||
return;
|
||||
}
|
||||
|
@ -351,7 +351,7 @@ void EditorResourcePreview::queue_resource_preview(const String &p_path, Object
|
|||
preview_mutex->lock();
|
||||
if (cache.has(p_path)) {
|
||||
cache[p_path].order = order++;
|
||||
p_receiver->call_deferred(p_receiver_func, p_path, cache[p_path].preview, cache[p_path].small_preview, p_userdata);
|
||||
p_receiver->call(p_receiver_func, p_path, cache[p_path].preview, cache[p_path].small_preview, p_userdata);
|
||||
preview_mutex->unlock();
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue