diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c index 05faa46567..a21e1ccdc4 100644 --- a/sway/desktop/layer_shell.c +++ b/sway/desktop/layer_shell.c @@ -346,7 +346,7 @@ static void popup_unconstrain(struct sway_layer_popup *popup) { return; } - int lx, ly; + double lx, ly; wlr_scene_node_coords(&popup->toplevel->scene->tree->node, &lx, &ly); // the output box expressed in the coordinate system of the toplevel parent diff --git a/sway/desktop/output.c b/sway/desktop/output.c index aec1d0a6be..4445c34e06 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -142,7 +142,7 @@ static struct buffer_timer *buffer_timer_get_or_create(struct wlr_scene_buffer * } static void send_frame_done_iterator(struct wlr_scene_buffer *buffer, - int x, int y, void *user_data) { + double x, double y, void *user_data) { struct send_frame_done_data *data = user_data; struct sway_output *output = data->output; int view_max_render_time = 0; diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c index 01fe312896..5aec388bf2 100644 --- a/sway/desktop/transaction.c +++ b/sway/desktop/transaction.c @@ -623,7 +623,7 @@ void arrange_popups(struct wlr_scene_tree *popups) { SWAY_SCENE_DESC_POPUP); if (popup) { - int lx, ly; + double lx, ly; wlr_scene_node_coords(popup->relative, &lx, &ly); wlr_scene_node_set_position(node, lx, ly); } diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index 3aed4ec7eb..d2c55394d6 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c @@ -364,7 +364,7 @@ static void handle_new_popup(struct wl_listener *listener, void *data) { return; } - int lx, ly; + double lx, ly; wlr_scene_node_coords(&popup->view->content_tree->node, &lx, &ly); wlr_scene_node_set_position(&popup->scene_tree->node, lx, ly); } diff --git a/sway/input/text_input.c b/sway/input/text_input.c index c84fac8f66..28b617fdb7 100644 --- a/sway/input/text_input.c +++ b/sway/input/text_input.c @@ -136,7 +136,10 @@ static void constrain_popup(struct sway_input_popup *popup) { } struct wlr_box parent = {0}; - wlr_scene_node_coords(&popup->desc.relative->parent->node, &parent.x, &parent.y); + double lx, ly; + wlr_scene_node_coords(&popup->desc.relative->parent->node, &lx, &ly); + parent.x = lx; + parent.y = ly; struct wlr_box geo = {0}; struct wlr_output *output; diff --git a/sway/tree/view.c b/sway/tree/view.c index 16080a2f9a..05add28252 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -1178,7 +1178,7 @@ void view_remove_saved_buffer(struct sway_view *view) { } static void view_save_buffer_iterator(struct wlr_scene_buffer *buffer, - int sx, int sy, void *data) { + double sx, double sy, void *data) { struct wlr_scene_tree *tree = data; struct wlr_scene_buffer *sbuf = wlr_scene_buffer_create(tree, NULL); @@ -1238,7 +1238,7 @@ bool view_can_tear(struct sway_view *view) { } static void send_frame_done_iterator(struct wlr_scene_buffer *scene_buffer, - int x, int y, void *data) { + double x, double y, void *data) { struct timespec *when = data; wl_signal_emit_mutable(&scene_buffer->events.frame_done, when); }