From: Michael Stapelberg Date: Fri, 25 Jan 2013 13:14:06 +0000 (+0100) Subject: Bugfix: fix crash when disabling output without any windows (Thanks xeen, knopwob) X-Git-Tag: 4.5~45 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e0cfe1f8c035d787ab4930839bd24507a3f01abb;p=i3%2Fi3 Bugfix: fix crash when disabling output without any windows (Thanks xeen, knopwob) fixes #919 --- diff --git a/src/render.c b/src/render.c index 476d1ca8..a0d66d82 100644 --- a/src/render.c +++ b/src/render.c @@ -50,6 +50,10 @@ static void render_l_output(Con *con) { * and take the short-cut to render it directly (the user does not want to * see the dockareas in that case) */ Con *ws = con_get_fullscreen_con(content, CF_OUTPUT); + if (!ws) { + DLOG("Skipping this output because it is currently being destroyed.\n"); + return; + } Con *fullscreen = con_get_fullscreen_con(ws, CF_OUTPUT); if (fullscreen) { fullscreen->rect = con->rect; @@ -245,6 +249,10 @@ void render_con(Con *con, bool render_fullscreen) { continue; /* Get the active workspace of that output */ Con *content = output_get_content(output); + if (!content || TAILQ_EMPTY(&(content->focus_head))) { + DLOG("Skipping this output because it is currently being destroyed.\n"); + continue; + } Con *workspace = TAILQ_FIRST(&(content->focus_head)); Con *fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT); Con *child;