Merge pull request #330 from DioxusLabs/jk/fix-instant-futures

fix: instantly resolving futures should not use popping
This commit is contained in:
Jon Kelley authored and GitHub committed 2022-03-24 12:31:20 -04:00
commit 14099e9889
2 files changed
+32 -3

No files matched your search

+4 -3
View File
@@ -61,9 +61,10 @@ impl DesktopController {
loop {
dom.wait_for_work().await;
let mut muts = dom.work_with_deadline(|| false);
while let Some(edit) = muts.pop() {
let muts = dom.work_with_deadline(|| false);
for edit in muts {
edit_queue
.lock()
.unwrap()
@@ -97,7 +98,7 @@ impl DesktopController {
let mut queue = self.pending_edits.lock().unwrap();
let (_id, view) = self.webviews.iter_mut().next().unwrap();
while let Some(edit) = queue.pop() {
for edit in queue.drain(..) {
view.evaluate_script(&format!("window.interpreter.handleEdits({})", edit))
.unwrap();
}