yoda-v2: color_picker Theme ref + context_menu/menu ungate winit
Two perf + correctness wins packaged as +yoda-v2 (version bump 0.1.0-yoda -> 0.1.0-yoda.2): 1. color_picker::draw() — use the theme: &Theme parameter already passed to draw() instead of THEME.lock().unwrap().clone() which cloned the whole Theme on every redraw (src/widget/color_picker/mod.rs:622). Upstreamable. 2. Dropped feature = "winit" from 21 combined cfg attrs in context_menu.rs, menu/menu_bar.rs, menu/menu_inner.rs. These triple-gates (wayland + winit + surface-message) were silently disabling all context-menu and menubar popup creation in yoda apps (which don't activate the winit feature). Now the code only gates on wayland + surface-message, which is our actual runtime path. Matches the ungate we already did on surface/action.rs in Phase 3d. cargo check --lib passes. All 4 consumer apps rebuilt + installed as +yoda-v2 (backup of previous yoda binaries in .pre-yoda-v2 siblings).
This commit is contained in:
parent
aec3eb615f
commit
8ab7b15807
5 changed files with 6 additions and 23 deletions
|
|
@ -6,7 +6,6 @@
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
use crate::app::cosmic::{WINDOWING_SYSTEM, WindowingSystem};
|
||||
|
|
@ -67,7 +66,6 @@ impl<Message: Clone + 'static> ContextMenu<'_, Message> {
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
#[allow(clippy::too_many_lines)]
|
||||
|
|
@ -377,7 +375,6 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, crate::Renderer>
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
if matches!(WINDOWING_SYSTEM.get(), Some(WindowingSystem::Wayland))
|
||||
|
|
@ -421,7 +418,6 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, crate::Renderer>
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
if matches!(WINDOWING_SYSTEM.get(), Some(WindowingSystem::Wayland)) {
|
||||
|
|
@ -443,7 +439,6 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, crate::Renderer>
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
if matches!(WINDOWING_SYSTEM.get(), Some(WindowingSystem::Wayland))
|
||||
|
|
@ -482,7 +477,6 @@ impl<Message: 'static + Clone> Widget<Message, crate::Theme, crate::Renderer>
|
|||
#[cfg(all(
|
||||
feature = "wayland",
|
||||
target_os = "linux",
|
||||
feature = "winit",
|
||||
feature = "surface-message"
|
||||
))]
|
||||
if matches!(WINDOWING_SYSTEM.get(), Some(WindowingSystem::Wayland))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue