commit 1854ce2d06d6c0badab174aa6c38dd6a46963284
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 14:32:19 2012 +0000

    Release Clutter 1.9.4 (snapshot)

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 696f9e84c938808c645e66e3d2dd2a78ceafc154
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 14:21:02 2012 +0000

    text: Fix the buffer length check on paint

 clutter/clutter-text.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9f0ba2da0fece26167b3b2a44f3eb00ef1202702
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 14:17:20 2012 +0000

    script: Fix a segfault
    
    Accessing a variable before it is being set is not a great plan.

 clutter/clutter-script-parser.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 37d94c6b870f79f0d3cce4a9dace36633cac9319
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 12:23:28 2012 +0000

    text-buffer: Fix the Since annotations

 clutter/clutter-text-buffer.c |   82 ++++++++++++++++++++++-------------------
 1 files changed, 44 insertions(+), 38 deletions(-)

commit b03aa254692a47f60464d04e67f5a45ec842ede7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 12:19:35 2012 +0000

    Update the NEWS file

 NEWS |   74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 74 insertions(+), 0 deletions(-)

commit 5085c11bdec3ca772cff428833926a38efb5bf93
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 12:00:54 2012 +0000

    Add ClutterTextBuffer to the API reference

 clutter/clutter.symbols                    |    3 ++
 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |   32 ++++++++++++++++++++++++++++
 doc/reference/clutter/clutter.types        |    1 +
 4 files changed, 37 insertions(+), 0 deletions(-)

commit 57f5813058137aa8f0f13547b8e64f539d1a6870
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 11:56:23 2012 +0000

    Update clutter.symbols for TextBuffer

 clutter/clutter.symbols |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 40b023a33eb154b7ef0288181920fd1527cf6044
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 11:52:37 2012 +0000

    interactive/text: Remove spurious g_object_unref()

 tests/interactive/test-text.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit c073764369ee5969aa40ab90bcbbd1d9ffb22518
Author: Stef Walter <stefw@collabora.co.uk>
Date:   Wed Jun 15 10:06:31 2011 +0100

    text: Implement ClutterTextBuffer
    
     * Abstracts the buffer for text in ClutterText
     * Allows implementation of undo/redo.
     * Allows use of non-pageable memory for text
       in the case of sensitive passwords.
     * Implement a test with two ClutterText using the same
       buffer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=652653

 clutter/Makefile.am           |    6 +-
 clutter/clutter-marshal.list  |    2 +
 clutter/clutter-text-buffer.c |  764 +++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-text-buffer.h |  139 ++++++++
 clutter/clutter-text.c        |  693 ++++++++++++++++++++-----------------
 clutter/clutter-text.h        |    6 +-
 tests/interactive/test-text.c |   24 ++-
 7 files changed, 1304 insertions(+), 330 deletions(-)

commit d95bdf3a07ac82591886eb8f5bc4fab9fc98e62f
Author: Daniel Mustieles <daniel.mustieles@gmail.com>
Date:   Tue Jan 17 12:52:01 2012 +0100

    Updated Spanish translation

 po/es.po |  766 ++++++++++++++++++++++++++++++++++----------------------------
 1 files changed, 415 insertions(+), 351 deletions(-)

commit 6b5b2910290dfe4afe494b8660bb65c4dba331bb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 17 11:49:05 2012 +0000

    Update clutter.symbols

 clutter/clutter.symbols |  106 ++++++++++++++++-------------------------------
 1 files changed, 36 insertions(+), 70 deletions(-)

commit 89e4bc3dcda824d687006e151e57effeaa3efd1c
Author: Fran Diéguez <fran.dieguez@mabishu.com>
Date:   Tue Jan 17 01:44:53 2012 +0100

    Updated Galician translations

 po/gl.po |  537 +++++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 300 insertions(+), 237 deletions(-)

commit 2d6ad03e863d0d0990d1b234a9e57de31a8669e3
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Tue Jan 17 01:29:26 2012 +0100

    Updated POTFILES.in

 po/POTFILES.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1dfc503df1085e197f291bc92a3af5495ec7f11d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Jan 16 23:49:49 2012 +0000

    Fix compiler warnings
    
    When dereferencing GArray.data to a C structure you need a double cast
    from guint8* to void*, and then from void* to the actual type. This
    avoids compiler warnings, especially when using clang on OSX.

 clutter/clutter-script-parser.c |    3 ++-
 clutter/clutter-state.c         |   31 ++++++++++++++++---------------
 clutter/clutter-table-layout.c  |   14 +++++++-------
 clutter/clutter-timeline.c      |    2 +-
 4 files changed, 26 insertions(+), 24 deletions(-)

commit eb489a40debd05735f9eed6f54ac4cae19e8be6e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:51:37 2012 +0000

    docs: Move deprecated sections to the proper location

 doc/reference/clutter/clutter-docs.xml.in |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit f41061b8dfbe972bbd58d802b4191cdf86a3c4b4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:36:32 2012 +0000

    actor: Deprecated push/pop internal methods
    
    The concept of "internal child" only meant anything when we had a
    separate API for containers and actors. Now that we plugged that
    particular hole, we can drop all the hacks we used to have in place
    to work around its design limitations.

 clutter/clutter-actor.c            |   12 +++++++++++-
 clutter/clutter-actor.h            |    3 ---
 clutter/deprecated/clutter-actor.h |    6 ++++++
 3 files changed, 17 insertions(+), 4 deletions(-)

commit ad2cfc01506ad08e91469bf269fcd50a0f337cfe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:31:06 2012 +0000

    docs: Fixes for the API reference

 clutter/clutter-actor.c                    |   16 +++++++++++++++-
 doc/reference/clutter/clutter-sections.txt |   22 ++++++++++------------
 2 files changed, 25 insertions(+), 13 deletions(-)

commit ea6ddd15349da9d5088800905e54efbd1b955a15
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:29:39 2012 +0000

    actor: Add boxed margin accessors
    
    It can be convenient to be able to set, or get, all the components of an
    actor's margin at the same time; since we already have a boxed type for
    storing a margin, an accessors pair based on it is not a complicated
    addition to the API.

 clutter/clutter-actor.c |   84 +++++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h |    4 ++
 2 files changed, 88 insertions(+), 0 deletions(-)

commit 8de4b85175712785b754c339c5c49060e92616d2
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Dec 28 18:37:16 2011 +0000

    docs: Update the release notes

 README.in |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit 25ca2f135cca1b88f09ecaf6f5ca0fa6a555b350
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Wed Dec 28 18:32:00 2011 +0000

    build: Add inclusion guards and license notices

 clutter/deprecated/clutter-actor.h     |   28 ++++++++++++++++++++++++++++
 clutter/deprecated/clutter-backend.h   |   28 ++++++++++++++++++++++++++++
 clutter/deprecated/clutter-container.h |    7 +++++--
 clutter/deprecated/clutter-group.h     |   27 ++++++++++++++++++++++++++-
 clutter/deprecated/clutter-main.h      |   25 +++++++++++++++++++++++++
 clutter/deprecated/clutter-stage.h     |   25 +++++++++++++++++++++++++
 6 files changed, 137 insertions(+), 3 deletions(-)

commit 6f4578838ca89aa42cf7ac80c908c4c3868d4dd2
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Dec 27 19:28:47 2011 +0000

    actor: Use proper internal API
    
    Inside the set_child_[above|below]_sibling() and set_child_at_index() we
    should be using the internal API for mutating the children list, instead
    of the delegate functions. This ensures that we go through a single,
    well-defined code path for all operations on the list of children of
    an actor.

 clutter/clutter-actor.c |  187 ++++++++++++++++++++++++++++-------------------
 1 files changed, 113 insertions(+), 74 deletions(-)

commit b835e1f8c4101c668589c2c760e251853c20474a
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Dec 27 18:57:32 2011 +0000

    Deprecate the old raise/lower API
    
    We have a replacement in ClutterActor, now.
    
    The old ClutterContainer API needs to be deprecated, and the raise() and
    lower() virtual functions need a default implementation, so we can check
    for implementations overriding them, by using the diagnostic mode like
    we do for add(), remove(), and foreach().
    
    The sort_depth_order() virtual function just doesn't do anything, as it
    should have been made ages ago.
    
    The Actor wrappers for the Container methods also need to be deprecated.

 clutter/clutter-actor.c                |   51 ++++----------
 clutter/clutter-actor.h                |    7 --
 clutter/clutter-container.c            |  111 +++++++++++++++++++++++++-------
 clutter/clutter-container.h            |   20 ++----
 clutter/deprecated/clutter-actor.h     |   14 ++++
 clutter/deprecated/clutter-container.h |   47 +++++++++-----
 6 files changed, 154 insertions(+), 96 deletions(-)

commit 9a66392d49f7403ac35d31edd96b580e4921600b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Dec 27 18:22:05 2011 +0000

    actor: Add new methods for changing the paint sequence
    
    ClutterActor provides four methods for changing the paint sequence order
    of its children:
    
      raise_top()
      raise()
      lower()
      lower_bottom()
    
    The first and last one being just wrappers around raise() and lower(),
    respectively. These methods have various issues: they omit the parent,
    preferring to retrieve it from the actor passed as the first argument;
    this does not match the new style of API introduced to operate on the
    list of children of an actor.
    
    Additionally, the raise() and lower() methods of ClutterActor call into
    the Container interface, and are not really aptly named (raise() in
    particular collides with the completely unrelated 'raise' keyword in
    Python, and usually needs to be wrapped in order to be used at all).
    
    Furthermore, we need public methods that Container can call from its
    default implementation, as well as methods to port current Container
    implementations.
    
    Finally, since we have insert_child_at_index(), we should also have an
    equivalent set_child_at_index() as well.

 clutter/clutter-actor.c          |  102 ++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h          |   10 ++++
 tests/conform/test-actor-graph.c |   10 ++--
 3 files changed, 118 insertions(+), 4 deletions(-)

commit fa1792c3949c551763c812188429db447566d1ef
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Dec 27 11:28:36 2011 +0000

    actor: Use flags to control add/remove child
    
    The internal versions of add_child() and remove_child() currently use
    boolean arguments to control things like the ChildMeta instances and
    the emissions of signals; using more than one boolean argument is an
    indication that you need flags to avoid readability issues, as well as
    providing a way to add new behaviours without a combinatorial explosion
    of arguments, later on.

 clutter/clutter-actor.c |  124 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 80 insertions(+), 44 deletions(-)

commit 72fa75c034ad0a3d94f4966e6644626e85b5b0e7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 21 17:07:25 2011 +0000

    actor: Remove automagic "expand" flag
    
    I don't feel comfortable with this feature, and its implementation
    still has too many rough edges. We can safely punt it for now, and
    introduce it at a later point, as it doesn't block existing features
    or API.

 clutter/clutter-actor.c          |  471 +-------------------------------------
 clutter/clutter-actor.h          |   10 -
 clutter/clutter-box-layout.c     |   57 +-----
 clutter/clutter-layout-manager.c |   16 --
 clutter/clutter-layout-manager.h |   10 +-
 clutter/clutter-table-layout.c   |   42 +---
 6 files changed, 14 insertions(+), 592 deletions(-)

commit 72b523c9e9b9d5f7688090e181bd80e4ab94b83e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 18:42:53 2011 +0000

    table-layout: Override compute_expand()
    
    The TableLayout has two expansion flags that need to be taken into
    consideration when computing the Actor expansion flags.

 clutter/clutter-table-layout.c |   56 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 48 insertions(+), 8 deletions(-)

commit 5f79f6ee3715dad19d0b471bbea91a5363e29cf9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 18:41:51 2011 +0000

    box-layout: Override compute_expand()
    
    ClutterBoxLayout has an expansion flag, and we need to take that into
    consideration when computing the Actor expansion flags.

 clutter/clutter-box-layout.c |   57 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 55 insertions(+), 2 deletions(-)

commit 508f09f0a0c326b9a04cf021d134611e75690dd5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 18:40:11 2011 +0000

    actor: Ask the LayoutManager to compute the expansion flags
    
    If an actor has a layout manager, we want to involve the delegate object
    into the lazy computation of the expansion flags state.

 clutter/clutter-actor.c |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

commit 29561165611b6c76315664271cc130bf37cf5c1e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 18:38:47 2011 +0000

    layout-manager: Add compute_expand() vfunc
    
    This virtual function will let layout managers with legacy expansion
    flags be able to influence the lazy computation of the expansion flags
    on ClutterActor.

 clutter/clutter-layout-manager.c |   16 ++++++++++++++++
 clutter/clutter-layout-manager.h |   12 +++++++++---
 2 files changed, 25 insertions(+), 3 deletions(-)

commit fd5e422b9fc58bec4cd98d626226b0ae03766e98
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 17:05:48 2011 +0000

    actor: Paint the background color in the paint class handler
    
    We need to paint the background color in the default class handler for
    two reasons: it's logically appropriate, and we don't want actor
    subclasses overriding the ::paint class handler to change behaviour only
    because somebody decided to set the background color.

 clutter/clutter-actor.c |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

commit 2aaf359272aa3b7a38e472bed10aff69caa7303b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 15:59:15 2011 +0000

    docs: Update the release notes

 README.in |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit e6082fe42f9fbee6b3e01ca86118fab455cca4b0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 15:49:20 2011 +0000

    docs: Clean up ClutterContainer's description
    
    The API to add/remove/iterate over children is in ClutterActor, now.

 clutter/clutter-container.c |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)

commit 7f092af15b46daba025d41646bb18c5d7ebb4d03
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 15:21:06 2011 +0000

    container: Add diagnostic warnings for deprecated vfuncs
    
    The old add(), remove(), and foreach() virtual functions are deprecated;
    ClutterContainer should warn if the public API detects that the vfuncs
    have been overridden.
    
    Strictly speaking, it's still legal to override those vfuncs: you can
    chain up to the default vtable, or you could just provide an equivalent
    implementation. The goal is to avoid having to override the Container
    interface, until we can safely deprecate it and remove it in Clutter
    2.0.

 clutter/clutter-container.c |   51 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 3 deletions(-)

commit 477c60c185fd666bf9ce207915cbffca4e8aaa02
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 15:04:24 2011 +0000

    container: Provide default implementation of vfuncs
    
    Instead of making ClutterActor implement the basic add/remove/foreach
    virtual functions of ClutterContainer, we can simply do that from
    within the ClutterContainer implementation.

 clutter/clutter-actor.c     |   49 -----------------------
 clutter/clutter-container.c |   92 +++++++++++++++++++++++++++---------------
 2 files changed, 59 insertions(+), 82 deletions(-)

commit 959f875cbcfd5c5b11818b589aeb6a284d046695
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 14:58:08 2011 +0000

    container: Deprecate more methods
    
    The get_children(), foreach(), and foreach_with_internals() methods and
    virtual functions are superceded by the Actor API, and should not be
    used in newly written code.

 clutter/clutter-container.c            |   15 +++++++++++++--
 clutter/clutter-container.h            |   17 +++++------------
 clutter/deprecated/clutter-container.h |   13 +++++++++++++
 3 files changed, 31 insertions(+), 14 deletions(-)

commit 4eaa899871924304f4eb635fdaad3ef0663de51a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 14:57:38 2011 +0000

    group: Use Actor.remove_all_children()
    
    To implement the remove_all() method.

 clutter/deprecated/clutter-group.c |   18 +++---------------
 1 files changed, 3 insertions(+), 15 deletions(-)

commit 1979faee0065d34b211e205d64f5484a58285480
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 14:56:54 2011 +0000

    cally: Use Actor.get_children()
    
    Instead of the Container method, given that the new get_children() gives
    us more actors by default.

 clutter/cally/cally-actor.c |   65 ++++++++++++++++++------------------------
 1 files changed, 28 insertions(+), 37 deletions(-)

commit b42f17b2dcab6d750124afb90b01612311b672ad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 14:47:35 2011 +0000

    tests/interactive: Add a simple test for Actor
    
    It's meant to be xincluded in the API reference.

 tests/interactive/Makefile.am  |    3 +-
 tests/interactive/test-actor.c |   62 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 64 insertions(+), 1 deletions(-)

commit 425ead5bd7316c415cff8094d30dca89ac59e347
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 14:47:04 2011 +0000

    actor: Add some debug spew

 clutter/clutter-actor.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

commit 86152f478db1ad0f51f97f341bcd7b1f6397d965
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 13:32:37 2011 +0000

    docs: Update the Actor API reference
    
    Given the size and scope of the changes in ClutterActor, we ought to
    rewrite the overall description of what an actor is, what it does, and
    how are you supposed to use it and subclass it.

 clutter/clutter-actor.c                            |  213 +++----
 doc/reference/clutter/Makefile.am                  |   16 +-
 doc/reference/clutter/clutter-docs.xml.in          |    5 +-
 doc/reference/clutter/clutter-sections.txt         |   65 ++-
 doc/reference/clutter/creating-behaviours.xml      |   68 --
 doc/reference/clutter/subclassing-ClutterActor.xml |  672 --------------------
 6 files changed, 175 insertions(+), 864 deletions(-)

commit 59590994737e2d05013c9941ac64ddb8a6d734eb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 18:48:02 2011 +0000

    Deprecate Container add() and remove() methods
    
    This will make things interesting.
    
    We have better replacements in ClutterActor, that do The Right Thing™
    instead of deferring control and requiring reimplementation in every
    single container actor.

 clutter/Makefile.am                    |    1 +
 clutter/clutter-actor.c                |   12 ++-
 clutter/clutter-bin-layout.c           |    3 +
 clutter/clutter-box-layout.c           |    3 +
 clutter/clutter-container.c            |  174 +++++++++++++++++++------------
 clutter/clutter-container.h            |   16 ---
 clutter/clutter-deprecated.h           |    1 +
 clutter/clutter-flow-layout.c          |    3 +
 clutter/clutter-script-parser.c        |    4 +-
 clutter/clutter-table-layout.c         |    3 +
 clutter/deprecated/clutter-box.c       |    3 +
 clutter/deprecated/clutter-container.h |   64 ++++++++++++
 12 files changed, 198 insertions(+), 89 deletions(-)

commit f61916fc5e81d9265896b42cf34d53c5af987d00
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 18:01:04 2011 +0000

    actor: Add remove_all_children()
    
    A simple method for removing all children of an actor in one fell swoop.

 clutter/clutter-actor.c           |   50 +++++++++++++++++++++++++++++++++---
 clutter/clutter-actor.h           |    1 +
 tests/conform/test-actor-graph.c  |   28 ++++++++++++++++++++
 tests/conform/test-conform-main.c |    3 +-
 4 files changed, 76 insertions(+), 6 deletions(-)

commit 673961f40cb69ad28806dfe763d74bac3662a8ad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 17:34:22 2011 +0000

    docs: Clarify the Actor's iterator API behaviour
    
    It should be noted in the documentation that it is not safe to operate
    on the list of children of an Actor while iterating over it.

 clutter/clutter-actor.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit 4f470b9231275c6966bde054f1eaf5f57bdd88f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 14:37:42 2011 +0000

    actor: Provide a proper implementation of replace_child()
    
    The correct sequence of actions should be remove(old) → insert(new), not
    insert(new) → remove(old). We can implement a simple delegate insertion
    functions to insert the new child between the previous and next siblings
    of the old child.
    
    While we're at it, let's also add a unit test for replace_child().

 clutter/clutter-actor.c           |   72 +++++++++++++++++++++++++++++++++++--
 tests/conform/test-actor-graph.c  |   60 ++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    1 +
 3 files changed, 130 insertions(+), 3 deletions(-)

commit 5cba8012073e36677a86abd9ac22a69153aa9be9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 12:13:23 2011 +0000

    actor: Fix get_paint_volume() default implementation
    
    Providing a default get_paint_volume() that takes into account the
    children of an actor was a goal of the whole First Apocalypse; if we
    make all the containers rely on it, and yet we return a FALSE value
    (meaning: we don't have a valid paint volume) even when we do have it,
    then we are going to break the whole machinery, though.

 clutter/clutter-actor.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 3ad77b417ce55a354945378e4a1aa22234540099
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 12:04:03 2011 +0000

    stage: Use the Actor iteration API

 clutter/clutter-stage.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit aa9e2a382c313d6b2ce13937268f9b1588ae5573
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 19 11:53:48 2011 +0000

    Remove usage of Actor/Container.get_children()
    
    ClutterBox and ClutterGroup are still using the get_children() method
    instead of the child iteration API.

 clutter/deprecated/clutter-box.c   |   23 ++++++++++++-----------
 clutter/deprecated/clutter-group.c |   10 +++++++---
 2 files changed, 19 insertions(+), 14 deletions(-)

commit 62535bdc7350fd65310bf94aea3583577cf5b10e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Dec 19 07:20:20 2011 +0000

    actor: Simplify first/last child updates

 clutter/clutter-actor.c |   45 +++++++++++++++++++--------------------------
 1 files changed, 19 insertions(+), 26 deletions(-)

commit ab429f4f4547863e5afa98ed622d478107dbb783
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 22:35:45 2011 +0000

    Drop some more ClutterContainer.get_children() uses

 clutter/clutter-layout-manager.c |   11 ++++-------
 clutter/clutter-script-parser.c  |   19 ++++++++-----------
 2 files changed, 12 insertions(+), 18 deletions(-)

commit ec6873958b2fbf820686006677da1e44647b910c
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 22:34:51 2011 +0000

    fixed-layout: Use the Actor iteration API
    
    Forgot to migrate the FixedLayout layout manager like we did for the
    other layout managers provided by Clutter.

 clutter/clutter-fixed-layout.c |   34 ++++++++++++++--------------------
 1 files changed, 14 insertions(+), 20 deletions(-)

commit 4d75e7a0f45c336441bf4cd218d5d922c8fd9897
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 22:33:24 2011 +0000

    cally: Use the Actor API instead of ClutterContainer
    
    Cally is doing a bunch of list traversals through the list returned by
    ClutterContainer.get_children(); this means a traversal already, plus
    a bunch of allocations. We can do better than that, now that we have
    a proper graph iteration API inside ClutterActor.

 clutter/cally/cally-actor.c |   74 ++++++++++++++----------------------------
 1 files changed, 25 insertions(+), 49 deletions(-)

commit bd58694678fc2f6cdd6b6727677c8370ea62493b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 22:14:36 2011 +0000

    actor: Add replace_child() method
    
    A simple method that atomically replaces a child actor with another one.

 clutter/clutter-actor.c |   30 ++++++++++++++++++++++++++++++
 clutter/clutter-actor.h |    3 +++
 2 files changed, 33 insertions(+), 0 deletions(-)

commit 238a6eb03de549249ff02dd3b3b82b9626f142cf
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 21:18:27 2011 +0000

    actor: Deprecate the old parent modifiers
    
    The old API should not be used in newly written code; we have better
    methods for setting up and modifying the scene graph, now.

 clutter/clutter-actor.c            |   30 +++++++++++++++++++++---------
 clutter/clutter-actor.h            |    6 ------
 clutter/deprecated/clutter-actor.h |   11 +++++++++++
 3 files changed, 32 insertions(+), 15 deletions(-)

commit f2015baeb76b68eb5c5ac20f7f4bbf8dc43c8499
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 21:09:44 2011 +0000

    conform/actor-graph: Add lower/raise units
    
    Check that the lower_bottom(), lower(), raise(), and raise_top()
    methods work as intended.

 tests/conform/test-actor-graph.c  |  106 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    2 +
 2 files changed, 108 insertions(+), 0 deletions(-)

commit 419a6a38f20781439669339c7a970d653523c5e7
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 20:59:07 2011 +0000

    conform: Add a suite for the Actor scene graph API
    
    Verify that insertion and removal maintain a stable graph, with pointers
    to the various children. This should help out tracking regressions in
    the scene graph API.

 tests/conform/Makefile.am         |    1 +
 tests/conform/test-actor-graph.c  |  147 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    7 +-
 3 files changed, 153 insertions(+), 2 deletions(-)

commit 813eef432548dd8bd1acfd3def86543d5530e24d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 20:57:02 2011 +0000

    actor: Fix child insertion issues
    
    The insert_child_at_index, insert_below and insert_above messed up the
    first and last child pointers in various cases. This commit fixes all
    the instances of first and last child pointers being stale or set to
    NULL.

 clutter/clutter-actor.c |   45 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 38 insertions(+), 7 deletions(-)

commit 7e377b5aeef1dbf970b7fba391ccc9957ecd8e90
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 11:26:29 2011 +0000

    Port remaining layout managers to the new child iteration API
    
    TableLayout and FlowLayout now use the ClutterActor API for iterating
    over the children of an actor.

 clutter/clutter-flow-layout.c  |   38 ++++++++-------
 clutter/clutter-table-layout.c |  104 ++++++++++++++++++++++++----------------
 2 files changed, 82 insertions(+), 60 deletions(-)

commit 9c9ab420600576d4b1ea127024f513a91c44bed0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 10:29:01 2011 +0000

    Begin porting layout managers to the new child iteration API
    
    Instead of getting the list of children to iterate over it, let's use
    the newly added child iteration API; this should save us a bunch of
    allocations, as well as indirections.
    
    Ported: ClutterBinLayout and ClutterBoxLayout.

 clutter/clutter-bin-layout.c |   34 ++++++++---------
 clutter/clutter-box-layout.c |   84 ++++++++++++++++++------------------------
 2 files changed, 52 insertions(+), 66 deletions(-)

commit 8b430507b5ba13f0caeae371251e0ae66da32b29
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Dec 18 10:26:35 2011 +0000

    actor: Add children iteration methods
    
    Instead of requiring every consumer of the ClutterActor API that wishes
    to iterate over the children of an actor to use the get_children()
    method, we should provide an iteration API directly inside ClutterActor
    itself.

 clutter/clutter-actor.c |   89 +++++++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-actor.h |   15 +++++---
 2 files changed, 97 insertions(+), 7 deletions(-)

commit 22259e09656a88dc0c080a0c327244cbfd78085b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 16 18:41:38 2011 +0000

    actor: Define the scene structure inside Actor
    
    Instead of storing the list of children, let's turn Actor inside a
    proper node of a tree.
    
    This change adds the following members to the Actor private data
    structure:
    
      first_child
      last_child
      prev_sibling
      next_sibling
    
    and removes the "children" GList from it; iteration is performed through
    the direct pointers to the siblings and children.
    
    This change makes removal, insertion before a sibling, and insertion
    after a sibling constant time operations, but it still retains the
    feature of ClutterActor.add_child() to build the list of children while
    taking into account the depth set on the newly added child, to allow the
    default painter's algorithm we employ inside the paint() implementation
    to at least try and cope with the :depth property (albeit in a fairly
    naïve way). Changes in the :depth property will not change the paint
    sequence any more: this functionality will be restored later.

 clutter/clutter-actor.c |  512 +++++++++++++++++++++++++---------------------
 1 files changed, 278 insertions(+), 234 deletions(-)

commit 71545ae56f3d9cee09810bc4808d023807f25276
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 12 11:57:45 2011 +0000

    actor: Use a cairo_rectangle_t instead of a ridiculous array
    
    Make the code maintainable and readable.

 clutter/clutter-actor.c |   69 +++++++++++++++++++++--------------------------
 1 files changed, 31 insertions(+), 38 deletions(-)

commit ea7111333b666338ed5e2c753ce186e012a8d0bd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 9 17:17:21 2011 +0000

    actor: Document fields of ClutterActorPrivate
    
    The private data structure members could do with more comments
    documenting what they do.

 clutter/clutter-actor.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit 9eed2f58a635bebf9066f188498e095599d0d76d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 9 14:38:25 2011 +0000

    actor: Add TransformInfo
    
    ClutterTransformInfo is a (private) ancillary data structure that
    contains all the decomposed transformation data, i.e. rotation angles
    and centers, scale factors and centers, and anchor point. This data
    structure is stored in the GData of the actor instance instead of the
    actor's private data. This change gives us:
    
      • a smaller, cleaner private data structure;
      • no size penalty for untransformed actors;
      • static constant storage for the defaults, shared across all
        instances;
      • cache locality for all the decomposed transformation data,
        given that the structure size is smaller.
    
    At the end of the day, the only authoritative piece of information for
    actor transformation is the CoglMatrix that we initialize in
    apply_transform() from all the decomposed parameters, and that can stay
    inside the private data structure of ClutterActor.

 clutter/clutter-actor-private.h |   58 +++
 clutter/clutter-actor.c         |  857 ++++++++++++++++++++++++---------------
 2 files changed, 589 insertions(+), 326 deletions(-)

commit 193af778663104bca0802821d5033f230eab91c0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 8 14:33:06 2011 +0000

    docs: Update the release notes

 README.in |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 376bf4a99084138b4728a80ac17fa0c0001892a9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 8 10:01:53 2011 +0000

    actor: Tweak the underallocation warning
    
    There are only two kinds of actors that allow underallocations,
    according to the API contract:
    
      • ClutterStage, as it is a viewport and it doesn't have an implicit
        minimum size;
    
      • Actors using the CLUTTER_ACTOR_NO_LAYOUT escape hatch, which allows
        them to bail out from our layout management policies.
    
    The warning about underallocations should take these two exceptions
    under consideration.

 clutter/clutter-actor.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

commit 6d268fe5ca5c0d97a64dc5a47cf29f549010c556
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:49:27 2011 +0000

    Deprecate ClutterRectangle
    
    A ClutterActor with a background color set covers 99% of the use cases
    for a Rectangle.

 clutter/Makefile.am                    |    8 +-
 clutter/clutter-deprecated.h           |    1 +
 clutter/clutter-rectangle.c            |  553 -------------------------------
 clutter/clutter-rectangle.h            |  102 ------
 clutter/clutter.h                      |    1 -
 clutter/deprecated/clutter-rectangle.c |  558 ++++++++++++++++++++++++++++++++
 clutter/deprecated/clutter-rectangle.h |  116 +++++++
 7 files changed, 679 insertions(+), 660 deletions(-)

commit 6237eb7892f9b14d4e42d7ac2262c0a42e5f8433
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:33:44 2011 +0000

    Deprecate ClutterGroup
    
    The Group functionality is now provided by ClutterActor.
    
    Sadly, we need to keep the ClutterGroup structure definition in the
    non-deprecated header because ClutterStage inherits from Group - an API
    wart that was never fixed during the 0.x cycles, and that we'll have to
    keep around until we can break API.

 clutter/Makefile.am                |    2 +-
 clutter/clutter-group.c            |  278 ----------------------------------
 clutter/clutter-group.h            |   12 +-
 clutter/deprecated/clutter-group.c |  289 ++++++++++++++++++++++++++++++++++++
 clutter/deprecated/clutter-group.h |   14 ++
 5 files changed, 310 insertions(+), 285 deletions(-)

commit b4d269705ea18a0374c120c5b2172e0f4060d269
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:18:23 2011 +0000

    Deprecate ClutterBox
    
    ClutterBox functionality has been implemented by ClutterActor, and
    proxied by the Box subclass; with the removal of the abstract bit on
    ClutterActor, we can safely deprecated ClutterBox.

 clutter/Makefile.am              |    4 +-
 clutter/clutter-box.c            |  703 ------------------------------------
 clutter/clutter-box.h            |  127 -------
 clutter/clutter-deprecated.h     |    1 +
 clutter/clutter.h                |    1 -
 clutter/deprecated/clutter-box.c |  732 ++++++++++++++++++++++++++++++++++++++
 clutter/deprecated/clutter-box.h |  142 ++++++++
 7 files changed, 877 insertions(+), 833 deletions(-)

commit a6df0b6a53ac7946acd758529403cebe64716d43
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:44:04 2011 +0000

    cally: Do not use Group API
    
    Avoids a deprecation warning.

 clutter/cally/cally-group.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7fd35edd3fae2bc6181de79f5d0be0d82034e9fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 16:09:53 2011 +0000

    actor: Make Actor instantiatable
    
    ClutterActor now has all the API and capabilities for being a concrete
    class:
    
      - layout management, through delegation
      - container implementation and API
      - background color
    
    This means that a simple scene can be built straight out of actors
    without using subclasses except for the Stage.
    
    This is the first step towards the deprecation of most of the Actor
    subclasses provided by Clutter.

 clutter/clutter-actor.c           |   40 ++++++++++++++++++++++++++----------
 clutter/clutter-actor.h           |    4 ++-
 tests/conform/test-actor-layout.c |   24 ++++++++++++++-------
 3 files changed, 48 insertions(+), 20 deletions(-)

commit 8caee3e97e27c4240c57f85c0381a4f11b8d959f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 16:00:49 2011 +0000

    group: Proxy last few methods to Actor
    
    At this point, ClutterGroup is basically just a shim layer on top of
    ClutterActor.

 clutter/clutter-group.c |   24 +++++-------------------
 1 files changed, 5 insertions(+), 19 deletions(-)

commit 4acf8de8b460f87910e1d8c7105028546dce66d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 16:00:08 2011 +0000

    actor: Provide more children methods
    
    Add a getter for the number of children, as well as a method to retrieve
    the child at a given index.

 clutter/clutter-actor-private.h |    1 -
 clutter/clutter-actor.c         |   36 +++++++++++++++++++++++++++++++++++-
 clutter/clutter-actor.h         |    5 ++++-
 3 files changed, 39 insertions(+), 3 deletions(-)

commit b86cf3e2f3e240dde97838ff922d03d4e7004cd5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 13:08:41 2011 +0000

    group: Use the default get_paint_volume()
    
    ClutterActor does everything we did, and more.

 clutter/clutter-group.c |   34 ----------------------------------
 1 files changed, 0 insertions(+), 34 deletions(-)

commit e62536fad67e8e8250c0828006edafd6190c3d7d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 12:45:08 2011 +0000

    actor: Provide a better get_paint_volume() implementation
    
    ClutterActor can do better by default than just giving up immediately.
    
    An actor can check for the clip region, and for its children's paint
    volume, for instance.
    
    Just these two should give us a better default implementation for newly
    written code.

 clutter/clutter-actor.c |   60 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

commit 7195d0fccf073f348177db6cb6aa495cf5a52181
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 10:25:42 2011 +0000

    flow-layout: Fix minimum size request
    
    The minimum preferred size of a Flow layout manager is the size of a
    column or a row, as the whole point of the layout policy enforced by
    the Flow layout manager is to reflow when needed.

 clutter/clutter-flow-layout.c        |    4 ++--
 tests/interactive/test-flow-layout.c |    6 ++----
 2 files changed, 4 insertions(+), 6 deletions(-)

commit ba093ed5e797c9ee52be4f43527dcfe2d9680a2c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 10:19:45 2011 +0000

    box: Proxy the Actor's background color properties
    
    ClutterBox's color and color-set properties can be implemented as
    proxies for the ClutterActor's newly added background-color and
    background-color-set properties, respectively.
    
    This also allows us to get rid of the paint() implementation inside
    ClutterBox altogether.

 clutter/clutter-box.c |  112 ++++++++++++++----------------------------------
 1 files changed, 33 insertions(+), 79 deletions(-)

commit 98a8feae6414fcb427a242cdb86a91c1e07400f0
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Dec 5 08:41:51 2011 +0000

    actor: Background color
    
    Each actor should have a background color property, disabled by default.
    
    This property allows us to cover 99% of the use cases for
    ClutterRectangle, and brings us one step closer to being able to
    instantiate ClutterActor directly.

 clutter/clutter-actor.c |  137 ++++++++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-actor.h |    5 ++
 2 files changed, 141 insertions(+), 1 deletions(-)

commit 7d88a70b7807db4897a8dad24e657d8ac459cc4a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 16:16:26 2011 +0000

    actor: Cosmetic fixes to internal add/remove child
    
    Avoid code duplication all over the place.

 clutter/clutter-actor.c |   63 ++++++++++++++++++++++++++++------------------
 1 files changed, 38 insertions(+), 25 deletions(-)

commit 24a451b388c15c2f4d6987d4634ed5dae3cb91cd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 15:38:25 2011 +0000

    conform/layout: Remove last Container.add_actor() usage
    
    Use clutter_actor_add_child(), now that Stage falls back to the default
    implementation of Container provided by the Actor class.

 tests/conform/test-actor-layout.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3f877a3d7120854ab98f350f430d5f8a721a213e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 15:36:58 2011 +0000

    group: Use the default paint() implementation
    
    ClutterActor's paint implementation is perfectly fine for ClutterGroup:
    it paints the actor's children, which is exactly what ClutteGroup does.

 clutter/clutter-group.c |   19 -------------------
 1 files changed, 0 insertions(+), 19 deletions(-)

commit 798a2e5297646d9455a36400f4958fa5f7921f2a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 14:41:55 2011 +0000

    actor: Minor cosmetic fixes to the header

 clutter/clutter-actor.h |  104 ++++++++++++++++++++++------------------------
 1 files changed, 50 insertions(+), 54 deletions(-)

commit b869019eb27735ac170661f0c365dc817533129d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 12:12:40 2011 +0000

    group: Do not override Container
    
    Let ClutterActor do all the work.

 clutter/clutter-group.c |  276 ++++++++---------------------------------------
 1 files changed, 47 insertions(+), 229 deletions(-)

commit ef3dc2d1bac85b958b3bb8cf32d8045978c1a853
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Dec 2 11:51:15 2011 +0000

    actor: Make Actor.add_child and Container.add_actor idempotent
    
    And make sure that overriding Container and calling
    clutter_actor_add_child() will result in the same sequence of operations
    as the current set_parent()+queue_relayout()+signal_emit pattern.
    
    Existing containers can continue using:
    
            clutter_actor_set_parent (child, CLUTTER_ACTOR (container));
            clutter_actor_queue_relayout (CLUTTER_ACTOR (container));
            g_signal_emit_by_name (container, "actor-added", child);
    
    and newly written containers overriding Container.add() can simply call:
    
            clutter_actor_add_child (CLUTTER_ACTOR (container), child);
    
    instead.

 clutter/clutter-actor.c           |  132 ++++++++++++++++++++++++++-----------
 tests/conform/test-actor-layout.c |   12 ++--
 2 files changed, 100 insertions(+), 44 deletions(-)

commit 2894587b221352241d8eb5fdb1136d9856c36b3c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 29 18:10:57 2011 +0000

    actor: Do not leak the layout manager

 clutter/clutter-actor.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 038aadfa72c2c286e40564410a3b317f629180ea
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 29 18:03:05 2011 +0000

    box: Drop Container interface overrides
    
    And defer as much as possible to ClutterActor's default implementation
    for basically everything.

 clutter/clutter-box.c |  213 +++++--------------------------------------------
 1 files changed, 19 insertions(+), 194 deletions(-)

commit b7737855338f6dbb9c647a47a69354d368bdda60
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 29 18:02:20 2011 +0000

    actor: Implement Container::sort_depth_order
    
    There's no reason this vfunc should be left out.

 clutter/clutter-actor.c |   27 +++++++++++++++++++++++++++
 1 files changed, 27 insertions(+), 0 deletions(-)

commit 86ec629776a1fd0661bb298b46b8d706ca17ac3e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 29 17:41:33 2011 +0000

    actor: Add child insertion methods
    
    We should allow inserting children at given indices, and at given
    stacking positions (relative or not to other children).

 clutter/clutter-actor.c |  268 ++++++++++++++++++++++++++++++++++++++++++-----
 clutter/clutter-actor.h |   18 +++-
 2 files changed, 256 insertions(+), 30 deletions(-)

commit 8c2118542c565f6a81c0cda559eb979a766165b2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 28 17:42:49 2011 +0000

    conform: Begin a test suite for layout options
    
    A simple sampling check to validate that we're painting the right thing
    at the right place.

 tests/conform/Makefile.am         |    3 +-
 tests/conform/test-actor-layout.c |  288 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    2 +
 3 files changed, 292 insertions(+), 1 deletions(-)

commit 37d46649ce56ec55aaf23f7b745ae25224cf170a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 28 15:30:52 2011 +0000

    actor: Adjust the preferred size too
    
    Don't adjust just the allocation: we need to adjust the preferred size
    of the actor to account for the margin.

 clutter/clutter-actor.c |  346 +++++++++++++++++++++++++++++++----------------
 clutter/clutter-actor.h |    1 +
 clutter/clutter-types.h |    4 +-
 3 files changed, 230 insertions(+), 121 deletions(-)

commit bf275751879848ff90fafe05fe9eb1c58f4f6190
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Nov 25 10:27:01 2011 +0000

    actor: Maintain invariants in add_child/remove_child
    
    We need to queue a relayout when removing a visible child from a visible
    parent.
    
    We also need to insert the child at the right position (depending on the
    depth) so that newly added actors will be painted on top.

 clutter/clutter-actor.c |  580 +++++++++++++++++++++++++++++++++++++++++++++--
 clutter/clutter-actor.h |    2 +
 clutter/clutter-types.h |   11 +
 3 files changed, 572 insertions(+), 21 deletions(-)

commit 9d9e98968f0373de795e0399c27c6c28dd9780cd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 24 14:34:18 2011 +0000

    actor: More cleanups to the Private data structure
    
    Try to document it properly. We can also remove some things that are
    properly encapsulated through functions, like the redraw clip volume.

 clutter/clutter-actor.c |   87 ++++++++++++++++++++++++-----------------------
 clutter/clutter-stage.c |    6 +--
 2 files changed, 46 insertions(+), 47 deletions(-)

commit 913276976789aba4f5b833d3bcb5d6fb0b260bd8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 24 14:13:29 2011 +0000

    actor: Store the fixed sizes into LayoutInfo
    
    Remove four more floats from ClutterActorPrivate.
    
    The fixed minimum and natural sizes should be stored inside the
    ClutterLayoutInfo structure, along with the fixed position.

 clutter/clutter-actor-private.h |    9 ++
 clutter/clutter-actor.c         |  200 ++++++++++++++++++++++++++++-----------
 2 files changed, 152 insertions(+), 57 deletions(-)

commit b4d3b52b625717ee66c7e01d810559ac6ac8f8ef
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 24 14:11:00 2011 +0000

    actor: Update the underallocations check
    
    Add a failsafe against a NULL parent, to avoid a segfault when calling
    clutter_actor_allocate() on the Stage.
    
    We also need to deal with floating point values: straight comparison is
    not going to cut it.

 clutter/clutter-actor.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 409c3ed8ff15352aa600e45efbb59360edf69513
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 23 18:16:29 2011 +0000

    actor: Adjust the allocation prior to call allocate()
    
    ClutterActor has various properties controlling the allocation:
    
      - x-align, y-align
      - margin-top, margin-bottom, margin-left, margin-right
    
    These properties should adjust the ClutterActorBox passed from the
    parent actor to its children when calling clutter_actor_allocate(),
    so that the child can just allocate its children at the right origin
    with the right available size.

 clutter/clutter-actor-private.h |   32 +++
 clutter/clutter-actor.c         |  402 +++++++++++++++++++++++++++++----------
 2 files changed, 329 insertions(+), 105 deletions(-)

commit a85c53ea0bce23a369c7e5225c0a36d500a460b7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 22 17:03:00 2011 +0000

    actor: Clean up property installation

 clutter/clutter-actor.c |  798 ++++++++++++++++++++++-------------------------
 1 files changed, 377 insertions(+), 421 deletions(-)

commit a2a38ee7976c0c7e51eea89f3f12479a5afd5371
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 21 17:45:32 2011 +0000

    actor: Add margin properties
    
    The actor class should be able to hold the margin offsets like it does
    for expand and alignment flags.
    
    Instead of filling the private data structure with data, we should be
    able to use an ancillary data structure, given that all this data is
    optional and might never be set in the first place.

 clutter/clutter-actor.c |  474 ++++++++++++++++++++++++++++++++++++++++++-----
 clutter/clutter-actor.h |   13 ++
 clutter/clutter-types.h |   16 ++
 3 files changed, 452 insertions(+), 51 deletions(-)

commit c8659b6ca562154734f10338136aa9d148e0c13f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 21 17:24:03 2011 +0000

    actor: Add [xy]-align
    
    Allow an actor to define how it should occupy the extra space given to
    by its parent during the allocation.

 clutter/clutter-actor.c |  101 +++++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h |    7 +++
 clutter/clutter-enums.h |   27 ++++++++++++
 3 files changed, 135 insertions(+), 0 deletions(-)

commit 4453ee7266944e82bce30a5d84e15d94db83df0b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 21 14:53:14 2011 +0000

    actor: Provide Container::raise/lower implementations

 clutter/clutter-actor.c |   67 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 57 insertions(+), 10 deletions(-)

commit 752151bc975bbaa0ecd8e67d5125e9051faa5eb8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 21 14:52:39 2011 +0000

    actor: Remove is-a(Container) checks
    
    All actors are now Container implementations, so there's no need to add
    a type check.

 clutter/clutter-actor.c |   37 ++++++++++++++-----------------------
 1 files changed, 14 insertions(+), 23 deletions(-)

commit f2609dcca4ead9014dc81867b07c50666df4639b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Nov 20 22:00:01 2011 +0000

    actor: Add [xy]-expand properties

 clutter/clutter-actor.c |   99 +++++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h |    7 +++
 2 files changed, 106 insertions(+), 0 deletions(-)

commit d5086da3fd3c32ddb5359c7d0dc5b64700138a98
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 17 17:26:15 2011 +0000

    box: Defer to ClutterActor
    
    Use the default implementation inside ClutterActor instead of our own,
    wherever possible.

 clutter/clutter-box.c |  158 +++++-------------------------------------------
 1 files changed, 17 insertions(+), 141 deletions(-)

commit 1c40151d0e38be7cc999febf126c0f151ed051d0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 8 11:57:19 2011 +0000

    actor: Default to a fixed layout manager
    
    In case no layout manager was set during construction, we fall back to a
    FixedLayout. The FixedLayout has the property of making the fixed
    positioning and sizing API, as well as the various Constraints, work
    out of the box.

 clutter/clutter-actor.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

commit 11e876c86ba85e55c851201bedf8c5b6685091cc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 17 17:07:10 2011 +0000

    actor: Add :layout-manager
    
    Now that ClutterActor implements the Container contract we can actually
    defer the size negotiation to a ClutterLayoutManager directly from the
    default implementation of the Actor's virtual functions.

 clutter/clutter-actor.c          |  144 ++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h          |    4 +
 clutter/clutter-layout-manager.h |    1 -
 clutter/clutter-types.h          |    1 +
 4 files changed, 149 insertions(+), 1 deletions(-)

commit b45d78e6a17dea19db4c3369f3062ee5a1ed3a1d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 17 16:32:05 2011 +0000

    actor: Provide a default Container implementation
    
    We can provide most of the ClutterContainer implementation directly
    within ClutterActor — basically removing the need of having the
    Container interface in the first place. For backward compatibility
    reasons we can keep the interface, but let Actor implement it directly.

 clutter/clutter-actor.c |   82 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

commit 8462b5ba458bb6fff93ecf7c8b74c6cf3101fd3c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 17 15:23:05 2011 +0000

    Do not use set_parent()/unparent() internally
    
    Use add_child()/remove_child() instead.

 clutter/clutter-actor.c   |   12 ++++++------
 clutter/clutter-box.c     |    6 +++---
 clutter/clutter-group.c   |    4 ++--
 clutter/clutter-texture.c |   25 +++++++++++++++----------
 4 files changed, 26 insertions(+), 21 deletions(-)

commit 53aa64aeb9107ca0afc47a4aeb8667f5820c0190
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 17 15:03:32 2011 +0000

    actor: Provide add/remove child and get children methods
    
    Let's try and move away from the reverse implicit scene graph build API,
    which we mutuated from GTK+, towards a more traditional node/child API.
    
    The set_parent()/unparent() API is confusing, unless you know the
    history; having a add_child()/remove_child() methods pair makes it more
    explicit.
    
    We can easily implement the old set_parent()/unparent() pair in terms of
    the newly add_child()/remove_child() one.

 clutter/clutter-actor.c |  180 +++++++++++++++++++++++++++++------------------
 clutter/clutter-actor.h |    5 ++
 2 files changed, 116 insertions(+), 69 deletions(-)

commit 0396d3e7e6243037503d0bf220448caea13fea88
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 16 15:22:43 2012 +0000

    Remove use of CoglVector3
    
    Cogl has removed the CoglVector3 type in favour of directly using an
    array of 3 floats.
    
    Reviewed-by: Robert Bragg <robert@linux.intel.com>

 clutter/clutter-paint-volume.c |   11 ++++++-----
 clutter/clutter-private.h      |    4 ++--
 clutter/clutter-stage.c        |   32 ++++++++++++++++----------------
 3 files changed, 24 insertions(+), 23 deletions(-)

commit 7c14ba7d374db06db737b5b5e2df154ae5564df2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 13 16:21:15 2012 +0000

    actor: Clean up the debug node for out-of-band transforms
    
    Enclose the check inside a #ifdef CLUTTER_ENABLE_DEBUG ... #endif, so
    that we can compile it out; also, use g_string_append() instead of the
    g_string_append_printf() function, given that we're just concatenating
    strings.

 clutter/clutter-actor.c |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

commit f2a4aee41254ff9eb44655de4d2c5e8f7767e5cb
Author: Fran Diéguez <fran.dieguez@mabishu.com>
Date:   Sun Jan 15 00:19:35 2012 +0100

    Updated Galician translations

 po/gl.po |  606 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 315 insertions(+), 291 deletions(-)

commit e0e6b72b67e9c8c258a8e78fccf3655204b4a9e1
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 23:20:59 2012 +0000

    clutter.modules: Bump json-glib

 build/clutter.modules |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 646cf236a5dfba480f18f7dd82467ac3d2fe238f
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 13:31:21 2012 +0000

    backend: Remove ClutterBackend::redraw
    
    The ::redraw virtual function was a throwback from olden times, and has
    been thoroughly replaced by the equivalent vfunc on the StageWindow
    interface. We can safely remove it, now, and simplify the flow of the
    redraw code inside ClutterStage.

 clutter/clutter-backend-private.h |   81 ++++++++++++++++--------------------
 clutter/clutter-backend.c         |   39 ------------------
 clutter/clutter-stage.c           |   23 ++++++++++-
 3 files changed, 58 insertions(+), 85 deletions(-)

commit 0c365f9f4c920274e1c1b8190b6bc804260355c6
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:49:16 2012 +0000

    gesture-action: Protect against NULL pointers

 clutter/clutter-gesture-action.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 3b9b69ef54b0a90200477dd846921c46e01c2044
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:49:02 2012 +0000

    gesture-action: Use the event propagation macros

 clutter/clutter-gesture-action.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit d83fbd7bdf8cbeb5019e0be02ba4f0ac0aa5c436
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:44:28 2012 +0000

    docs: Add the ::destroy change in the release notes
    
    Given that I had to fix code inside Clutter that did not check for NULL
    pointers, I assume other people may experience the same issues.

 README.in |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 99f7d627afd77852af0a038cab4a4e67c61450df
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:40:38 2012 +0000

    text: Use the event and source symbolic macros
    
    Instead of boolean values.

 clutter/clutter-text.c |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

commit 21149adb12643b34b959aa6c889322dbae1a2fff
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:39:59 2012 +0000

    drop-action: Use the event propagation macros

 clutter/clutter-drop-action.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 81694d0dd969d41e8e9825f504c1e07603c2afd2
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:34:50 2012 +0000

    drag-action: Use the new event propagation macros

 clutter/clutter-drag-action.c |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

commit cce2e25ac7ef395d880352c93272256ea088c2dd
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:34:26 2012 +0000

    deform-effect: Check against NULL pointers
    
    Do not try to disconnect signal handlers from NULL pointers.

 clutter/clutter-deform-effect.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 20e63532a4ed9b2a3476f0bf5e7cd45279ee2d13
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:27:17 2012 +0000

    click-action: Use the new symbolic event propagation macros

 clutter/clutter-click-action.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit dbf3b607bf1b295c782ab8edfb2d80bc25f74a37
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:26:47 2012 +0000

    click-action: Be resilient against NULL pointers
    
    Do not try to disconnect signal handlers from NULL pointers.

 clutter/clutter-click-action.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 8e6b3914ef77fc80af9fc5ca84b755c84551a245
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:17:01 2012 +0000

    build: Remove a bunch of useless checks
    
    Some pkg-config dependencies are still there from the days when Cogl
    was in tree - and even then, they barely made sense.

 .gitignore   |    1 +
 configure.ac |   33 +++++----------------------------
 2 files changed, 6 insertions(+), 28 deletions(-)

commit 7ca37b6e58a8aed699fd2d461fcbb9a2704550a7
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Jan 12 10:10:09 2012 +0000

    build: Fix the private pkg-config requirements
    
    Private pkg-config requirements are conditional.

 configure.ac |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

commit ed9c3ee54ebafb6e477cafc39d36cc96574938ee
Author: Rob Bradford <rob@linux.intel.com>
Date:   Wed Jan 11 12:26:00 2012 +0000

    wayland: Pull gdk-pixbuf in a private dependency
    
    This means it will get tested for explicitly as well as appearing in the
    Requires.private section of the pkg-config file.

 configure.ac |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 4afe793eedc6b822ac2aa9465808239cacaa9cf8
Author: Rob Bradford <rob@linux.intel.com>
Date:   Wed Jan 11 12:23:46 2012 +0000

    build: Add infrastructure for inserting Requires.private into pkg-config files

 clutter/clutter.pc.in |    2 ++
 configure.ac          |    5 +++++
 2 files changed, 7 insertions(+), 0 deletions(-)

commit a9e6137f4727750e391b105581b4fd17acb09c31
Author: Rob Bradford <rob@linux.intel.com>
Date:   Tue Jan 10 17:25:35 2012 +0000

    wayland: Attach cursor buffer to input device when it enters the surface
    
    The Wayland semantics mean that we must attach a buffer to the input device
    when the pointer enters the surface to provide a cursor.

 clutter/wayland/clutter-input-device-wayland.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

commit e1434cebdb7b77ef39296eb80cb4b928a5267c2c
Author: Rob Bradford <rob@linux.intel.com>
Date:   Tue Jan 10 16:40:59 2012 +0000

    wayland: Load a buffer from well known location for the cursor
    
    Semantic changes to Wayland means that we cannot rely on the compositor
    setting a pointer buffer for us if set it to nil. The first part of fixing
    this is to create an shm buffer containing the bytes for our cursor.
    
    The best way to do this currently is to load the cursor from the well known
    location where weston instals its cursor images. The code to implemente this
    was derivedlifted from the Wayland backend in GTK+.

 clutter/wayland/clutter-backend-wayland.c |  179 +++++++++++++++++++++++++++++
 clutter/wayland/clutter-backend-wayland.h |    3 +
 2 files changed, 182 insertions(+), 0 deletions(-)

commit 3c99fd2ddbdda96896acd2023cb2dbdeb7ff2544
Author: Ryan Lortie <desrt@desrt.ca>
Date:   Mon Jan 9 16:04:08 2012 +0100

    Prevent .po file updates on simple 'make'
    
    https://bugzilla.gnome.org/show_bug.cgi?id=661128

 autogen.sh         |    4 +
 po/clutter-1.0.pot | 2202 ----------------------------------------------------
 2 files changed, 4 insertions(+), 2202 deletions(-)

commit de942120242ec1257670b624b64a0102e1090f8b
Author: Alexander Shopov <ash@kambanaria.org>
Date:   Sun Jan 8 14:30:48 2012 +0200

    Updated Bulgarian translation

 po/bg.po | 1042 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 540 insertions(+), 502 deletions(-)

commit d8e855e5854f57053f6fad491e9860dcc7287e56
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Jan 7 10:41:25 2012 +0000

    osx: Use Lucida Grande as the default font
    
    Instead of falling back to the generic "Sans".

 clutter/osx/clutter-backend-osx.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

commit 95d3e0f962a896bdfa24945b50e82ccd6d4e1495
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 6 14:04:43 2012 +0000

    actor: Change the point of emission of ::destroy
    
    Currently, we're emitting the ClutterActor::destroy at the end of the
    dispose implementation - right before we chain up to the parent
    implementation.
    
    The point of emission makes the ::destroy signal handlers able to just
    use the actor pointer - as the actor state will have been mostly cleared
    by the time application can run. This (undocumented) behaviour severely
    limits the amount of things you can do inside a ::destroy signal
    handler, thus making the ::destroy signal just a weird weak reference,
    instead of a proper way to break application reference cycles.
    
    Given that this change relaxes some of the conditions, this change
    should be safe - obviously, if anything happens, we'll back it out; the
    conformance and interactive tests confirm that, for common patterns of
    usage, this change does not break existing code.

 clutter/clutter-actor.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit fa39f67eab9af470cc815a8900806567cd966721
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 6 14:02:54 2012 +0000

    actor: Use g_clear_object()
    
    GLib has a nice, atomic object clearing function that allows us to drop
    code looking like:
    
      if (priv->object != NULL)
        {
          g_object_unref (priv->object);
          priv->object = NULL;
        }
    
    from the ::dispose implementation.

 clutter/clutter-actor.c |   34 +++++-----------------------------
 1 files changed, 5 insertions(+), 29 deletions(-)

commit 88aaad9bdf22ae7d5d1c317d894faecc5d4a125c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:38:56 2012 +0000

    docs: Add event propagation symbolic constants

 doc/reference/clutter/clutter-sections.txt |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit e3511fcbac0eab551abd6038894ff2d17d8a1a23
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 14:00:40 2012 +0000

    configure: Clean up help and configuration summary

 configure.ac |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

commit f5fffb355b546cd36621b1de0bf15472da10f782
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 13:50:06 2012 +0000

    Move Perspective and Fog definitions to clutter-types.h
    
    Since we reference the types from multiple files.

 clutter/clutter-stage.h |    7 -------
 clutter/clutter-types.h |    4 ++++
 2 files changed, 4 insertions(+), 7 deletions(-)

commit fd1196c7b5b70f4f827998b19189c05ad699ad36
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 3 12:10:28 2012 +0000

    docs/cookbook: Mention the event control macros
    
    Now that we have symbolic names for event propagation values for signal
    handlers, we ought to mention them in the cookbook.

 doc/cookbook/events.xml |   26 ++++++++++++++++----------
 1 files changed, 16 insertions(+), 10 deletions(-)

commit 6184bf1b6e19fb73d96f20aa4f6bdf26ec299a0e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 12:28:06 2011 +0000

    Add symbolic constants for event propagation
    
    I always have to think twice before returning a value from an event
    signal handler, and I've been writing them for the past 10 years, so
    it's conceivable that application developers that start with Clutter
    will find them confusing as well.
    
    Simple symbolic names should be easier to use.

 clutter/clutter-event.h |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

commit 83c560db984d188bc814fa02f2ff81f2d8e10055
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Dec 30 10:34:54 2011 +0000

    docs: Update the release notes

 README.in |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit e689d0180056a2b02757c896910ff649187958fd
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Dec 30 10:23:15 2011 +0000

    stage: Deprecate :use-fog and :fog
    
    The depth cueing through GL fog has been broken for a long while, now.
    
    The fog-related API in Clutter is ridiculously limited, and harks back
    to simpler times; the ClutterFog structure is not enough to express all
    the GL fog machinery, and required application code to connect to the
    Stage's paint implementation and drop into Cogl directly.
    
    Additionally, the fixed pipeline fog machinery in GL simply does not
    work with premultiplied alpha, unless you use a shader - and in that
    case it would only work for textures. Let's deprecate it, and just
    don't do anything if somebody has the brilliant idea of setting the
    :use-fog property to TRUE.

 clutter/clutter-stage.c            |   44 +++++++----
 clutter/clutter-stage.h            |  153 ++++++++++++++++-------------------
 clutter/deprecated/clutter-stage.h |   14 +++
 3 files changed, 113 insertions(+), 98 deletions(-)

commit 65889fa075f6123caf0d47568413466e039b5eef
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Dec 30 09:51:36 2011 +0000

    box: Remove the sentinel annotation
    
    Sadly, we need to remove the G_GNUC_NULL_TERMINATED annotation from
    ClutterBox packing API; the compiler will otherwise emit a warning
    for perfectly legal statements like:
    
      clutter_box_pack (box, child, NULL);
    
    because of the missing sentinel.
    
    See also: g_object_new().

 clutter/clutter-box.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 180eecbce6b77539d112a19bb9887812546ef05e
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Dec 27 21:39:13 2011 +0000

    docs: Document CLUTTER_ENABLE_DIAGNOSTIC
    
    Add a note in the API reference.

 doc/reference/clutter/running-clutter.xml |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 7d4a9c6f1e8e6f77688a5d15fc2644769d2a60a1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 20 15:17:54 2011 +0000

    Add diagnostic mode
    
    GLib has a "diagnostic mode" switch that can be checked to enable debug
    messages on deprecated properties and signals, as these are purely
    run-time constructs, and as such cannot be caught by compiler warnings.
    The diagnostic mode is toggled by a simple environment variable, and
    can be used to ease porting of application code.
    
    We can use something similar to mark deprecated virtual functions and
    other run-time constructs; to avoid collisions, we should use our own
    environment variable, CLUTTER_ENABLE_DIAGNOSTIC.

 clutter/clutter-main.c    |   31 +++++++++++++++++++++++++++++++
 clutter/clutter-private.h |    4 ++++
 2 files changed, 35 insertions(+), 0 deletions(-)

commit db246569b78c500caf2e8c58921bee0fc47b6bf8
Author: Kjartan Maraas <kmaraas@gnome.org>
Date:   Wed Dec 21 22:06:54 2011 +0100

    Updated Norwegian bokmål translation

 po/nb.po | 1046 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 542 insertions(+), 504 deletions(-)

commit b882fcd8258f02a968dca381e498a3f1877bda5c
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Sun Dec 18 23:20:04 2011 -0500

    clutter-text: Fix memory leak

 clutter/clutter-text.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 20bc5c2057f8bad1910c64e8ee49b6b798fbe8bc
Author: Matej Urbančič <mateju@svn.gnome.org>
Date:   Sat Dec 17 18:59:49 2011 +0100

    Updated Slovenian translation

 po/sl.po |  114 +++++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 69 insertions(+), 45 deletions(-)

commit c4590e59c72ac4253c4ede1badd4684bb616b30c
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Tue Dec 13 13:07:46 2011 +0800

    Visual C++ 2008 projects update
    
    Refines things a little bit from the last Visual C++ 2008 project updates.

 build/win32/vs9/cally-atkcomponent-example.vcproj  |    8 ++++----
 .../win32/vs9/cally-atkeditabletext-example.vcproj |    8 ++++----
 build/win32/vs9/cally-atkevents-example.vcproj     |    8 ++++----
 build/win32/vs9/cally-atktext-example.vcproj       |    8 ++++----
 build/win32/vs9/cally-clone-example.vcproj         |    8 ++++----
 build/win32/vs9/clutter.vsprops                    |   10 +++++-----
 6 files changed, 25 insertions(+), 25 deletions(-)

commit 1dd28537c4a3af3fffbcc4d85ec1c98126524d7b
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Tue Dec 13 13:05:16 2011 +0800

    Update Visual C++ 2010 Projects
    
    Disable deprecation warning messages for the accessibility, performance
    and micro-bench programs.

 build/win32/vs10/clutter.props            |    8 ++++++--
 build/win32/vs10/test-cogl-perf.vcxproj   |    8 ++++----
 build/win32/vs10/test-picking.vcxproj     |    8 ++++----
 build/win32/vs10/test-random-text.vcxproj |    8 ++++----
 build/win32/vs10/test-text-perf.vcxproj   |    8 ++++----
 build/win32/vs10/test-text.vcxproj        |    8 ++++----
 6 files changed, 26 insertions(+), 22 deletions(-)

commit 91b0aadbd400f0df69f7c80f456cb0ca06c17f8b
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Tue Dec 13 12:56:53 2011 +0800

    Update Visual C++ 2008 Projects
    
    Turn off the deprecation warnings for the accessibility, performance
    and micro-bench programs.

 build/win32/vs9/cally-atkcomponent-example.vcproj  |    8 ++++----
 .../win32/vs9/cally-atkeditabletext-example.vcproj |    8 ++++----
 build/win32/vs9/cally-atkevents-example.vcproj     |    8 ++++----
 build/win32/vs9/cally-atktext-example.vcproj       |    8 ++++----
 build/win32/vs9/cally-clone-example.vcproj         |    8 ++++----
 build/win32/vs9/clutter.vsprops                    |    6 +++++-
 build/win32/vs9/test-cogl-perf.vcproj              |    8 ++++----
 build/win32/vs9/test-picking.vcproj                |    8 ++++----
 build/win32/vs9/test-random-text.vcproj            |    8 ++++----
 build/win32/vs9/test-text-perf.vcproj              |    8 ++++----
 build/win32/vs9/test-text.vcproj                   |    8 ++++----
 11 files changed, 45 insertions(+), 41 deletions(-)

commit 23960328d578d912162d52bc0c4096784add31cb
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Tue Dec 13 12:44:27 2011 +0800

    Update clutter.symbols...
    
    ...For the addition of queue_redraw_with_clip (commit f0a246cd)

 clutter/clutter.symbols |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f0468cf828d933431ef4e18f3b60376f5df76cf6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 12 16:44:47 2011 +0000

    wayland/surface: Use queue_redraw_with_clip()
    
    Just like the X11 texture-pixmap actor.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=660997

 clutter/wayland/clutter-wayland-surface.c |   22 ++++++++--------------
 1 files changed, 8 insertions(+), 14 deletions(-)

commit 30c464e68f302c5039421b5cc9b043bfa8dc2e9c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 31 11:56:23 2011 +0000

    x11/texture-pixmap: Use ClutterActor.queue_redraw_with_clip()
    
    Instead of using a PaintVolume for a 2D region, and an internal
    function, use the newly added queue_redraw_with_clip() method.
    
    This removes the last bit of internal API usage in the
    ClutterX11TexturePixmap actor.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=660997

 clutter/x11/clutter-x11-texture-pixmap.c |   26 +++++++++-----------------
 1 files changed, 9 insertions(+), 17 deletions(-)

commit 749fe38fec090fcbf7cb0a7ea1c98028a08fcb4e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 31 11:55:35 2011 +0000

    x11/stage: Use ClutterActor.queue_redraw_with_clip()
    
    Instead of using a paint volume for a 2D region, use the newly added
    queue_redraw_with_clip() method.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=660997

 clutter/x11/clutter-stage-x11.c |   21 ++++++---------------
 1 files changed, 6 insertions(+), 15 deletions(-)

commit f0a246cdc6f3ca35d409b82297d2a99c5e8c7b32
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 31 11:53:45 2011 +0000

    actor: Add queue_redraw_with_clip()
    
    Add a public version of the clipped queue redraw, using a 2D clip. This
    allows implementing actors with trackable 2D clipped regions, like the
    ClutterX11TexturePixmap, outside of Clutter itself.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=660997

 clutter/clutter-actor.c |   47 +++++++++++++++++++++++++++++++++++++++++++++--
 clutter/clutter-actor.h |    2 ++
 clutter/clutter-types.h |    2 ++
 3 files changed, 49 insertions(+), 2 deletions(-)

commit c3639fd798ddd195075a2edf1e37825deb5f5aa2
Author: Daniel Mustieles <daniel.mustieles@gmail.com>
Date:   Fri Dec 9 18:08:48 2011 +0100

    Updated Spanish translation

 po/es.po |  244 +++++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 137 insertions(+), 107 deletions(-)

commit 79c04bd1335db04b5152130a027d2d22c9486f56
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 8 10:01:06 2011 +0000

    fixed-layout: Use a better quark name
    
    The "fixed-container" name is far too generic, and it may very likely
    lead to collisions with application code.

 clutter/clutter-fixed-layout.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 20b9ec8c6bd900960a811b38e968d2e976064821
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:43:13 2011 +0000

    build: Disable deprecation warnings in tests/accessibility
    
    Like we do in the other tests/ sections.

 tests/accessibility/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9e3a8a678e44dd53f0a291a9d0e8e7d74e643d3c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:56:45 2011 +0000

    build: Disable deprecation warnings in tests/micro-bench

 tests/micro-bench/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit bedf1664a7232cec704566e55c7804354f633f52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 6 17:53:37 2011 +0000

    build: Disable deprecation warnings in tests/performance

 tests/performance/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit dc84557ac3af47b59f5145e68cddfe37ca910089
Author: Jovan Naumovski <jovan3.14@gmail.com>
Date:   Thu Dec 8 21:22:38 2011 +0100

    Updated Macedonian translation.

 po/mk.po | 2226 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2226 insertions(+), 0 deletions(-)

commit 764343c4973179ffaff7c8c4822a77312e32d1cd
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Thu Dec 8 20:54:12 2011 +0100

    Updated POTFILES.in

 po/POTFILES.in |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 320356e97f2312f8ad4285ca436dca71a69c7cec
Author: Rob Bradford <rob@linux.intel.com>
Date:   Thu Dec 8 17:39:15 2011 +0000

    wayland: Refine enter/leave event handling
    
    The Wayland protocol now has events represent when a pointer enters the
    surface and when it leaves again.
    
    For leaves the surface is not set in the event, for enters the surface is set.
    Simply use this to determine whether to emit CLUTTER_ENTER or CLUTTER_LEAVE.

 clutter/wayland/clutter-input-device-wayland.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 34cc45dae5f05be80e3eb389c55e40aed2e97bf4
Author: Rob Bradford <rob@linux.intel.com>
Date:   Thu Dec 8 17:32:27 2011 +0000

    wayland: Update to latest Wayland API (wl_shell_surface transition)
    
    Previously the wl_shell object held the methods that allowed a client to
    request changes to the shell's state associated with a surface. These methods
    have now been moved to a wl_shell_surface object.
    
    This change allows configure events to be handled inside the stage rather than
    the backend.

 clutter/wayland/clutter-backend-wayland.c |   30 +-----------------------
 clutter/wayland/clutter-stage-wayland.c   |   36 ++++++++++++++++++++++++++++-
 2 files changed, 36 insertions(+), 30 deletions(-)

commit af294aafe600145a2d891ad9a0ba5418f6583cc6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 6 21:53:57 2011 +0000

    Add public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define
    
    When clutter has been built with Wayland compositor support then we now
    expose a public CLUTTER_HAS_WAYLAND_COMPOSITOR_SUPPORT define so that
    applications can #ifdef code that depends on the api that this feature
    implies.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 configure.ac |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 3e85ad6b95cfa41027d6fbf4a9caf0a7d84e8bce
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 6 21:49:15 2011 +0000

    build: make internal option_xkb_* symbols static
    
    This makes the option_xkb_* symbols declared for the evdev device manager
    and the wayland device manager private so we don't get symbol collisions
    if both of these backends are enabled.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/evdev/clutter-device-manager-evdev.c     |    6 +++---
 clutter/wayland/clutter-device-manager-wayland.c |    6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

commit fd8965a710c313a968a7dc469b88778a7d55bf10
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Dec 6 21:46:37 2011 +0000

    xkb-utils: Adds #ifdef guards for repeat includes
    
    This adds #ifdef/#define repeat include guards for clutter-xkb-utils.h
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/evdev/clutter-xkb-utils.h |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit d8e76c341558f852bb1c4a94959120eeee459f88
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 5 14:01:30 2011 +0000

    eglnative: fix building eglnative BE with evdev support
    
    this fixes how clutter-device-manager-evdev.h is included to fix a build
    problem caused by not being able to find the header.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/egl/clutter-backend-eglnative.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 602a89afa8f9ea548b8f98fb9e5ada3ef59f09f2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 5 13:59:12 2011 +0000

    evdev: fixes evdev build issues + don't ref default stage
    
    This updates the evdev input backend code to compile and also updates
    the code to not refer to the default stage and instead check for a
    stage to be associated with the input device. If no stage is currently
    associated with a device generating events then the events are dropped
    on the floor.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/evdev/clutter-device-manager-evdev.c |   63 ++++++++++++++-----------
 configure.ac                                 |    1 +
 2 files changed, 36 insertions(+), 28 deletions(-)

commit 86f2aed570dcd83becfc91c5a076027c687c0dae
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 5 13:49:28 2011 +0000

    input: adds internal _clutter_input_device_get_stage api
    
    This adds internal api to be able to query the stage currently
    associated with a given input device so input backends shouldn't need to
    refer to the default stage.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-device-manager-private.h |    1 +
 clutter/clutter-input-device.c           |   14 ++++++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

commit e5bde0b0743f718904d53731ea30d414ad915f4c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Dec 5 14:05:57 2011 +0000

    tests: Adds a simple wayland compositor example
    
    This adds an extremely minimal wayland compositor to tests/interactive
    to test the ClutterWaylandSurface actor. Currently this minimal
    compositor doesn't support any input, it simply paints client surfaces
    fixed at the top-left of the stage.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/interactive/Makefile.am            |    4 +
 tests/interactive/test-wayland-surface.c |  567 ++++++++++++++++++++++++++++++
 2 files changed, 571 insertions(+), 0 deletions(-)

commit 16ed7677e00fda9e9ef4e85ef7032a367e273e0c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 13 16:54:11 2011 +0100

    Adds wayland-surface actor for wayland compositors
    
    This adds a --enable-wayland-compositor configure option which will add
    support for a ClutterWaylandSurface actor which can be used to aid in
    writing Wayland compositors using Clutter by providing a ClutterActor to
    represent Wayland client surfaces.
    
    Notably this configure option isn't tied into any particular backend
    since conceptually the compositor support can be used in conjunction
    with any clutter backend that has corresponding Cogl support.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/Makefile.am                          |    8 +
 clutter/clutter-backend.c                    |   41 ++
 clutter/wayland/clutter-wayland-compositor.h |   43 ++
 clutter/wayland/clutter-wayland-surface.c    |  565 ++++++++++++++++++++++++++
 clutter/wayland/clutter-wayland-surface.h    |   94 +++++
 configure.ac                                 |   28 ++-
 doc/reference/clutter/clutter-sections.txt   |   15 +
 7 files changed, 792 insertions(+), 2 deletions(-)

commit 07c6f96cb43b1e0c788e50323f1184bd2906e3f7
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon May 9 22:45:33 2011 +0100

    wayland: Updates client side wayland support
    
    This updates Wayland support in line with upstream changes to the Wayland
    API and protocol.
    
    This update means we no longer use the Cogl stub winsys so a lot of code
    that had to manually interact with EGL and implement a swap_buffers
    mechanism could be removed and instead we now depend on Cogl to handle
    those things for us.
    
    This update also adds an input device manager consistent with other
    clutter backends.
    
    Note: to use the client side "wayland" clutter backend you need to have
    built Cogl with --enable-wayland-egl-platform. If Cogl has been built
    with support for multiple winsys backends then you should run
    applications with COGL_RENDERER=EGL in the environment.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/Makefile.am                              |   49 +-
 clutter/clutter-backend.c                        |   11 +
 clutter/wayland/clutter-backend-wayland.c        |  603 ++++-----------------
 clutter/wayland/clutter-backend-wayland.h        |   38 +-
 clutter/wayland/clutter-device-manager-wayland.c |  226 ++++++++
 clutter/wayland/clutter-device-manager-wayland.h |   75 +++
 clutter/wayland/clutter-event-wayland.c          |    6 +-
 clutter/wayland/clutter-event-wayland.h          |   37 ++
 clutter/wayland/clutter-input-device-wayland.c   |  156 ++----
 clutter/wayland/clutter-input-device-wayland.h   |   56 ++
 clutter/wayland/clutter-stage-wayland.c          |  634 +---------------------
 clutter/wayland/clutter-stage-wayland.h          |   65 +--
 clutter/wayland/clutter-wayland.h                |   61 --
 configure.ac                                     |   19 +-
 doc/reference/clutter/clutter-sections.txt       |    6 -
 15 files changed, 631 insertions(+), 1411 deletions(-)

commit 36c312cb241c5c87d3a8778ea376ab2b67601683
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Thu Dec 8 17:58:17 2011 +0800

    Update Clutter Visual C++ 2008 Project
    
    Made up for missed pre-build command for x64/Release.

 build/win32/vs9/clutter.vcprojin |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 6ad1afd8037cffc73617f39c7a668a493d295bee
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Thu Dec 8 17:40:22 2011 +0800

    clutter/Makefile.am: Update gen-enums.bat generation
    
    It's $(srcdir)/win32/clutter-win32.h, not $(srcdir)/clutter-win32.h
    
    Sorry!

 clutter/Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b6c5c0602dfa152603d6345b0c2fc6a1d00b0cf4
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Thu Dec 8 17:39:26 2011 +0800

    Update VS property sheets
    
    Generate clutter-marshal.[ch] before the clutter-enum-types.[ch].
    Strangely Visual C++ does funny things if this was done the other way
    around. :|

 build/win32/vs10/clutter.props  |   14 +++++++-------
 build/win32/vs9/clutter.vsprops |    8 ++++----
 2 files changed, 11 insertions(+), 11 deletions(-)

commit 7a70e1f08b7755a7c3b79c21c49f746006ea7483
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Thu Dec 8 17:04:46 2011 +0800

    clutter/Makefile.am-Create batch to gen enums (VS Support)
    
    Generate a .bat file to generate the clutter-enum-types.[ch] for use
    during the Visual C++ build process, which will greatly simplify the
    maintenanace of the VS build files as public headers are added or removed
    during the development process.

 clutter/Makefile.am |   46 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 43 insertions(+), 3 deletions(-)

commit daf2b67ed28d3e6ef6d2b2ffa99c3ab86d67d0e6
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Thu Dec 8 17:02:17 2011 +0800

    Update VS property sheets
    
    Use a pregenerated .bat file to generate the clutter-enum-types.[ch], which
    will greatly simplify the maintenanace of the VS build files as public
    headers are added or removed.

 build/win32/vs10/clutter.props  |   21 +++------------------
 build/win32/vs9/clutter.vsprops |   14 +++-----------
 2 files changed, 6 insertions(+), 29 deletions(-)

commit 075ab0cbe64d656de950b6a383fdcc8d1356877e
Author: Chun-wei Fan <fanchunwei@src.gnome.org>
Date:   Wed Dec 7 18:14:17 2011 +0800

    conform/Makefile.am: Update Win32 test .bat name
    
    Rename to test-conformance-clutter.bat to make the file name clearer to
    users

 tests/conform/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 158245fda31e7adad38aa49e4c12efcad0e326e0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 11:43:48 2011 +0000

    backend: Fix em computation for non-absolute fonts
    
    If a font description is not set to have an absolute size then we were
    using the wrong transformation for points to device units.

 clutter/clutter-backend.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 943a65b476431400bd0436e1be243a2917385866
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 5 11:42:49 2011 +0000

    backend: Return the correct default resolution
    
    If ClutterSettings:font-dpi is set to -1 then the default resolution
    should be returned by ClutterBackend — i.e. 96.0.

 clutter/clutter-backend.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit 8d234d270a00abee8c46561903193097de78efe3
Author: Bastien Nocera <hadess@hadess.net>
Date:   Thu Dec 1 19:29:58 2011 +0100

    Fix Brazilian Portuguese translation
    
    Once you add the missing translator comments, it makes a lot
    more sense...

 po/pt_BR.po |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit f7bb1e879ef083644acd4774dcb50c9edc018c6f
Author: Jasper St. Pierre <jstpierre@mecheye.net>
Date:   Sat Nov 26 05:15:17 2011 -0500

    main: Fix keyboard event emission for non-reactive actors
    
    This is an innocent copy-paste issue that ended up breaking a few things
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664582

 clutter/clutter-main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1dc7c4543896bfc2f2cd460cdea9c417aefd7952
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Dec 1 13:41:45 2011 +0000

    x11: Do not try to access private structures
    
    ClutterInputDeviceX11 has been made private, so we cannot access it from
    outside of clutter-input-device-core-x11.c. We should have simple
    accessors for the min/max keycode, which is the only detail that we use.

 clutter/x11/clutter-device-manager-core-x11.c |    5 +++--
 clutter/x11/clutter-input-device-core-x11.c   |   25 +++++++++++++++++++++++--
 clutter/x11/clutter-input-device-core-x11.h   |    6 ++++++
 3 files changed, 32 insertions(+), 4 deletions(-)

commit 67cdbbaf514ca8b33e4e19014b935aea40e91822
Author: Manuel Osdoba <manuel.osdoba@acm.org>
Date:   Sun Nov 13 21:49:23 2011 +0100

    Currently Clutter only prints out a warning message in case some shader effects fail to compile
    
    Clutter-WARNING **: Unable to compile the GLSL
    shader: Fragment shader failed to compile with the following errors:
    
    The attached patch (against current git) should print out more
    information what makes it easier to answer user feedback.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664252

 clutter/clutter-shader-effect.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6336883da7aa15ec06d9f3218ad5c617e57af0a5
Author: Bastian Winkler <buz@netbuz.org>
Date:   Fri Nov 18 15:18:28 2011 +0100

    path: Fix introspection annotations
    
    Add out annotations for clutter_path_get_node() and
    clutter_path_get_position()
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664336

 clutter/clutter-path.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit dc77a5ef310c8da5a126f90a21a75520b5d925de
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Dec 1 10:39:11 2011 +0000

    docs: Fix up the state.set_key() comment

 clutter/clutter-state.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 1e05e8ceaff25dfb3600cf0798fbca23c1725e12
Author: Jeremy Moles <jeremy@emperorlinux.com>
Date:   Thu Dec 1 10:36:38 2011 +0000

    Adds (allow-none) as source_target for clutter_state_set_key
    
    While working through the Python3/pygobject bindings, I came across a missing
    (allow-none) in clutter_state_set_key(). This allows the API to specify to None
    as the source_target.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=664996

 clutter/clutter-state.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 627a1b19771b98864eb9e09a9537128a87dca05e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 28 14:19:28 2011 +0000

    effects: Use effect_queue_repaint instead of actor_queue_redraw
    
    The builtin effects ClutterColorizeEffect, ClutterDesaturateEffect and
    ClutterShaderEffect all have properties which only affect the
    rendering of the final texture not the contents of it. When these
    properties are updated we should queue a repaint of the effect not
    the actor so that we don't waste time repainting the contents of the
    offscreen buffer.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=665052
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-colorize-effect.c   |   10 +---------
 clutter/clutter-desaturate-effect.c |   10 +---------
 clutter/clutter-shader-effect.c     |    2 +-
 3 files changed, 3 insertions(+), 19 deletions(-)

commit c687ece72d8d613d8af62615374839b9302abafe
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 28 16:27:57 2011 +0000

    Fix building with profiling enabled
    
    There was an #ifdef'd section of code for profiling that was using the
    wrong variable name so it would not build.
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a2774fb0dcce0c92036b69fb75092ec8dc80905d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 28 13:08:57 2011 +0000

    offscreen-effect: Track the size of the actor separately
    
    Previously the offscreen effect was keeping track of the size of the
    texture so that it could detect when a different size is requested and
    create a new texture. However this breaks if a subclass overrides
    create_texture to make the texture bigger because in that case the
    size of the texture will always be different from the calculated size
    of the actor. This patch makes it also track the size of the fbo that
    was requested before being passed through create_texture() and it
    instead uses that to detect when a new FBO is needed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=665040
    
    Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-offscreen-effect.c |   17 +++++++++++++++--
 1 files changed, 15 insertions(+), 2 deletions(-)

commit 3f4bd0d9d4b619d8545a57ee6735eb136dacb1c4
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Nov 27 12:18:49 2011 +0000

    conform: Add markers parsing to the timeline unit
    
    We should check that the newly added custom parser for timeline
    markers is working as intended.

 tests/conform/test-conform-main.c            |    1 +
 tests/conform/test-timeline.c                |   40 ++++++++++++++++++++++++++
 tests/data/Makefile.am                       |    1 +
 tests/data/test-script-timeline-markers.json |   11 +++++++
 4 files changed, 53 insertions(+), 0 deletions(-)

commit 24623c43a86fc00f5079994a0969e7689b01317b
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sun Nov 27 12:16:32 2011 +0000

    timeline: Add custom parser for "markers"
    
    It should be possible to define markers in ClutterScript when
    describing a ClutterTimeline.
    
    The syntax is a trivial:
    
      "markers" : [
        { "name", <marker-name>, "time" : <msecs> }
      ]
    
    While at it, we should document it inside the API reference, as well
    as fleshing out the ClutterTimeline description.

 clutter/clutter-timeline.c |  262 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 230 insertions(+), 32 deletions(-)

commit 3c35653a0785c2dab5a36bc33ff40301740c46b5
Author: Matej Urbančič <mateju@svn.gnome.org>
Date:   Fri Nov 25 21:21:46 2011 +0100

    Updated Slovenian translation

 po/sl.po |  892 +++++++++++++++++++++++++++++++------------------------------
 1 files changed, 453 insertions(+), 439 deletions(-)

commit d82bf70d49cedcc345ab8a409a812806ce3a57d6
Author: Bastian Winkler <buz@netbuz.org>
Date:   Thu Nov 24 20:14:05 2011 +0100

    script: Don't skip introspection for connect_signals_full()
    
    To allow language bindings to properly override Script.connect_signals()
    they'll need access access to Script.connect_signals_full().
    
    Thanks to Jeremy Moles for reporting.

 clutter/clutter-script.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 49355f3287b0044a76dfea48c1e58375645072f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 23 17:29:23 2011 +0000

    pc: Fix unexpanded variables
    
    PkgConfig doesn't like those.

 clutter/clutter.pc.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c3b0db226f5a3d1de86cdf028d01dd64e6fa5605
Author: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>
Date:   Tue Nov 22 20:25:02 2011 +0200

    Updated Romanian translation

 po/ro.po | 2262 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2262 insertions(+), 0 deletions(-)

commit 8afeb0e099416132ac8ad5d227aeaf8a9bd1767e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 22 14:08:36 2011 +0000

    Post-release version bump to 1.9.3

 configure.ac |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)