mirror of
https://github.com/swaywm/sway.git
synced 2024-11-11 21:14:10 +01:00
Merge pull request #2415 from RyanDwyer/fix-fullscreen-container-crash
Fix crash when moving cursor over a fullscreen split container
This commit is contained in:
commit
16c1e21f26
@ -234,9 +234,9 @@ struct sway_container *container_at(struct sway_container *workspace,
|
|||||||
double lx, double ly, struct wlr_surface **surface,
|
double lx, double ly, struct wlr_surface **surface,
|
||||||
double *sx, double *sy);
|
double *sx, double *sy);
|
||||||
|
|
||||||
struct sway_container *container_at_view(struct sway_container *view,
|
struct sway_container *tiling_container_at(
|
||||||
double lx, double ly, struct wlr_surface **surface,
|
struct sway_container *con, double lx, double ly,
|
||||||
double *sx, double *sy);
|
struct wlr_surface **surface, double *sx, double *sy);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply the function for each descendant of the container breadth first.
|
* Apply the function for each descendant of the container breadth first.
|
||||||
|
@ -99,7 +99,7 @@ static struct sway_container *container_at_coords(
|
|||||||
return ws;
|
return ws;
|
||||||
}
|
}
|
||||||
if (ws->sway_workspace->fullscreen) {
|
if (ws->sway_workspace->fullscreen) {
|
||||||
return container_at_view(ws->sway_workspace->fullscreen, lx, ly,
|
return tiling_container_at(ws->sway_workspace->fullscreen, lx, ly,
|
||||||
surface, sx, sy);
|
surface, sx, sy);
|
||||||
}
|
}
|
||||||
if ((*surface = layer_surface_at(output,
|
if ((*surface = layer_surface_at(output,
|
||||||
|
@ -535,7 +535,7 @@ struct sway_container *container_parent(struct sway_container *container,
|
|||||||
return container;
|
return container;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct sway_container *container_at_view(struct sway_container *swayc,
|
static struct sway_container *container_at_view(struct sway_container *swayc,
|
||||||
double lx, double ly,
|
double lx, double ly,
|
||||||
struct wlr_surface **surface, double *sx, double *sy) {
|
struct wlr_surface **surface, double *sx, double *sy) {
|
||||||
if (!sway_assert(swayc->type == C_VIEW, "Expected a view")) {
|
if (!sway_assert(swayc->type == C_VIEW, "Expected a view")) {
|
||||||
@ -574,10 +574,6 @@ struct sway_container *container_at_view(struct sway_container *swayc,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct sway_container *tiling_container_at(
|
|
||||||
struct sway_container *con, double lx, double ly,
|
|
||||||
struct wlr_surface **surface, double *sx, double *sy);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* container_at for a container with layout L_TABBED.
|
* container_at for a container with layout L_TABBED.
|
||||||
*/
|
*/
|
||||||
@ -684,7 +680,7 @@ static struct sway_container *floating_container_at(double lx, double ly,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct sway_container *tiling_container_at(
|
struct sway_container *tiling_container_at(
|
||||||
struct sway_container *con, double lx, double ly,
|
struct sway_container *con, double lx, double ly,
|
||||||
struct wlr_surface **surface, double *sx, double *sy) {
|
struct wlr_surface **surface, double *sx, double *sy) {
|
||||||
if (con->type == C_VIEW) {
|
if (con->type == C_VIEW) {
|
||||||
|
Loading…
Reference in New Issue
Block a user