]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: fix crash when disabling output without any windows (Thanks xeen, knopwob)
authorMichael Stapelberg <michael@stapelberg.de>
Fri, 25 Jan 2013 13:14:06 +0000 (14:14 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 25 Jan 2013 13:14:06 +0000 (14:14 +0100)
fixes #919

src/render.c

index 476d1ca8e1fa4bc909e856e7ee88d3e79517d06c..a0d66d8256835bcff30a6d4d4fdec2f8d5884670 100644 (file)
@@ -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;