fix: switch to mango session fail from other vt

This commit is contained in:
DreamMaoMao 2025-12-30 10:25:00 +08:00
parent 35dd788ca3
commit ed1612f1bd
4 changed files with 13 additions and 20 deletions

View file

@ -840,7 +840,8 @@ void init_fadeout_client(Client *c) {
wl_list_insert(&fadeout_clients, &fadeout_cient->fadeout_link);
// 请求刷新屏幕
request_fresh_all_monitors();
if (c->mon)
wlr_output_schedule_frame(c->mon->wlr_output);
}
void client_commit(Client *c) {
@ -859,7 +860,8 @@ void client_commit(Client *c) {
c->animation.should_animate = false;
}
// 请求刷新屏幕
request_fresh_all_monitors();
if (c->mon)
wlr_output_schedule_frame(c->mon->wlr_output);
}
void client_set_pending_state(Client *c) {

View file

@ -249,13 +249,3 @@ struct wlr_scene_tree *wlr_scene_tree_snapshot(struct wlr_scene_node *node,
return snapshot;
}
void request_fresh_all_monitors(void) {
Monitor *m = NULL;
wl_list_for_each(m, &mons, link) {
if (!m->wlr_output->enabled) {
continue;
}
wlr_output_schedule_frame(m->wlr_output);
}
}

View file

@ -467,7 +467,8 @@ void init_fadeout_layers(LayerSurface *l) {
wl_list_insert(&fadeout_layers, &fadeout_layer->fadeout_link);
// 请求刷新屏幕
wlr_output_schedule_frame(l->mon->wlr_output);
if (l->mon)
wlr_output_schedule_frame(l->mon->wlr_output);
}
void layer_set_pending_state(LayerSurface *l) {
@ -550,7 +551,8 @@ void layer_commit(LayerSurface *l) {
l->animation.should_animate = false;
}
// 请求刷新屏幕
wlr_output_schedule_frame(l->mon->wlr_output);
if (l->mon)
wlr_output_schedule_frame(l->mon->wlr_output);
}
bool layer_draw_frame(LayerSurface *l) {