aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sway/input/cursor.c4
-rw-r--r--sway/tree/output.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index 96feb47d..8f44eeae 100644
--- a/sway/input/cursor.c
+++ b/sway/input/cursor.c
@@ -85,6 +85,10 @@ static struct sway_node *node_at_coords(
85 return NULL; 85 return NULL;
86 } 86 }
87 struct sway_output *output = wlr_output->data; 87 struct sway_output *output = wlr_output->data;
88 if (!output) {
89 // output is being destroyed
90 return NULL;
91 }
88 double ox = lx, oy = ly; 92 double ox = lx, oy = ly;
89 wlr_output_layout_output_coords(root->output_layout, wlr_output, &ox, &oy); 93 wlr_output_layout_output_coords(root->output_layout, wlr_output, &ox, &oy);
90 94
diff --git a/sway/tree/output.c b/sway/tree/output.c
index 95ab9378..f24be010 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -58,6 +58,7 @@ struct sway_output *output_create(struct wlr_output *wlr_output) {
58 wlr_output->data = output; 58 wlr_output->data = output;
59 59
60 wl_signal_add(&wlr_output->events.destroy, &output->destroy); 60 wl_signal_add(&wlr_output->events.destroy, &output->destroy);
61 wl_signal_init(&output->events.destroy);
61 62
62 wl_list_insert(&root->all_outputs, &output->link); 63 wl_list_insert(&root->all_outputs, &output->link);
63 64
@@ -76,7 +77,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
76 for (size_t i = 0; i < len; ++i) { 77 for (size_t i = 0; i < len; ++i) {
77 wl_list_init(&output->layers[i]); 78 wl_list_init(&output->layers[i]);
78 } 79 }
79 wl_signal_init(&output->events.destroy);
80 80
81 output->enabled = true; 81 output->enabled = true;
82 list_add(root->outputs, output); 82 list_add(root->outputs, output);