snapshot: Compute correct size in gtk_snapshot_to_paintable()

Also, do actually respect the passed in size argument if it isn't NULL.

Fixes text being cut off inside DND icons.
This commit is contained in:
Benjamin Otte 2018-06-19 19:40:37 +02:00
parent 4d4ec2dbfb
commit 8c8dc3aeab

View File

@ -1115,9 +1115,19 @@ gtk_snapshot_to_paintable (GtkSnapshot *snapshot,
graphene_rect_t bounds;
node = gtk_snapshot_to_node (snapshot);
if (size)
{
graphene_size_init_from_size (&bounds.size, size);
}
else
{
gsk_render_node_get_bounds (node, &bounds);
bounds.size.width += bounds.origin.x;
bounds.size.height += bounds.origin.y;
}
bounds.origin.x = 0;
bounds.origin.y = 0;
paintable = gtk_render_node_paintable_new (node, &bounds);
gsk_render_node_unref (node);