mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-06-19 14:33:16 -04:00
fix: error changse surface scene in minimized client
will cause crash if close all client in overview, when has minimized client before toggle overview
This commit is contained in:
parent
4a9ab3dd9f
commit
373ebfac33
3 changed files with 12 additions and 8 deletions
|
|
@ -291,7 +291,7 @@ void buffer_set_effect(Client *c, BufferData data) {
|
|||
data.corner_location = CORNER_LOCATION_NONE;
|
||||
}
|
||||
|
||||
if (c->mon->isoverview && config.ov_no_resize) {
|
||||
if (c->overview_scene_surface) {
|
||||
wlr_scene_node_for_each_buffer(
|
||||
&c->scene_surface->node, scene_buffer_apply_overview_effect, &data);
|
||||
} else {
|
||||
|
|
@ -822,7 +822,7 @@ void client_apply_clip(Client *c, float factor) {
|
|||
enum corner_location current_corner_location =
|
||||
set_client_corner_location(c);
|
||||
|
||||
if (!config.animations && !c->mon->isoverview) {
|
||||
if (!config.animations && !c->overview_scene_surface) {
|
||||
c->animation.running = false;
|
||||
c->need_output_flush = false;
|
||||
c->animainit_geom = c->current = c->pending = c->animation.current =
|
||||
|
|
@ -839,7 +839,7 @@ void client_apply_clip(Client *c, float factor) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!c->mon->isoverview || !config.ov_no_resize) {
|
||||
if (!c->overview_scene_surface) {
|
||||
wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node,
|
||||
&clip_box);
|
||||
}
|
||||
|
|
@ -891,7 +891,7 @@ void client_apply_clip(Client *c, float factor) {
|
|||
}
|
||||
|
||||
// 应用窗口表面剪切
|
||||
if (!c->mon->isoverview || !config.ov_no_resize) {
|
||||
if (!c->overview_scene_surface) {
|
||||
wlr_scene_subsurface_tree_set_clip(&c->scene_surface->node, &clip_box);
|
||||
}
|
||||
|
||||
|
|
@ -907,7 +907,7 @@ void client_apply_clip(Client *c, float factor) {
|
|||
buffer_data.height = clip_box.height;
|
||||
buffer_data.corner_location = current_corner_location;
|
||||
|
||||
if (factor == 1.0 && !c->mon->isoverview) {
|
||||
if (factor == 1.0 && !c->overview_scene_surface) {
|
||||
buffer_data.width_scale = 1.0;
|
||||
buffer_data.height_scale = 1.0;
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue