From da6693c88ab5edac2ec3c81730f112be67abe278 Mon Sep 17 00:00:00 2001 From: ToxicMushroom <32853531+ToxicMushroom@users.noreply.github.com> Date: Wed, 1 Oct 2025 16:25:09 +0200 Subject: [PATCH] fix: don't print unapplicable warnings when a popup surface has its viewport set. --- src/server/event.rs | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/server/event.rs b/src/server/event.rs index 1739241..c877b7d 100644 --- a/src/server/event.rs +++ b/src/server/event.rs @@ -392,12 +392,23 @@ pub(super) fn update_surface_viewport( } debug!("{} viewport: {width}x{height}", surface.id()); if let Some(hints) = size_hints { - let Some(SurfaceRole::Toplevel(Some(data))) = &role else { - warn!( - "Trying to update size hints on {}, but toplevel role data is missing", - surface.id() - ); - return; + let data = match &role { + Some(SurfaceRole::Toplevel(Some(data))) => data, + Some(SurfaceRole::Toplevel(None)) => { + warn!( + "Trying to update size hints on {}, but toplevel role data is missing", + surface.id() + ); + return; + } + Some(SurfaceRole::Popup(_)) => { + // Popups don't have min/max size hints. + return; + } + None => { + warn!("No role set on {}.", surface.id()); + return; + } }; if let Some(min) = hints.min_size {