mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 17:10:40 -05:00
cogl: Defend against empty or unallocated framebuffers
It isn't immediately obvious that this is impossible, because there's some
"action at a distance" going on with framebuffers that have their size
set lazily, after their textures get allocated; so let's make this a
critical warning rather than crashing.
In particular, this works around a crash when gnome-shell tries to blur a
background that hasn't yet had any space allocated for it - which it seems
is really an actor layout bug, but more robustness seems good to have.
Workaround for <https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2538>.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1172
Signed-off-by: Simon McVittie <smcv@debian.org>
(cherry picked from commit c389aadff9
)
This commit is contained in:
parent
e3b2b90c72
commit
e339a57ddf
@ -132,8 +132,8 @@ _cogl_framebuffer_gl_flush_viewport_state (CoglFramebuffer *framebuffer)
|
|||||||
{
|
{
|
||||||
float gl_viewport_y;
|
float gl_viewport_y;
|
||||||
|
|
||||||
g_assert (framebuffer->viewport_width >=0 &&
|
g_return_if_fail (framebuffer->viewport_width >= 0);
|
||||||
framebuffer->viewport_height >=0);
|
g_return_if_fail (framebuffer->viewport_height >= 0);
|
||||||
|
|
||||||
/* Convert the Cogl viewport y offset to an OpenGL viewport y offset
|
/* Convert the Cogl viewport y offset to an OpenGL viewport y offset
|
||||||
* NB: OpenGL defines its window and viewport origins to be bottom
|
* NB: OpenGL defines its window and viewport origins to be bottom
|
||||||
|
Loading…
Reference in New Issue
Block a user