diff options
author | emersion <contact@emersion.fr> | 2019-01-17 22:30:24 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-01-18 10:09:10 +0100 |
commit | a737d7ecc4d7f4825ca7879e3449522bc87049be (patch) | |
tree | 7c40fbaebce93738d1f44d32f2d6f059a073e85e /sway/tree | |
parent | dc1eac0cf12593fa20122142f087bbb3bc8e7589 (diff) | |
download | sway-a737d7ecc4d7f4825ca7879e3449522bc87049be.tar.xz |
Better handle outputs without CRTC
This happens if you plug in more outputs than supported by your GPU.
This patch makes it so outputs without CRTCs appear as disabled. As soon as
they get a CRTC (signalled via the mode event), we can enable them.
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/output.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sway/tree/output.c b/sway/tree/output.c index 3c376c6b..21beb504 100644 --- a/sway/tree/output.c +++ b/sway/tree/output.c @@ -78,6 +78,12 @@ void output_enable(struct sway_output *output, struct output_config *oc) { } output->enabled = true; + if (!apply_output_config(oc, output)) { + output->enabled = false; + return; + } + + output->configured = true; list_add(root->outputs, output); output->lx = wlr_output->lx; @@ -104,8 +110,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) { ipc_event_workspace(NULL, ws, "init"); } - apply_output_config(oc, output); - if (ws && config->default_orientation == L_NONE) { // Since the output transformation and resolution could have changed // due to applying the output config, the previously set layout for the |