blur: Always allocate at least one pixel
This works around a crash when we try to blur a background that hasn't yet had any space allocated for it, in particular when locking the screen with mutter 3.36.1 and the Native Window Placement extension. Workaround for <https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2538>. Signed-off-by: Simon McVittie <smcv@debian.org>
This commit is contained in:
parent
0a4974ac8c
commit
5a83f003c7
@ -360,6 +360,18 @@ update_fbo (FramebufferData *data,
|
||||
float new_width = floorf (width / downscale_factor);
|
||||
float new_height = floorf (height / downscale_factor);
|
||||
|
||||
if (G_UNLIKELY (new_width < 1.0f))
|
||||
{
|
||||
g_warning ("%s: Correcting width from %f to 1", G_STRLOC, new_width);
|
||||
new_width = 1.0f;
|
||||
}
|
||||
|
||||
if (G_UNLIKELY (new_height < 1.0f))
|
||||
{
|
||||
g_warning ("%s: Correcting height from %f to 1", G_STRLOC, new_height);
|
||||
new_height = 1.0f;
|
||||
}
|
||||
|
||||
data->texture = cogl_texture_2d_new_with_size (ctx, new_width, new_height);
|
||||
if (!data->texture)
|
||||
return FALSE;
|
||||
|
Loading…
Reference in New Issue
Block a user