Fix wibox.hierarchy's empty_clip()

This function checks if a given cairo context has an empty clip. It was
written with the assumption that cairo_clip_extents() produces the x, y,
width, height of the clip extents. However, that function actually
produces x1, y1, x2, y2, where (x1, y1) and (x2, y2) are the corners of
the rectangles.

Due to the way the function is written, it will return non-zero numbers
when there is a translation (cr:translate()). Thus, this function worked
basically never.

Fix this by checking if both points have the same X- or Y-coordinate.

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter 2019-06-19 18:23:08 +02:00
parent 2aa198a57b
commit a4dadde335
1 changed files with 2 additions and 2 deletions

View File

@ -304,8 +304,8 @@ end
--- Does the given cairo context have an empty clip (aka "no drawing possible")?
local function empty_clip(cr)
local _, _, width, height = cr:clip_extents()
return width == 0 or height == 0
local x1, y1, x2, y2 = cr:clip_extents()
return x2 - x1 == 0 or y2 - y1 == 0
end
--- Draw a hierarchy to some cairo context.