|
|
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 |
|