diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 2253eb51..bbebe453 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -23,7 +23,7 @@ #include "sway/server.h" #include "sway/tree/arrange.h" #include "sway/tree/container.h" -#include "sway/tree/layout.h" +#include "sway/tree/root.h" #include "sway/tree/view.h" #include "sway/tree/workspace.h" @@ -163,8 +163,10 @@ void output_view_for_each_popup(struct sway_output *output, .user_iterator = iterator, .user_data = user_data, .output = output, - .ox = view->swayc->current.view_x - output->swayc->current.swayc_x, - .oy = view->swayc->current.view_y - output->swayc->current.swayc_y, + .ox = view->swayc->current.view_x - output->swayc->current.swayc_x + - view->geometry.x, + .oy = view->swayc->current.view_y - output->swayc->current.swayc_y + - view->geometry.y, .width = view->swayc->current.view_width, .height = view->swayc->current.view_height, .rotation = 0, // TODO @@ -496,7 +498,7 @@ void output_damage_whole_container(struct sway_output *output, static void damage_handle_destroy(struct wl_listener *listener, void *data) { struct sway_output *output = wl_container_of(listener, output, damage_destroy); - container_destroy(output->swayc); + output_begin_destroy(output->swayc); } static void handle_destroy(struct wl_listener *listener, void *data) { @@ -504,7 +506,7 @@ static void handle_destroy(struct wl_listener *listener, void *data) { wl_signal_emit(&output->events.destroy, output); if (output->swayc) { - container_destroy(output->swayc); + output_begin_destroy(output->swayc); } wl_list_remove(&output->link); @@ -554,7 +556,7 @@ void handle_new_output(struct wl_listener *listener, void *data) { wl_signal_add(&wlr_output->events.destroy, &output->destroy); output->destroy.notify = handle_destroy; - wl_list_insert(&root_container.sway_root->outputs, &output->link); + wl_list_insert(&root_container.sway_root->all_outputs, &output->link); if (!wl_list_empty(&wlr_output->modes)) { struct wlr_output_mode *mode = |