From: Reginald Kennedy Date: Fri, 22 Apr 2016 20:45:03 +0000 (+0800) Subject: Fix segfault when handling RRScreenChangeNotify. X-Git-Tag: SPECTRWM_3_0_0~19 X-Git-Url: https://code.delx.au/spectrwm/commitdiff_plain/53fae91f1dcc2be2fb99b5bab38a5f2cca07a000 Fix segfault when handling RRScreenChangeNotify. Fixes #118 --- diff --git a/spectrwm.c b/spectrwm.c index f9a8005..8026ba9 100644 --- a/spectrwm.c +++ b/spectrwm.c @@ -11569,32 +11569,27 @@ screenchange(xcb_randr_screen_change_notify_event_t *e) print_win_geom(e->root); #endif /* add bars to all regions */ - for (i = 0; i < num_screens; i++) { - TAILQ_FOREACH(r, &screens[i].rl, entry) - bar_setup(r); - } + TAILQ_FOREACH(r, &screens[i].rl, entry) + bar_setup(r); /* Stack all regions. */ TAILQ_FOREACH(r, &screens[i].rl, entry) stack(r); - /* Make sure a region has focus on each screen. */ - for (i = 0; i < num_screens; i++) { - if (screens[i].r_focus == NULL) { - r = TAILQ_FIRST(&screens[i].rl); - if (r != NULL) - focus_region(r); - } + /* Make sure a region has focus. */ + if (screens[i].r_focus == NULL) { + r = TAILQ_FIRST(&screens[i].rl); + if (r != NULL) + focus_region(r); } focus_flush(); /* Update workspace state and bar on all regions. */ - for (i = 0; i < num_screens; i++) - TAILQ_FOREACH(r, &screens[i].rl, entry) { - r->ws->state = SWM_WS_STATE_MAPPED; - bar_draw(r->bar); - } + TAILQ_FOREACH(r, &screens[i].rl, entry) { + r->ws->state = SWM_WS_STATE_MAPPED; + bar_draw(r->bar); + } } void