crates/gpui/screenshot.png 🔗
Dzmitry Malyshau created
crates/gpui/screenshot.png | 0
crates/gpui/src/platform/linux/dispatcher.rs | 7 +++++++
crates/gpui/src/platform/linux/platform.rs | 7 +++----
3 files changed, 10 insertions(+), 4 deletions(-)
@@ -46,6 +46,13 @@ impl LinuxDispatcher {
main_thread_id: thread::current().id(),
}
}
+
+ pub fn tick_main(&self) {
+ assert!(self.is_main_thread());
+ if let Ok(runnable) = self.main_receiver.try_recv() {
+ runnable.run();
+ }
+ }
}
impl PlatformDispatcher for LinuxDispatcher {
@@ -3,9 +3,8 @@
use crate::{
Action, AnyWindowHandle, BackgroundExecutor, Bounds, ClipboardItem, CursorStyle, DisplayId,
ForegroundExecutor, Keymap, LinuxDispatcher, LinuxDisplay, LinuxTextSystem, LinuxWindow,
- LinuxWindowState, Menu, PathPromptOptions, Platform, PlatformDispatcher as _, PlatformDisplay,
- PlatformInput, PlatformTextSystem, PlatformWindow, Point, Result, SemanticVersion, Size, Task,
- WindowOptions,
+ LinuxWindowState, Menu, PathPromptOptions, Platform, PlatformDisplay, PlatformInput,
+ PlatformTextSystem, PlatformWindow, Point, Result, SemanticVersion, Size, Task, WindowOptions,
};
use collections::{HashMap, HashSet};
@@ -121,7 +120,7 @@ impl Platform for LinuxPlatform {
}
_ => {}
}
- self.0.lock().dispatcher.tick(false);
+ self.0.lock().dispatcher.tick_main();
}
}