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:
@@ -1115,9 +1115,19 @@ gtk_snapshot_to_paintable (GtkSnapshot *snapshot,
|
|||||||
graphene_rect_t bounds;
|
graphene_rect_t bounds;
|
||||||
|
|
||||||
node = gtk_snapshot_to_node (snapshot);
|
node = gtk_snapshot_to_node (snapshot);
|
||||||
gsk_render_node_get_bounds (node, &bounds);
|
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.x = 0;
|
||||||
bounds.origin.y = 0;
|
bounds.origin.y = 0;
|
||||||
|
|
||||||
paintable = gtk_render_node_paintable_new (node, &bounds);
|
paintable = gtk_render_node_paintable_new (node, &bounds);
|
||||||
gsk_render_node_unref (node);
|
gsk_render_node_unref (node);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user