From b539b4bf9a4bbc7c9639a739c43b7eb2a9e1a7fc Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Mon, 26 May 2025 14:26:59 +0800 Subject: [PATCH] opt: Avoid setting incorrect surfaces --- src/maomao.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/maomao.c b/src/maomao.c index c6928c6..381adb5 100644 --- a/src/maomao.c +++ b/src/maomao.c @@ -1244,6 +1244,10 @@ void client_apply_clip(Client *c) { client_get_clip(c, &clip_box); offset = clip_to_hide(c, &clip_box); apply_border(c, clip_box, offset.x, offset.y); + + if(clip_box.width <= 0 || clip_box.height <= 0) + return; + wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node, &clip_box); buffer_set_effect(c, (animationScale){0, 0, 0, 0, false}); return; @@ -1267,9 +1271,12 @@ void client_apply_clip(Client *c) { } offset = clip_to_hide(c, &clip_box); + apply_border(c, clip_box, offset.x, offset.y); + + if(clip_box.width <= 0 || clip_box.height <= 0) + return; wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node, &clip_box); - apply_border(c, clip_box, offset.x, offset.y); scale_data.should_scale = true; scale_data.width = clip_box.width - 2 * c->bw;