Browse Source

Unpin & upgrade winit to 0.30.5 (#4939)

This updates winit to 0.30.5. 

https://github.com/emilk/egui/pull/4849 Had to pin the version to
0.30.2, as a Winit patch changed the behavior of selecting a theme.
Winit 0.30.5 reverts this, so we could stick with `window.theme()`, but
the newly added `ActiveEventLoop::system_theme` is more like what egui
wants anyway, as individual windows can have theme overrides.

Also bump `smithay-clipboard` to prevent some now duplicate
dependencies.
pull/4953/head
Arthur Brussee 3 months ago
committed by GitHub
parent
commit
1f6ae49a5f
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 36
      Cargo.lock
  2. 4
      Cargo.toml
  3. 2
      crates/eframe/src/native/glow_integration.rs
  4. 4
      crates/eframe/src/native/wgpu_integration.rs
  5. 2
      crates/egui-winit/Cargo.toml
  6. 3
      crates/egui_glow/examples/pure_glow.rs
  7. 3
      crates/egui_glow/src/winit.rs

36
Cargo.lock

@ -632,9 +632,9 @@ dependencies = [
[[package]]
name = "calloop"
version = "0.12.4"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298"
checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec"
dependencies = [
"bitflags 2.6.0",
"log",
@ -646,9 +646,9 @@ dependencies = [
[[package]]
name = "calloop-wayland-source"
version = "0.2.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02"
checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20"
dependencies = [
"calloop",
"rustix 0.38.21",
@ -3490,9 +3490,9 @@ dependencies = [
[[package]]
name = "sctk-adwaita"
version = "0.9.1"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7555fcb4f753d095d734fdefebb0ad8c98478a21db500492d87c55913d3b0086"
checksum = "b6277f0217056f77f1d8f49f2950ac6c278c0d607c45f5ee99328d792ede24ec"
dependencies = [
"ab_glyph",
"log",
@ -3627,9 +3627,9 @@ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
[[package]]
name = "smithay-client-toolkit"
version = "0.18.1"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a"
checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016"
dependencies = [
"bitflags 2.6.0",
"calloop",
@ -3652,9 +3652,9 @@ dependencies = [
[[package]]
name = "smithay-clipboard"
version = "0.7.0"
version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bb62b280ce5a5cba847669933a0948d00904cf83845c944eae96a4738cea1a6"
checksum = "cc8216eec463674a0e90f29e0ae41a4db573ec5b56b1c6c1c71615d249b6d846"
dependencies = [
"libc",
"smithay-client-toolkit",
@ -4322,9 +4322,9 @@ dependencies = [
[[package]]
name = "wayland-protocols"
version = "0.31.2"
version = "0.32.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4"
checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
@ -4334,9 +4334,9 @@ dependencies = [
[[package]]
name = "wayland-protocols-plasma"
version = "0.2.0"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23803551115ff9ea9bce586860c5c5a971e360825a0309264102a9495a5ff479"
checksum = "f79f2d57c7fcc6ab4d602adba364bf59a5c24de57bd194486bf9b8360e06bfc4"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
@ -4347,9 +4347,9 @@ dependencies = [
[[package]]
name = "wayland-protocols-wlr"
version = "0.2.0"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6"
checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953"
dependencies = [
"bitflags 2.6.0",
"wayland-backend",
@ -4849,9 +4849,9 @@ checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
[[package]]
name = "winit"
version = "0.30.2"
version = "0.30.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dc930d6cfbf53c4fe0b95689cdc2e17b8658c3f4214b9953298ccb5a1a15c90"
checksum = "0be9e76a1f1077e04a411f0b989cbd3c93339e1771cb41e71ac4aee95bfd2c67"
dependencies = [
"ahash",
"android-activity",

4
Cargo.toml

@ -95,9 +95,7 @@ wgpu = { version = "22.0.0", default-features = false, features = [
# Make the renderer `Sync` even on wasm32, because it makes the code simpler:
"fragile-send-sync-non-atomic-wasm",
] }
# Currently can't upgrade above 0.30.2 due to https://github.com/rust-windowing/winit/issues/3837
winit = { version = "=0.30.2", default-features = false }
winit = { version = "0.30.5", default-features = false }
[workspace.lints.rust]
unsafe_code = "deny"

2
crates/eframe/src/native/glow_integration.rs

@ -1114,7 +1114,7 @@ impl GlutinWindowContext {
viewport_id,
event_loop,
Some(window.scale_factor() as f32),
window.theme(),
event_loop.system_theme(),
self.max_texture_side,
)
});

4
crates/eframe/src/native/wgpu_integration.rs

@ -241,7 +241,7 @@ impl WgpuWinitApp {
ViewportId::ROOT,
event_loop,
Some(window.scale_factor() as f32),
window.theme(),
event_loop.system_theme(),
painter.max_texture_side(),
);
@ -869,7 +869,7 @@ impl Viewport {
viewport_id,
event_loop,
Some(window.scale_factor() as f32),
window.theme(),
event_loop.system_theme(),
painter.max_texture_side(),
));

2
crates/egui-winit/Cargo.toml

@ -80,7 +80,7 @@ serde = { workspace = true, optional = true }
webbrowser = { version = "1.0.0", optional = true }
[target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]
smithay-clipboard = { version = "0.7.0", optional = true }
smithay-clipboard = { version = "0.7.2", optional = true }
# The wayland-cursor normally selected doesn't properly enable all the features it uses
# and thus doesn't compile as it is used in egui-winit. This is fixed upstream, so force

3
crates/egui_glow/examples/pure_glow.rs

@ -192,8 +192,7 @@ impl winit::application::ApplicationHandler<UserEvent> for GlowApp {
let gl = std::sync::Arc::new(gl);
gl_window.window().set_visible(true);
let egui_glow =
egui_glow::EguiGlow::new(event_loop, &gl_window.window, gl.clone(), None, None, true);
let egui_glow = egui_glow::EguiGlow::new(event_loop, gl.clone(), None, None, true);
let event_loop_proxy = egui::mutex::Mutex::new(self.proxy.clone());
egui_glow

3
crates/egui_glow/src/winit.rs

@ -24,7 +24,6 @@ impl EguiGlow {
/// For automatic shader version detection set `shader_version` to `None`.
pub fn new(
event_loop: &winit::event_loop::ActiveEventLoop,
window: &winit::window::Window,
gl: std::sync::Arc<glow::Context>,
shader_version: Option<ShaderVersion>,
native_pixels_per_point: Option<f32>,
@ -43,7 +42,7 @@ impl EguiGlow {
ViewportId::ROOT,
event_loop,
native_pixels_per_point,
window.theme(),
event_loop.system_theme(),
Some(painter.max_texture_side()),
);

Loading…
Cancel
Save