diff options
author | Florian Müllner <florian.muellner@gmail.com> | 2013-07-06 01:27:38 +0200 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2013-08-19 23:37:41 +0100 |
commit | 5dd2dcf14ff4676ac4d84ef567d1bca1faaaab7a (patch) | |
tree | 3e8a2e72540641865ddacc1fd1945e3ddd45a3ef | |
parent | 5bab9a8655346290f7ee0e4af972e3d085a6b818 (diff) | |
download | clutter-5dd2dcf14ff4676ac4d84ef567d1bca1faaaab7a.tar.gz |
box-layout: Fix child offsets
Currently, BoxLayout interprets the box passed into allocate() in
a fairly peculiar way:
- in the direction of the box, all space between [xy]1 and [xy]2
is distributed among children (e.g. children occupy the entire
width/height of the box, offset by [xy]1)
- in the opposite direction, expanded children receive space
between [xy]1 and the height/width of the box (e.g. children
occupy the width/height of the box minus [xy]1, offset by [xy]1)
The second behavior doesn't make much sense, so adjust it to interpret
the box parameter in the same way as the first one.
https://bugzilla.gnome.org/show_bug.cgi?id=703809
-rw-r--r-- | clutter/clutter-box-layout.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clutter/clutter-box-layout.c b/clutter/clutter-box-layout.c index b9c2c68c0..ea4d20866 100644 --- a/clutter/clutter-box-layout.c +++ b/clutter/clutter-box-layout.c @@ -1100,7 +1100,7 @@ clutter_box_layout_allocate (ClutterLayoutManager *layout, if (priv->orientation == CLUTTER_ORIENTATION_VERTICAL) { child_allocation.x1 = box->x1; - child_allocation.x2 = MAX (1.0, box->x2 - box->x1); + child_allocation.x2 = MAX (1.0, box->x2); if (priv->is_pack_start) y = box->y2 - box->y1; else @@ -1109,7 +1109,7 @@ clutter_box_layout_allocate (ClutterLayoutManager *layout, else { child_allocation.y1 = box->y1; - child_allocation.y2 = MAX (1.0, box->y2 - box->y1); + child_allocation.y2 = MAX (1.0, box->y2); if (priv->is_pack_start) x = box->x2 - box->x1; else |