snapshot: don't create offset nodes inside offset nodes

It's pretty easy to make that one offset node.
This commit is contained in:
Timm Bäder
2018-04-12 10:06:16 +02:00
parent fdfdada362
commit c18219c5a8

View File

@@ -430,9 +430,22 @@ gtk_snapshot_collect_offset (GtkSnapshot *snapshot,
previous_state->translate_y == 0.0)
return node;
offset_node = gsk_offset_node_new (node,
previous_state->translate_x,
previous_state->translate_y);
if (gsk_render_node_get_node_type (node) == GSK_OFFSET_NODE)
{
const float dx = previous_state->translate_x;
const float dy = previous_state->translate_y;
offset_node = gsk_offset_node_new (gsk_offset_node_get_child (node),
gsk_offset_node_get_x_offset (node) + dx,
gsk_offset_node_get_y_offset (node) + dy);
}
else
{
offset_node = gsk_offset_node_new (node,
previous_state->translate_x,
previous_state->translate_y);
}
if (name)
gsk_render_node_set_name (offset_node, name);