From 8e38112ad353fa5bf918225340fc9c92fddef31a Mon Sep 17 00:00:00 2001 From: junglie85 Date: Tue, 17 Mar 2026 02:54:42 +0000 Subject: [PATCH] Add Send and Sync to OwnedDisplayHandle (#4509) --- winit-core/src/event_loop/mod.rs | 4 ++-- winit/src/changelog/unreleased.md | 1 + winit/tests/send_objects.rs | 5 +++++ winit/tests/sync_object.rs | 5 +++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/winit-core/src/event_loop/mod.rs b/winit-core/src/event_loop/mod.rs index 0337e5c63..3ef3ed5f5 100644 --- a/winit-core/src/event_loop/mod.rs +++ b/winit-core/src/event_loop/mod.rs @@ -176,11 +176,11 @@ pub trait EventLoopProxyProvider: Send + Sync + Debug { /// - A reference-counted pointer to the underlying type. #[derive(Clone)] pub struct OwnedDisplayHandle { - pub(crate) handle: Arc, + pub(crate) handle: Arc, } impl OwnedDisplayHandle { - pub fn new(handle: Arc) -> Self { + pub fn new(handle: Arc) -> Self { Self { handle } } } diff --git a/winit/src/changelog/unreleased.md b/winit/src/changelog/unreleased.md index 89a7578e2..92bffed22 100644 --- a/winit/src/changelog/unreleased.md +++ b/winit/src/changelog/unreleased.md @@ -45,6 +45,7 @@ changelog entry. - Add `keyboard` support for OpenHarmony. - On iOS, add Apple Pencil support with force, altitude, and azimuth data. - On Redox, add support for missing keyboard scancodes. +- Implement `Send` and `Sync` for `OwnedDisplayHandle`. ### Changed diff --git a/winit/tests/send_objects.rs b/winit/tests/send_objects.rs index 48bfa3b94..da8c90b1e 100644 --- a/winit/tests/send_objects.rs +++ b/winit/tests/send_objects.rs @@ -28,3 +28,8 @@ fn custom_cursor_send() { needs_send::(); needs_send::(); } + +#[test] +fn owned_display_handle_send() { + needs_send::(); +} diff --git a/winit/tests/sync_object.rs b/winit/tests/sync_object.rs index 1c156c012..0cea3cb00 100644 --- a/winit/tests/sync_object.rs +++ b/winit/tests/sync_object.rs @@ -21,3 +21,8 @@ fn custom_cursor_sync() { needs_sync::(); needs_sync::(); } + +#[test] +fn owned_display_handle_sync() { + needs_sync::(); +}