]> git.sur5r.net Git - i3/i3/commitdiff
Check if output is disabled in handle_output()
authorTony Crisci <tony@dubstepdish.com>
Thu, 23 Apr 2015 22:21:15 +0000 (18:21 -0400)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 30 Jul 2015 19:35:42 +0000 (21:35 +0200)
Check if the `connection` of the randr output is
XCB_RANDR_CONNECTION_DISONNECTED and disable the output if it is.

This fixes an issue where the output would not be disabled if the output was
physically unplugged from the machine.

src/randr.c

index a4a0f6fd6d36fe7c626d836e7bc23d8c34573cdb..9549c9d5f032bb1bffc7425016b4c7ced0b58945 100644 (file)
@@ -555,6 +555,12 @@ static void handle_output(xcb_connection_t *conn, xcb_randr_output_t id,
         return;
     }
 
+    if (output->connection == XCB_RANDR_CONNECTION_DISCONNECTED) {
+        DLOG("Disabling output %s: it is disconnected\n", new->name);
+        new->to_be_disabled = true;
+        return;
+    }
+
     bool updated = update_if_necessary(&(new->rect.x), crtc->x) |
                    update_if_necessary(&(new->rect.y), crtc->y) |
                    update_if_necessary(&(new->rect.width), crtc->width) |