Blame SOURCES/Bind-constraints-Don-t-force-redraws-on-source-relay.patch

b9a760
From 0b536c02f97d7adfa8c4af4a4214f02d4ac9f716 Mon Sep 17 00:00:00 2001
b9a760
From: "Owen W. Taylor" <otaylor@fishsoup.net>
b9a760
Date: Fri, 22 Nov 2013 10:30:21 -0500
b9a760
Subject: [PATCH] Bind constraints: Don't force redraws on source relayout
b9a760
b9a760
When the source actor potentially changes size, that shouldn't
b9a760
necessarily result in the target actor being redrawn - it should
b9a760
be like when a child of a container is reallocated due to changes
b9a760
in its siblings or parent - it should redraw only to the extent
b9a760
that it is moved and resized. Privately export an internal function
b9a760
from clutter-actor.c to allow getting this right.
b9a760
b9a760
https://bugzilla.gnome.org/show_bug.cgi?id=719367
b9a760
---
b9a760
 clutter/clutter-actor-private.h   | 1 +
b9a760
 clutter/clutter-actor.c           | 4 +---
b9a760
 clutter/clutter-bind-constraint.c | 2 +-
b9a760
 clutter/clutter-snap-constraint.c | 2 +-
b9a760
 4 files changed, 4 insertions(+), 5 deletions(-)
b9a760
b9a760
diff --git a/clutter/clutter-actor-private.h b/clutter/clutter-actor-private.h
b9a760
index 1c6f165..8bcf26c 100644
b9a760
--- a/clutter/clutter-actor-private.h
b9a760
+++ b/clutter/clutter-actor-private.h
b9a760
@@ -318,6 +318,7 @@ void                            _clutter_actor_detach_clone
b9a760
                                                                                          ClutterActor *clone);
b9a760
 void                            _clutter_actor_queue_redraw_on_clones                   (ClutterActor *actor);
b9a760
 void                            _clutter_actor_queue_relayout_on_clones                 (ClutterActor *actor);
b9a760
+void                            _clutter_actor_queue_only_relayout                      (ClutterActor *actor);
b9a760
 
b9a760
 G_END_DECLS
b9a760
 
b9a760
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
b9a760
index 4ceb62c..4504ac6 100644
b9a760
--- a/clutter/clutter-actor.c
b9a760
+++ b/clutter/clutter-actor.c
b9a760
@@ -1037,8 +1037,6 @@ static void           clutter_anchor_coord_set_gravity (AnchorCoord       *coord
b9a760
 
b9a760
 static gboolean clutter_anchor_coord_is_zero (const AnchorCoord *coord);
b9a760
 
b9a760
-static void _clutter_actor_queue_only_relayout (ClutterActor *self);
b9a760
-
b9a760
 static void _clutter_actor_get_relative_transformation_matrix (ClutterActor *self,
b9a760
                                                                ClutterActor *ancestor,
b9a760
                                                                CoglMatrix *matrix);
b9a760
@@ -8862,7 +8860,7 @@ _clutter_actor_queue_redraw_with_clip (ClutterActor       *self,
b9a760
                                     NULL /* effect */);
b9a760
 }
b9a760
 
b9a760
-static void
b9a760
+void
b9a760
 _clutter_actor_queue_only_relayout (ClutterActor *self)
b9a760
 {
b9a760
   ClutterActorPrivate *priv = self->priv;
b9a760
diff --git a/clutter/clutter-bind-constraint.c b/clutter/clutter-bind-constraint.c
b9a760
index b9e45ab..fa94906 100644
b9a760
--- a/clutter/clutter-bind-constraint.c
b9a760
+++ b/clutter/clutter-bind-constraint.c
b9a760
@@ -151,7 +151,7 @@ source_queue_relayout (ClutterActor          *source,
b9a760
                        ClutterBindConstraint *bind)
b9a760
 {
b9a760
   if (bind->actor != NULL)
b9a760
-    clutter_actor_queue_relayout (bind->actor);
b9a760
+    _clutter_actor_queue_only_relayout (bind->actor);
b9a760
 }
b9a760
 
b9a760
 static void
b9a760
diff --git a/clutter/clutter-snap-constraint.c b/clutter/clutter-snap-constraint.c
b9a760
index c8eaea9..b4c558f 100644
b9a760
--- a/clutter/clutter-snap-constraint.c
b9a760
+++ b/clutter/clutter-snap-constraint.c
b9a760
@@ -94,7 +94,7 @@ source_queue_relayout (ClutterActor          *source,
b9a760
                        ClutterSnapConstraint *constraint)
b9a760
 {
b9a760
   if (constraint->actor != NULL)
b9a760
-    clutter_actor_queue_relayout (constraint->actor);
b9a760
+    _clutter_actor_queue_only_relayout (constraint->actor);
b9a760
 }
b9a760
 
b9a760
 static void
b9a760
-- 
b9a760
1.8.5.3
b9a760