[gnome-shell/wip/smcv/issue2538] blur: Always allocate at least one pixel
- From: Simon McVittie <smcv src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/smcv/issue2538] blur: Always allocate at least one pixel
- Date: Fri, 3 Apr 2020 09:05:33 +0000 (UTC)
commit 5a83f003c7ffa1c8a6dc140782dbe6a6cb291c81
Author: Simon McVittie <smcv debian org>
Date: Thu Apr 2 19:32:18 2020 +0100
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>
src/shell-blur-effect.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
---
diff --git a/src/shell-blur-effect.c b/src/shell-blur-effect.c
index 5e50ab886f..1da931542e 100644
--- a/src/shell-blur-effect.c
+++ b/src/shell-blur-effect.c
@@ -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;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]