aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/output.c
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-06-06 20:10:42 -0400
committerLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-06-06 20:11:24 -0400
commite072fbc6d98784e5610aa88251a15f64e30bbcae (patch)
tree7de104885aabb49f17739d7631ef6cd4f628e64a /sway/desktop/output.c
parentAddress emersions comments on output re-enabling (diff)
downloadsway-e072fbc6d98784e5610aa88251a15f64e30bbcae.tar.gz
sway-e072fbc6d98784e5610aa88251a15f64e30bbcae.tar.zst
sway-e072fbc6d98784e5610aa88251a15f64e30bbcae.zip
Switch output storing from list_t to wl_list
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r--sway/desktop/output.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c
index cb53a980..3142bdb4 100644
--- a/sway/desktop/output.c
+++ b/sway/desktop/output.c
@@ -1157,10 +1157,6 @@ void output_damage_whole_container(struct sway_output *output,
1157 wlr_output_damage_add_box(output->damage, &box); 1157 wlr_output_damage_add_box(output->damage, &box);
1158} 1158}
1159 1159
1160static int find_output(const void *output1, const void *output2) {
1161 return output1 == output2 ? 0 : 1;
1162}
1163
1164static void damage_handle_destroy(struct wl_listener *listener, void *data) { 1160static void damage_handle_destroy(struct wl_listener *listener, void *data) {
1165 struct sway_output *output = 1161 struct sway_output *output =
1166 wl_container_of(listener, output, damage_destroy); 1162 wl_container_of(listener, output, damage_destroy);
@@ -1172,12 +1168,9 @@ static void handle_destroy(struct wl_listener *listener, void *data) {
1172 if (output->swayc) { 1168 if (output->swayc) {
1173 container_destroy(output->swayc); 1169 container_destroy(output->swayc);
1174 } 1170 }
1175 int index = list_seq_find(root_container.sway_root->outputs, find_output, 1171
1176 output); 1172 if (&output->link) {
1177 if (index >= 0 && index < root_container.sway_root->outputs->length) { 1173 wl_list_remove(&output->link);
1178 wlr_log(L_DEBUG, "Removing %s from outputs list",
1179 output->wlr_output->name);
1180 list_del(root_container.sway_root->outputs, index);
1181 wl_list_remove(&output->destroy.link); 1174 wl_list_remove(&output->destroy.link);
1182 output->wlr_output = NULL; 1175 output->wlr_output = NULL;
1183 free(output); 1176 free(output);
@@ -1219,7 +1212,7 @@ void handle_new_output(struct wl_listener *listener, void *data) {
1219 output->wlr_output = wlr_output; 1212 output->wlr_output = wlr_output;
1220 wlr_output->data = output; 1213 wlr_output->data = output;
1221 output->server = server; 1214 output->server = server;
1222 list_add(root_container.sway_root->outputs, output); 1215 wl_list_insert(&root_container.sway_root->outputs, &output->link);
1223 1216
1224 output->damage = wlr_output_damage_create(wlr_output); 1217 output->damage = wlr_output_damage_create(wlr_output);
1225 1218