aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/output.c
diff options
context:
space:
mode:
authorLibravatar Rouven Czerwinski <rouven@czerwinskis.de>2018-10-28 10:39:26 +0100
committerLibravatar Rouven Czerwinski <rouven@czerwinskis.de>2018-10-28 11:06:15 +0100
commite4df675840fdef182b5589a81898c7b59ac00aae (patch)
tree45b2fa498c01f843ba5eaef4f09761f30191305d /sway/tree/output.c
parentMerge pull request #3001 from madblobfish/swaylock-completions-and-manpage (diff)
downloadsway-e4df675840fdef182b5589a81898c7b59ac00aae.tar.gz
sway-e4df675840fdef182b5589a81898c7b59ac00aae.tar.zst
sway-e4df675840fdef182b5589a81898c7b59ac00aae.zip
output: initialize layers and signal before using functions
The previous pull request #2993 tried to fix this by moving the function which used the layers after the initilization. Since this initialization is done unconditionally only depending on the struct definition, move the layer initialization to the beginning of the function. Also move the signal initialization of the destroy event. Fixes #2992
Diffstat (limited to 'sway/tree/output.c')
-rw-r--r--sway/tree/output.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sway/tree/output.c b/sway/tree/output.c
index e5794b8a..632501e1 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -65,6 +65,12 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
65 return; 65 return;
66 } 66 }
67 struct wlr_output *wlr_output = output->wlr_output; 67 struct wlr_output *wlr_output = output->wlr_output;
68 size_t len = sizeof(output->layers) / sizeof(output->layers[0]);
69 for (size_t i = 0; i < len; ++i) {
70 wl_list_init(&output->layers[i]);
71 }
72 wl_signal_init(&output->events.destroy);
73
68 output->enabled = true; 74 output->enabled = true;
69 apply_output_config(oc, output); 75 apply_output_config(oc, output);
70 list_add(root->outputs, output); 76 list_add(root->outputs, output);
@@ -92,12 +98,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
92 ipc_event_workspace(NULL, ws, "init"); 98 ipc_event_workspace(NULL, ws, "init");
93 } 99 }
94 100
95 size_t len = sizeof(output->layers) / sizeof(output->layers[0]);
96 for (size_t i = 0; i < len; ++i) {
97 wl_list_init(&output->layers[i]);
98 }
99 wl_signal_init(&output->events.destroy);
100
101 input_manager_configure_xcursor(); 101 input_manager_configure_xcursor();
102 102
103 wl_signal_add(&wlr_output->events.mode, &output->mode); 103 wl_signal_add(&wlr_output->events.mode, &output->mode);