aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xwayland/xwm.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/xwayland/xwm.c b/xwayland/xwm.c
index c75f2be7..8cc64a12 100644
--- a/xwayland/xwm.c
+++ b/xwayland/xwm.c
@@ -290,15 +290,18 @@ static void xwm_set_net_client_list(struct wlr_xwm *xwm) {
}
}
- xcb_window_t *windows = malloc(sizeof(xcb_window_t) * mapped_surfaces);
- if (!windows) {
- return;
- }
+ xcb_window_t *windows = NULL;
+ if (mapped_surfaces > 0) {
+ xcb_window_t *windows = malloc(sizeof(*windows) * mapped_surfaces);
+ if (!windows) {
+ return;
+ }
- size_t index = 0;
- wl_list_for_each(surface, &xwm->surfaces, link) {
- if (surface->surface != NULL && surface->surface->mapped) {
- windows[index++] = surface->window_id;
+ size_t index = 0;
+ wl_list_for_each(surface, &xwm->surfaces, link) {
+ if (surface->surface != NULL && surface->surface->mapped) {
+ windows[index++] = surface->window_id;
+ }
}
}