output-layout: improve closest point for no outputs case

Without outputs, all points are equally invalid anyway, but for e.g.
cursor warping it makes more sense to preserve the original position.
Kirill Primak 2 years ago committed by Simon Ser
parent 377668aaf6
commit 843b874f22

@ -120,6 +120,7 @@ bool wlr_output_layout_intersects(struct wlr_output_layout *layout,
/**
* Get the closest point on this layout from the given point from the reference
* output. If reference is NULL, gets the closest point from the entire layout.
* If the layout is empty, the result is the given point itself.
*/
void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
struct wlr_output *reference, double lx, double ly,

@ -302,7 +302,7 @@ void wlr_output_layout_closest_point(struct wlr_output_layout *layout,
return;
}
double min_x = 0, min_y = 0, min_distance = DBL_MAX;
double min_x = lx, min_y = ly, min_distance = DBL_MAX;
struct wlr_output_layout_output *l_output;
wl_list_for_each(l_output, &layout->outputs, link) {
if (reference != NULL && reference != l_output->output) {

Loading…
Cancel
Save