windows: Fix main thread blocking when resizing or moving window (#10758)

Connection: Fix #10703 


https://github.com/zed-industries/zed/assets/14981363/59abfab7-ebb2-4da7-ad13-0a9e42f9c1d3




Release Notes:

- N/A
This commit is contained in:
张小白 2024-04-20 05:40:21 +08:00 committed by GitHub
parent c3bcfb374c
commit fee2065b64
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 42 additions and 4 deletions

View file

@ -78,6 +78,13 @@ impl WindowsPlatformInner {
.find(|entry| *entry == &hwnd)
.and_then(|hwnd| try_get_window_inner(*hwnd))
}
#[inline]
pub fn run_foreground_tasks(&self) {
for runnable in self.main_receiver.drain() {
runnable.run();
}
}
}
#[derive(Default)]
@ -182,10 +189,9 @@ impl WindowsPlatform {
Self { inner }
}
#[inline]
fn run_foreground_tasks(&self) {
for runnable in self.inner.main_receiver.drain() {
runnable.run();
}
self.inner.run_foreground_tasks();
}
fn redraw_all(&self) {