mirror of
https://github.com/labwc/labwc.git
synced 2026-03-17 05:33:47 -04:00
layers.c: allow layer surfaces on disabled outputs
4f8b80700e added a check for the output
being enabled when creating a layershell surface with automatic output
selection. This causes labwc to send a `layer_surface.close()` and
`wl_surface.destroy()` to layershell clients when creating a new
layershell surface on a disabled output which is still part of the layout
(e.g. `wlopm --off`).
This MR replaces the `output_is_usable()` check with a dedicated check,
bypassing the check for the output being enabled.
Fixes: #3410
Reported-By: coruja
This commit is contained in:
parent
079b3b8a10
commit
628e667d4b
1 changed files with 8 additions and 1 deletions
|
|
@ -687,7 +687,14 @@ handle_new_layer_surface(struct wl_listener *listener, void *data)
|
||||||
|
|
||||||
if (!layer_surface->output) {
|
if (!layer_surface->output) {
|
||||||
struct output *output = output_nearest_to_cursor(server);
|
struct output *output = output_nearest_to_cursor(server);
|
||||||
if (!output_is_usable(output)) {
|
if (!output || !output->scene_output) {
|
||||||
|
/*
|
||||||
|
* We are not using output_is_usable() here because
|
||||||
|
* it also checks if the output is enabled which is
|
||||||
|
* not the case when wlopm is used. Thus we allow
|
||||||
|
* layer surfaces to spawn on disabled outputs as
|
||||||
|
* long as it is part of the scene layout.
|
||||||
|
*/
|
||||||
wlr_log(WLR_INFO,
|
wlr_log(WLR_INFO,
|
||||||
"No output available to assign layer surface");
|
"No output available to assign layer surface");
|
||||||
wlr_layer_surface_v1_destroy(layer_surface);
|
wlr_layer_surface_v1_destroy(layer_surface);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue