aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRouven Czerwinski <rouven@czerwinskis.de>2018-10-28 10:39:26 +0100
committerRouven Czerwinski <rouven@czerwinskis.de>2018-10-28 11:06:15 +0100
commite4df675840fdef182b5589a81898c7b59ac00aae (patch)
tree45b2fa498c01f843ba5eaef4f09761f30191305d
parent707f3ad2750d74a46ff859439e87acc661b599f5 (diff)
downloadsway-e4df675840fdef182b5589a81898c7b59ac00aae.tar.xz
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
-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) {
return;
}
struct wlr_output *wlr_output = output->wlr_output;
+ size_t len = sizeof(output->layers) / sizeof(output->layers[0]);
+ for (size_t i = 0; i < len; ++i) {
+ wl_list_init(&output->layers[i]);
+ }
+ wl_signal_init(&output->events.destroy);
+
output->enabled = true;
apply_output_config(oc, output);
list_add(root->outputs, output);
@@ -92,12 +98,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
ipc_event_workspace(NULL, ws, "init");
}
- size_t len = sizeof(output->layers) / sizeof(output->layers[0]);
- for (size_t i = 0; i < len; ++i) {
- wl_list_init(&output->layers[i]);
- }
- wl_signal_init(&output->events.destroy);
-
input_manager_configure_xcursor();
wl_signal_add(&wlr_output->events.mode, &output->mode);