Issue
If an animation defines a negative value for blur-opacity, picom dies with a segmentation fault.
Expected Behaviour
The blur opacity is treated the same as 0, or feeds a negative value into the blending logic, then clamp()s.
First one makes more sense, since that's how normal opacity works too
Actual Behaviour
Picom segfaults (Segmentation fault (core dumped) ./picom --config /tmp/1000/picom_repro_conf.conf)
Reproduction
- (Build
picom from main)
- Start picom in a terminal with the below config file, be it as the default or with
--config (./picom --config /tmp/blur_opacity_crash.conf )
- Maybe make sure there is some color data below the window you're about to open? Haven't checked if necessary, but I use
feh.
- Open a window if it doesn't crash by itself
backend = "glx";
#backend = "egl";
#backend = "xrender";
#all work
blur:
{
method = "dual_kawase";
strength = 10;
}
animations = (
{
triggers = [ "show", "open" ];
t = {
duration = 1;
start = 1;
end = -1;
};
blur-opacity = "t";
}
)
Reproduces on
v13 (https://github.com/yshui/picom revision 5086085)
v12.5 (/srcdest/picom revision a456d43)
Operating System
OS - Arch Linux x86_64
Kernel - Linux 6.18.5-zen1-1-zen
Shell - bash 5.3.9
WM - bspwm (X11)
Terminal - kitty 0.45.0 (configured transparency)
Locale - en_US.UTF-8
Issue
If an animation defines a negative value for
blur-opacity, picom dies with a segmentation fault.Expected Behaviour
The blur opacity is treated the same as 0, or feeds a negative value into the blending logic, then
clamp()s.First one makes more sense, since that's how normal opacity works too
Actual Behaviour
Picom segfaults (
Segmentation fault (core dumped) ./picom --config /tmp/1000/picom_repro_conf.conf)Reproduction
picomfrom main)--config(./picom --config /tmp/blur_opacity_crash.conf)feh.Reproduces on
v13 (https://github.com/yshui/picom revision 5086085)
v12.5 (/srcdest/picom revision a456d43)
Operating System
OS - Arch Linux x86_64
Kernel - Linux 6.18.5-zen1-1-zen
Shell - bash 5.3.9
WM - bspwm (X11)
Terminal - kitty 0.45.0 (configured transparency)
Locale - en_US.UTF-8