diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-03 19:57:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-03 19:57:36 -0400 |
commit | deb63eda8845167de9cea42d17ed1d8e219f2168 (patch) | |
tree | f75ecbb11b23251d75a90d83c001cb264e7a49ef /sway/tree | |
parent | 41a6908c6030c5936af6963626dfb00419694521 (diff) | |
parent | c0554d23d3d89b92b6a871807771b2c2e1f29f61 (diff) | |
download | sway-deb63eda8845167de9cea42d17ed1d8e219f2168.tar.xz |
Merge pull request #1717 from emersion/fix-multiple-outputs
Fix rendering with multiple outputs
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/layout.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/sway/tree/layout.c b/sway/tree/layout.c index 95a84d12..617350d9 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c @@ -19,10 +19,14 @@ struct sway_container root_container; -static void output_layout_change_notify(struct wl_listener *listener, +static void output_layout_handle_change(struct wl_listener *listener, void *data) { - struct wlr_box *layout_box = wlr_output_layout_get_box( - root_container.sway_root->output_layout, NULL); + struct wlr_output_layout *output_layout = + root_container.sway_root->output_layout; + const struct wlr_box *layout_box = + wlr_output_layout_get_box(output_layout, NULL); + root_container.x = layout_box->x; + root_container.y = layout_box->y; root_container.width = layout_box->width; root_container.height = layout_box->height; @@ -34,8 +38,8 @@ static void output_layout_change_notify(struct wl_listener *listener, } struct sway_output *output = output_container->sway_output; - struct wlr_box *output_box = wlr_output_layout_get_box( - root_container.sway_root->output_layout, output->wlr_output); + const struct wlr_box *output_box = + wlr_output_layout_get_box(output_layout, output->wlr_output); if (!output_box) { continue; } @@ -62,7 +66,7 @@ void layout_init(void) { wl_signal_init(&root_container.sway_root->events.new_container); root_container.sway_root->output_layout_change.notify = - output_layout_change_notify; + output_layout_handle_change; wl_signal_add(&root_container.sway_root->output_layout->events.change, &root_container.sway_root->output_layout_change); } |