commit a17b1f8df510f5ba09f8070dca3abf913aacdca6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 19 17:33:48 2010 +0100

    Release 1.2.6

 NEWS         |   33 +++++++++++++++++++++++++++++++++
 configure.ac |    4 ++--
 2 files changed, 35 insertions(+), 2 deletions(-)

commit 601b6f6be6eae032229a8d6b54ef55e66dc1a1c3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 19 17:30:28 2010 +0100

    x11: Use g_signal_override_class_closure()
    
    The g_signal_override_class_handler() function was added in GLib 2.18,
    which means we should bump our requirement for GLib. Luckily, the
    override_class_handler() function is just a wrapper around the older
    g_signal_override_class_closure(), so we can use that and avoid bumping
    the pre-requisites in the middle of a stable cycle.

 clutter/x11/clutter-x11-texture-pixmap.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 5c4efbce32473983f5d3e7475cf760d3919bf53d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 1 13:15:12 2010 +0100

    docs: This improves the documentation for cogl_push_framebuffer
    
    This adds an example of how to setup a Clutter style 2D coordinate space
    and clarifies what state is owned by a framebuffer. (projection,
    modelview, viewport and clip stack)
    
    When we expose more cogl_framebuffer API this example will hopefully be
    migrated into a more extensive introduction to using framebuffers.
    (cherry picked from commit 412a468d5ef4a2cc6cc748717ae245874d3ccd76)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/cogl/cogl/cogl.h |   85 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 75 insertions(+), 10 deletions(-)

commit 95831e8e389a86c743b5e67791be237c2a838294
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Apr 9 18:22:50 2010 +0100

    tests: Fix test-script.json
    
    A trailing comma is breaking the validity of test-script.json
    (cherry picked from commit 6583f8bb4906a450593d77b213e67ad8886edbbb)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/data/test-script.json |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 404d4d4ca0438b12acb9a49c6f5bdc3e30ac5d68
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 15 13:57:45 2010 +0100

    clutter-texture: Remove confusing comments about realization
    
    In 125bded81 some comments were introduced to ClutterTexture
    complaining that it can have a Cogl texture before being
    realized. Clutter always assumes that the single GL context is current
    so there is no need to wait until the actor is realized before setting
    a texture. This patch replaces the comments with clarification that
    this should not be a problem.
    
    The patch also changes the documentation about the realized state in
    various places to clarify that it is acceptable to create any Cogl
    resources before the actor is realized.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2075
    (cherry picked from commit a28440eafbfc126020fc83544eb89d06069df3e2)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c          |   49 +++++++++++++++++++++----------------
 clutter/clutter-texture.c        |   30 +++++++++--------------
 doc/clutter-actor-invariants.txt |    5 +++-
 3 files changed, 44 insertions(+), 40 deletions(-)

commit ced77cd26b22b3006bab7525a54116e99fcc3e08
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 14 23:34:38 2010 +0100

    docs: Clean up ClutterActor's long description
    
    The Actor's long description is a bit cluttered; it contains a section
    on the actor's box semantics, on the transformation order and on the
    event handling.
    
    We should use <refsect2> tags to divide the Actor's description into
    logically separated sections.
    
    We should also add a section about the custom Scriptable properties that
    ClutterActor defines, and the special handling of unit-based properties.
    (cherry picked from commit 15ef549207b188e7e201a21a77386c3268a1cb53)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit de15ce3f755c3ee7c49488af86af1bfbf904d8f7
Author: Rob Bradford <rob@linux.intel.com>
Date:   Wed Apr 14 00:12:02 2010 +0100

    text: Check generated size of layouts in cache
    
    By comparing the requested size against the computed sized for existing
    Pango layouts we can avoid creating layouts where the requested size
    matches that of a previously computed one.
    
    In particular this optimisation means that when working with a fixed
    positioning based layout (with no constraints on the size of the
    ClutterText) the same PangoLayout can be used to calculate the preferred
    width, height and also the layout used for the actual painting.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2078
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
    (cherry picked from commit dd407326feaa53a68fa30db710f8ca4b5ea7b1ba)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 714a3b6d200b6e5144e50210e1883c3a472e0ce2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 19 16:24:34 2010 +0000

    script: Do not allocate memory when not needed
    
    When printing out the property value during a ClutterScript debug run we
    generate the value's content using g_strdup_value_contents() - though we
    do it unconditionally. The contents might not be printed (they most
    likely won't, actually) and will be freed afterwards. This is
    unnecessary: we can allocate the contents string after checking if we're
    going to print out the debug note, thus avoiding the whole
    allocation/free cycle unless strictly needed.
    (cherry picked from commit f935270aa01ac83ecb43212cb86bac63e76d5687)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 7be083c93cdbdf5e89729a9e697d1e136665049f
Author: Fridrich Strba <fridrich.strba@bluewin.ch>
Date:   Fri Apr 9 15:43:42 2010 +0100

    win32: Use GCLP_* instead of GCL_* when calling GetClassLongPtr
    
    (commit message by Neil)
    
    GetClassLongPtr expects a different constant when retrieving handles
    or pointers. This fixes problems using Win64.
    (cherry picked from commit c99a24d34163b1a8d867facdee0256f5af5b33b8)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 723581f556e5bf32238c9a6019a10a0397aff7ae
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Apr 9 18:24:09 2010 +0100

    actor: Do not use G_UNLIKELY in paint()
    
    We decide whether the paint() should be a real paint or a paint in pick
    mode depending on the global pick_mode value. Using G_UNLIKELY() on an
    operation that most likely is going to be executed once every frame is
    going to blow a lot of cache lines and frak with the CPU branch
    prediction. Not good.
    (cherry picked from commit 93a5b78e5ae3ab07c11f92fc6d7525dc3569dcb4)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 255765f3b3669fa61c8436a6adb0d86ec0d1d9c5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Apr 16 14:38:52 2010 +0100

    glx: handle spurious GLX_BufferSwapComplete events gracefully
    
    Instead of simply aborting we now print out a warning, when a spurious
    GLX_BufferSwapComplete event is handled since it seems that people are
    coming across the problem (perhaps due to a buggy driver) and making
    apps crash in this situation is a bit extreme.
    
    (cherry picked from commit 62ac3b312e861d813dc5a4f9c8d3556b86381626)

 clutter/glx/clutter-event-glx.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 37f9368a1aa87898aa8498adcc9206200c592650
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 13 17:26:03 2010 +0100

    cogl-atlas-texture: Fix a memory leak
    
    The CoglAtlasTexture struct was not being freed in
    _cogl_atlas_texture_free so there would be a small leak whenever a
    texture was destroyed.
    
    Thanks to Robert Bragg for spotting this.
    
    (cherry picked from commit 1445e9d32d8f4b5c82c81deb32a57a90c0009825)

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

commit 43badfc51fb944ca4d9cd922a74b8b02d8e75ff5
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Mar 26 00:56:15 2010 +0000

    x11: Use has_allocation() in TfP actor
    
    ClutterX11TexturePixmap calls get_allocation_box() when queueing a
    clipped redraw. If the allocation is not valid, and if we queue a
    lot of redraws in response to a series of damage events, the net
    result is that we spend all our time in a re-layout. We can
    short-circuit this by checking if the actor has a valid allocation, and
    if not, just queue a redraw - the actor will be allocated by the time it
    is going to be painted.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
    
    (cherry picked from commit 6fcc8c5bce08296151de418e472d2777c8b2abca)

 clutter/x11/clutter-x11-texture-pixmap.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

commit 741917cf963c1b33a7de02ee5f79e3ec3ec4374f
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Mar 26 00:53:27 2010 +0000

    actor: Add has_allocation() method
    
    (The original commit has been amended during cherry-pick)
    
    Add a private _clutter_actor_has_allocation(), a method meant to be used
    when deciding whether to call clutter_actor_get_allocation_box() or any
    of its wrappers.
    
    The get_allocation_box() method will, in case the allocation is invalid,
    perform a costly re-allocation cycle to ensure that the returned box
    is valid. The has_allocation() method is meant to be used if we have an
    actor calling get_allocation_box() from outside the place where the
    allocation is always guaranteed to be valid.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
    
    (cherry picked from commit 8df4a0b8fdbbff580aab4377dec9878c693d2440)

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

commit 0ec010ed20626861a88dc102b94dd9f7d76f0b39
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 25 09:33:26 2010 +0000

    Use begin/end macros in cogl-primitives.h
    
    Protect the people using a C++ compiler from the dark abyss of C code.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2049
    (cherry picked from commit 5395a7a998a84ea9614d7745a4337094eb2e1383)
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/cogl/cogl/cogl-primitives.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 1da83ee2b1cc549480b8a68ab35e4bfd7218199c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 22 11:56:35 2010 +0000

    Post-release version bump to 1.2.4

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