aboutsummaryrefslogtreecommitdiffstats
path: root/sway/tree/output.c
diff options
context:
space:
mode:
authorLibravatar emersion <contact@emersion.fr>2019-01-17 21:49:06 +0100
committerLibravatar emersion <contact@emersion.fr>2019-01-18 10:08:34 +0100
commitdc1eac0cf12593fa20122142f087bbb3bc8e7589 (patch)
tree50a2afd1535473a55a4fea1f312f7e604cace7eb /sway/tree/output.c
parentMerge pull request #3447 from emersion/remove-swaylock-includes (diff)
downloadsway-dc1eac0cf12593fa20122142f087bbb3bc8e7589.tar.gz
sway-dc1eac0cf12593fa20122142f087bbb3bc8e7589.tar.zst
sway-dc1eac0cf12593fa20122142f087bbb3bc8e7589.zip
output: remove output_add_listeners
Simplify the code by registering signals when outputs are created and removing signals when they are destroyed.
Diffstat (limited to 'sway/tree/output.c')
-rw-r--r--sway/tree/output.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/sway/tree/output.c b/sway/tree/output.c
index f24be010..3c376c6b 100644
--- a/sway/tree/output.c
+++ b/sway/tree/output.c
@@ -57,7 +57,6 @@ struct sway_output *output_create(struct wlr_output *wlr_output) {
57 output->wlr_output = wlr_output; 57 output->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);
61 wl_signal_init(&output->events.destroy); 60 wl_signal_init(&output->events.destroy);
62 61
63 wl_list_insert(&root->all_outputs, &output->link); 62 wl_list_insert(&root->all_outputs, &output->link);
@@ -116,15 +115,6 @@ void output_enable(struct sway_output *output, struct output_config *oc) {
116 115
117 input_manager_configure_xcursor(); 116 input_manager_configure_xcursor();
118 117
119 wl_signal_add(&wlr_output->events.mode, &output->mode);
120 wl_signal_add(&wlr_output->events.transform, &output->transform);
121 wl_signal_add(&wlr_output->events.scale, &output->scale);
122 wl_signal_add(&wlr_output->events.present, &output->present);
123 wl_signal_add(&output->damage->events.frame, &output->damage_frame);
124 wl_signal_add(&output->damage->events.destroy, &output->damage_destroy);
125
126 output_add_listeners(output);
127
128 wl_signal_emit(&root->events.new_node, &output->node); 118 wl_signal_emit(&root->events.new_node, &output->node);
129 119
130 arrange_layers(output); 120 arrange_layers(output);
@@ -233,13 +223,6 @@ void output_disable(struct sway_output *output) {
233 int index = list_find(root->outputs, output); 223 int index = list_find(root->outputs, output);
234 list_del(root->outputs, index); 224 list_del(root->outputs, index);
235 225
236 wl_list_remove(&output->mode.link);
237 wl_list_remove(&output->transform.link);
238 wl_list_remove(&output->scale.link);
239 wl_list_remove(&output->present.link);
240 wl_list_remove(&output->damage_destroy.link);
241 wl_list_remove(&output->damage_frame.link);
242
243 output->enabled = false; 226 output->enabled = false;
244 227
245 arrange_root(); 228 arrange_root();
@@ -255,7 +238,6 @@ void output_begin_destroy(struct sway_output *output) {
255 node_set_dirty(&output->node); 238 node_set_dirty(&output->node);
256 239
257 wl_list_remove(&output->link); 240 wl_list_remove(&output->link);
258 wl_list_remove(&output->destroy.link);
259 output->wlr_output->data = NULL; 241 output->wlr_output->data = NULL;
260 output->wlr_output = NULL; 242 output->wlr_output = NULL;
261} 243}