desktop-shell: Fix incorrect use of black_surface_get_label

By some dark magic this accidentally doesn't crash because there are
zeroes in the right places at startup, but black_surface_get_label()
very much expects surface_private to be a view.

Let's hand craft a new bespoke label function for this use.

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
This commit is contained in:
Derek Foreman 2022-04-12 16:57:43 -05:00 committed by Pekka Paalanen
parent bb1d19dc5e
commit ca979aa219

View File

@ -3858,6 +3858,16 @@ shell_fade_done_for_output(struct weston_view_animation *animation, void *data)
} }
} }
static int
fade_surface_get_label(struct weston_surface *surface,
char *buf, size_t len)
{
struct shell_output *output = surface->committed_private;
return snprintf(buf, len, "desktop shell fade surface for %s",
output->output->name);
}
static struct weston_curtain * static struct weston_curtain *
shell_fade_create_view_for_output(struct desktop_shell *shell, shell_fade_create_view_for_output(struct desktop_shell *shell,
struct shell_output *shell_output) struct shell_output *shell_output)
@ -3869,7 +3879,7 @@ shell_fade_create_view_for_output(struct desktop_shell *shell,
.x = output->x, .y = output->y, .x = output->x, .y = output->y,
.width = output->width, .height = output->height, .width = output->width, .height = output->height,
.surface_committed = black_surface_committed, .surface_committed = black_surface_committed,
.get_label = black_surface_get_label, .get_label = fade_surface_get_label,
.surface_private = shell_output, .surface_private = shell_output,
.capture_input = false, .capture_input = false,
}; };