Add a workaround for vulkan crashes

I see 'out of memory' errors and crashes inside libvulkan when
creating nodes that have empty bounds and end up in the fallback
paths, like a shadow around an empty text node. Prevent this
by not creating text nodes in that case.
This commit is contained in:
Matthias Clasen 2017-09-03 11:57:21 -04:00
parent 2101f26b49
commit 7bb202e4a2

View File

@ -117,6 +117,13 @@ gsk_pango_renderer_show_text_glyphs (PangoRenderer *renderer,
int x_offset, y_offset; int x_offset, y_offset;
GskRenderNode *node; GskRenderNode *node;
GdkRGBA color; GdkRGBA color;
PangoRectangle ink_rect;
/* FIXME: vulkan fallbacks don't deal with empty nodes gracefully */
pango_glyph_string_extents (glyphs, font, &ink_rect, NULL);
pango_extents_to_pixels (&ink_rect, NULL);
if (ink_rect.width == 0 || ink_rect.height == 0)
return;
gtk_snapshot_get_offset (crenderer->snapshot, &x_offset, &y_offset); gtk_snapshot_get_offset (crenderer->snapshot, &x_offset, &y_offset);