In some situations, like positioning a sub-surface that exceeds the output's dimensions we would adjust the plane state dimensions to some lower values to that of the buffer. That would ultimately trip the cursor update function because the buffer itself actually exceeds the maximum size/dimension of the cursor. The plane state destination co-ordinates is the area of the view which is visible on the output, which in some situations, would actually be smaller than the original buffer dimensions (making it so that it will pass the cropping/scaling check), but depending on of how large is the surface buffer, it would tripping the assert wrt to cursor width/height dimensions. This hasn't been seen so far due to the fact that until recently we had a cursor surface that always reached the cursor plane and that was already being set-up by default (with desktop-shell, which is no longer the case), and also because kiosk-shell, which doesn't set-up a cursor surface, was not available. This adds a check to skip placing the view in the cursor plane if the buffer dimensions exceed the cursor permitted width/height. (Suggested-by Daniel Stone). Signed-off-by: Marius Vlad <marius.vlad@collabora.com>dev
parent
f153c49430
commit
7a465d855e
Loading…
Reference in new issue