imagebox: Avoid division by zero
Given an imagebox i with i.resize_forbidden = false and a valid image set, the call t:fit(0, 0) would return two times "not a number". This is because the code first does some calculations to get the input image into the available space and then tried to do some calculations needed for scaling images up. The first calculation already gave us h == 0 == w, the second calculation would then calculate 0/0. This results in NaNs. This was only noticed because NaN is not a valid table index in lua. Fix this by returning 0,0 if we have an image of width or height 0 after the first calculation. Since 0x0 images are valid in cairo, this also fixes the same bug with such images. Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
23432cfaeb
commit
8003156e62
|
@ -55,6 +55,10 @@ function imagebox:fit(width, height)
|
|||
h = height
|
||||
end
|
||||
|
||||
if h == 0 or w == 0 then
|
||||
return 0, 0
|
||||
end
|
||||
|
||||
if not self.resize_forbidden then
|
||||
local aspect = width / w
|
||||
local aspect_h = height / h
|
||||
|
|
Loading…
Reference in New Issue