aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-12-28 07:19:54 -0800
committerGitHub <noreply@github.com>2017-12-28 07:19:54 -0800
commit04b7701e1b7a7f371caffecafae07467aa8970e7 (patch)
tree55b277ebcf02b58393f76a9abebc12c1ef86bef5
parent9c163b7d38f859df0f6b21d04ff4267df74dd290 (diff)
parent1e6566e6cd885086fce4a0fe61395f316dd9284f (diff)
Merge pull request #534 from emersion/multi-output-fixes
Fixes for multiple outputs
-rw-r--r--backend/wayland/wl_seat.c4
-rw-r--r--examples/screenshot.c8
2 files changed, 3 insertions, 9 deletions
diff --git a/backend/wayland/wl_seat.c b/backend/wayland/wl_seat.c
index ddee268d..90f7d44c 100644
--- a/backend/wayland/wl_seat.c
+++ b/backend/wayland/wl_seat.c
@@ -74,8 +74,8 @@ static void pointer_handle_motion(void *data, struct wl_pointer *wl_pointer,
wlr_event.time_msec = time;
wlr_event.width_mm = layout_box.width;
wlr_event.height_mm = layout_box.height;
- wlr_event.x_mm = transformed.x + wlr_output->lx + layout_box.x;
- wlr_event.y_mm = transformed.y + wlr_output->ly + layout_box.y;
+ wlr_event.x_mm = transformed.x + wlr_output->lx - layout_box.x;
+ wlr_event.y_mm = transformed.y + wlr_output->ly - layout_box.y;
wl_signal_emit(&dev->pointer->events.motion_absolute, &wlr_event);
}
diff --git a/examples/screenshot.c b/examples/screenshot.c
index a887d1d7..932f5e37 100644
--- a/examples/screenshot.c
+++ b/examples/screenshot.c
@@ -220,16 +220,10 @@ static void write_image(const char *filename, int width, int height) {
}
static int set_buffer_size(int *width, int *height) {
- struct screenshooter_output *output;
min_x = min_y = INT_MAX;
max_x = max_y = INT_MIN;
- int position = 0;
-
- wl_list_for_each_reverse(output, &output_list, link) {
- output->offset_x = position;
- position += output->width;
- }
+ struct screenshooter_output *output;
wl_list_for_each(output, &output_list, link) {
min_x = MIN(min_x, output->offset_x);
min_y = MIN(min_y, output->offset_y);