mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 13:41:07 +00:00
gl: Don't crash on box shadows with negative scales
Some places didn't fabs() the scale values properly, leading to assertions when offscreens with negative sizes were created.
This commit is contained in:
parent
541ffbe4b5
commit
50bb42f0f3
@ -2445,8 +2445,8 @@ gsk_gl_render_job_visit_blurred_outset_shadow_node (GskGLRenderJob *job,
|
||||
const GskRenderNode *node)
|
||||
{
|
||||
const GskRoundedRect *outline = gsk_outset_shadow_node_get_outline (node);
|
||||
float scale_x = job->scale_x;
|
||||
float scale_y = job->scale_y;
|
||||
float scale_x = fabsf (job->scale_x);
|
||||
float scale_y = fabsf (job->scale_y);
|
||||
float blur_radius = gsk_outset_shadow_node_get_blur_radius (node);
|
||||
float blur_extra = blur_radius * 2.0f; /* 2.0 = shader radius_multiplier */
|
||||
float half_blur_extra = blur_extra / 2.0f;
|
||||
@ -2577,8 +2577,8 @@ gsk_gl_render_job_visit_blurred_outset_shadow_node (GskGLRenderJob *job,
|
||||
&offscreen,
|
||||
texture_width,
|
||||
texture_height,
|
||||
blur_radius * fabsf (scale_x),
|
||||
blur_radius * fabsf (scale_y));
|
||||
blur_radius * scale_x,
|
||||
blur_radius * scale_y);
|
||||
|
||||
gsk_gl_shadow_library_insert (job->driver->shadows_library,
|
||||
&scaled_outline,
|
||||
|
Loading…
Reference in New Issue
Block a user