From 8c98dfc51a4b313c3f4c019533069a6cc7c08a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 29 Feb 2020 09:26:49 +0100 Subject: [PATCH] term: loop through all sub-surfaces when switching sync/desync mode --- terminal.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/terminal.c b/terminal.c index 9388d0d7..0b3091f8 100644 --- a/terminal.c +++ b/terminal.c @@ -27,6 +27,7 @@ #include "slave.h" #include "vt.h" +#define ALEN(v) (sizeof(v) / sizeof(v[0])) #define min(x, y) ((x) < (y) ? (x) : (y)) #define max(x, y) ((x) > (y) ? (x) : (y)) @@ -1636,14 +1637,14 @@ term_visual_focus_in(struct terminal *term) #if 1 /* Weston seems to be buggy with synchronized CSDs */ if (term->window->use_csd == CSD_YES) { - for (int i = 0; i < 5; i++) + for (int i = 0; i < ALEN(term->window->csd.surface); i++) wl_subsurface_set_desync(term->window->csd.sub_surface[i]); } #endif render_csd(term); #if 1 if (term->window->use_csd == CSD_YES) { - for (int i = 0; i < 5; i++) + for (int i = 0; i < ALEN(term->window->csd.surface); i++) wl_subsurface_set_sync(term->window->csd.sub_surface[i]); } #endif @@ -1662,14 +1663,14 @@ term_visual_focus_out(struct terminal *term) #if 1 if (term->window->use_csd == CSD_YES) { - for (int i = 0; i < 5; i++) + for (int i = 0; i < ALEN(term->window->csd.surface); i++) wl_subsurface_set_desync(term->window->csd.sub_surface[i]); } #endif render_csd(term); #if 1 if (term->window->use_csd == CSD_YES) { - for (int i = 0; i < 5; i++) + for (int i = 0; i < ALEN(term->window->csd.surface); i++) wl_subsurface_set_sync(term->window->csd.sub_surface[i]); } #endif