mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 14:21:16 +00:00
Fix constant wakeups with the winit event loop
Commit 2b7a1eebcd
introduced a deep clone of the winit event loop proxy inside the event run function callback.
That introduced constant wakeups because cloning an event loop
proxy creates a new one, which adds a source to the cf run loop and also
explicitly triggers a wakeup.
Fortunately we don't really need that clone, a reference works just fine and is faster.
This commit is contained in:
parent
161a35ef5c
commit
9726df9c00
1 changed files with 2 additions and 2 deletions
|
@ -39,7 +39,7 @@ impl NotRunningEventLoop {
|
|||
|
||||
struct RunningEventLoop<'a> {
|
||||
event_loop_target: &'a winit::event_loop::EventLoopWindowTarget<CustomEvent>,
|
||||
event_loop_proxy: winit::event_loop::EventLoopProxy<CustomEvent>,
|
||||
event_loop_proxy: &'a winit::event_loop::EventLoopProxy<CustomEvent>,
|
||||
}
|
||||
|
||||
pub(crate) trait EventLoopInterface {
|
||||
|
@ -186,7 +186,7 @@ pub fn run(quit_behavior: sixtyfps_corelib::backend::EventLoopQuitBehavior) {
|
|||
event_loop_target: &EventLoopWindowTarget<CustomEvent>,
|
||||
control_flow: &mut ControlFlow| {
|
||||
let running_instance =
|
||||
RunningEventLoop { event_loop_target, event_loop_proxy: event_loop_proxy.clone() };
|
||||
RunningEventLoop { event_loop_target, event_loop_proxy: &event_loop_proxy };
|
||||
CURRENT_WINDOW_TARGET.set(&running_instance, || {
|
||||
*control_flow = ControlFlow::Wait;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue