From 0e7e398df3a816b7dec1de8902af83d29a08562a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Sat, 2 Nov 2024 10:35:25 +0300 Subject: Replace current_state() with with_toplevel_role() Avoid microallocations that happen in current_state(). --- src/window/mapped.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/window') diff --git a/src/window/mapped.rs b/src/window/mapped.rs index bf4aaa9b..e9f087bd 100644 --- a/src/window/mapped.rs +++ b/src/window/mapped.rs @@ -571,7 +571,7 @@ impl LayoutElement for Mapped { fn has_ssd(&self) -> bool { let toplevel = self.toplevel(); - let mode = toplevel.current_state().decoration_mode; + let mode = with_toplevel_role(self.toplevel(), |role| role.current.decoration_mode); match mode { Some(zxdg_toplevel_decoration_v1::Mode::ServerSide) => true, @@ -712,10 +712,11 @@ impl LayoutElement for Mapped { } fn is_fullscreen(&self) -> bool { - self.toplevel() - .current_state() - .states - .contains(xdg_toplevel::State::Fullscreen) + with_toplevel_role(self.toplevel(), |role| { + role.current + .states + .contains(xdg_toplevel::State::Fullscreen) + }) } fn is_pending_fullscreen(&self) -> bool { -- cgit