fixed layout: Actually set child transforms
authorMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jan 2020 15:34:04 +0000 (10:34 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 8 Jan 2020 15:40:44 +0000 (10:40 -0500)
The code was unintentionally appending to the
existing child transform, leading to ever-moving
children when you call gtk_fixed_put.

gtk/gtkfixedlayout.c

index 86de960f42a719d56104b795a77f4e22c842ab4d..e5c90f15ab8bb44b717f0f47cb76ac5f4061b755 100644 (file)
@@ -182,7 +182,8 @@ gtk_fixed_layout_child_set_transform (GtkFixedLayoutChild *child,
 
   g_return_if_fail (GTK_IS_FIXED_LAYOUT_CHILD (child));
 
-  child->transform = gsk_transform_transform (child->transform, transform);
+  gsk_transform_unref (child->transform);
+  child->transform = gsk_transform_ref (transform);
 
   layout = gtk_layout_child_get_layout_manager (GTK_LAYOUT_CHILD (child));
   gtk_layout_manager_layout_changed (layout);