aboutsummaryrefslogtreecommitdiff
path: root/src/window
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-11-02 10:35:25 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-11-02 10:53:55 +0300
commit0e7e398df3a816b7dec1de8902af83d29a08562a (patch)
tree68df6a7952484139d12af6fd2c9b10e6b292a443 /src/window
parent86bdc6898bc8a13368ba852692ff0cc248345128 (diff)
downloadniri-0e7e398df3a816b7dec1de8902af83d29a08562a.tar.gz
niri-0e7e398df3a816b7dec1de8902af83d29a08562a.tar.bz2
niri-0e7e398df3a816b7dec1de8902af83d29a08562a.zip
Replace current_state() with with_toplevel_role()
Avoid microallocations that happen in current_state().
Diffstat (limited to 'src/window')
-rw-r--r--src/window/mapped.rs11
1 files changed, 6 insertions, 5 deletions
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 {