commit 8cebec6bdcefe84c2c663fce380c24f5ac88cfa4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 14:09:09 2010 +0000

    Release Clutter 1.5.8 (snapshot)

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

commit d046df8e6f1c1dfdf4144b1cbe2494d71ac3adc4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 29 10:55:49 2010 +0000

    cogl-shader.c: Don't add the common boilerplate twice
    
    In 6246c2bd6 I moved the code to add the boilerplate to a shader to a
    separate function and also made it so that the common boilerplate is
    added as a separate string to glShaderSource. However I didn't notice
    that the #define for the vertex and fragment shaders already includes
    the common part so it was being added twice. Mesa seems to accept this
    but it was causing problems on the IMG driver because COGL_VERSION was
    defined twice.

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

commit ae300dc8e08d28dad821f7c843fe2b01783efb5a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 29 10:51:40 2010 +0000

    cogl-pipeline-glsl: Use char* instead of GLchar*
    
    It appears that some GLES2 headers don't define GLchar and it works
    just as well to use a regular char.

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

commit 08308fd3978dff227b8e0c8e1388a590bde29f25
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 12:23:14 2010 +0000

    docs: Close a tag

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

commit 556c938b4d6d3cb4743e00d95c0347e483d847a2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 12:01:20 2010 +0000

    Update NEWS

 NEWS |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 038fe708f86efda95237915f8bce7fd1afb3a262
Merge: 67143bd c9d0f8b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 11:56:36 2010 +0000

    Merge remote branch 'elliot/cookbook-animations-scaling'
    
    * elliot/cookbook-animations-scaling:
      cookbook: Add recipe for animated scaling of an actor
      cookbook: Add example of scaling a texture
      cookbook: Added "animated scaling" recipe skeleton
      cookbook: Added animated scaling example

commit 67143bd846c2b39ce94779d7ab2b5bd48e58d1cd
Author: Chris Lord <chris@linux.intel.com>
Date:   Thu Nov 25 15:11:42 2010 +0000

    text: Optimise get_preferred_height for single-line-mode
    
    Don't calculate an extra layout in clutter_text_get_preferred_height for
    single-line strings, when it's unnecessary. There's no need to set the
    width of a layout when in single-line mode, as wrapping will not happen.

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

commit e1b58d9407845a249bc59cd270be50d43d34126b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 11:19:16 2010 +0000

    Update NEWS file

 NEWS |   32 ++++++++++++++++++++++++++++++--
 1 files changed, 30 insertions(+), 2 deletions(-)

commit 850a35f069368b645ceb8e027b6b27863dba308b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 10:59:16 2010 +0000

    shader-effect: Remove unused function
    
    The reset_uniforms() internal function is not used any more because the
    CoglProgram cannot be reset post-creation - hence the uniforms cannot
    change.

 clutter/clutter-shader-effect.c |   50 ++++++++++++--------------------------
 1 files changed, 16 insertions(+), 34 deletions(-)

commit 08087c965bf312513f98a53bf3220e92c372d131
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Nov 27 16:26:20 2010 +0000

    ClutterShaderEffect: Don't throw away the program for a new actor
    
    Previously when the shader effect is used with a new actor it would
    end up throwing away the old program. I don't think this is neccessary
    and it means if you use an effect to temporarily bind to an actor then
    it will recompile the shader whenever it is applied.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2454

 clutter/clutter-shader-effect.c |   42 +++++++++++++++++---------------------
 1 files changed, 19 insertions(+), 23 deletions(-)

commit 2dc9e0dc2941a1f805e71a656585037ced0ed721
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Nov 27 16:27:59 2010 +0000

    ClutterOffscreenEffect: Don't throw away the material for a new actor
    
    When a new actor is set for ClutterOffscreenEffect it would throw away
    the old material. I don't think there is anything specifically tied to
    the actor in the material so throwing away just loses Cogl's cached
    state about the material. This ends up relinking the shader every time
    a new actor is set in ClutterShaderEffect.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2454

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

commit b63e9ee8f8717dbf73e15df1e9a9d115dcb45504
Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
Date:   Sat Nov 27 16:07:01 2010 +0100

    Don't bail out from creating the FBO if we don't have it yet.
    
    This happens when reattaching an effect to another actor.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2453

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

commit 47d63c1c550776de52841f3d5508f20b48f5d722
Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
Date:   Sat Nov 27 16:04:50 2010 +0100

    Set the signal handler to 0 when disconnecting it.
    
    Otherwise we'll try to disconnect it again later.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2452

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

commit 215d87abe9ccfe98cbf0e5e73f5c8edf4106a7ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 29 08:55:13 2010 +0000

    shader-effect: Zero out ShaderUniform
    
    Do not use the compiler to zero the first field of the GValue member,
    since it's apparently non-portable. As we're allocating memory anyway we
    can let the slice allocator do the zero-ing for us.
    
    Mentioned in: http://bugzilla.clutter-project.org/show_bug.cgi?id=2455

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

commit 21e47d4280e27393d7510e232a1b1ee19b426032
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 26 15:23:15 2010 +0000

    cogl_pipeline_equal: Fix the comparison for layer texture equality
    
    Before commit 49898d43 CoglPipeline would compare whether a pipeline
    layer's texture is equal by fetching the underlying GL handle. I
    changed that so that it would only compare the CoglHandles because
    that commit removes the GL handle texture overrides and sliced
    textures instead log the underlying primitive texture. However I
    forgot that the primitives don't always use
    _cogl_texture_foreach_sub_texture_in_region when the quad fits within
    the single texture so it won't use a texture override. This meant that
    atlas textures and sub textures get logged with the atlas handle so
    the comparison still needs to be done using the GL handles. It might
    be nice to add a CoglTexture virtual to get the underlying primitive
    texture instead to avoid having the pipeline poke around with GL
    handles.

 clutter/cogl/cogl/cogl-pipeline.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit b424bd75124c4dc34510b056376a7f04f4620e53
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 13:53:16 2010 +0000

    tests: Adds test-cogl-perf micro benchmark
    
    This is mostly a stub, starting point for a one-stop Cogl
    micro-benchmarking tool. The first test it adds is one that tries to
    hammer the Cogl journal, but no doubt there are lots of other things we
    should be regularly testing. Currently the aim is that the tool will be
    able to also generate reports which we can collect to keep track of
    performance changes over time.

 tests/micro-bench/Makefile.am      |    4 +-
 tests/micro-bench/test-cogl-perf.c |  161 ++++++++++++++++++++++++++++++++++++
 2 files changed, 164 insertions(+), 1 deletions(-)

commit 58a467c9270ec325431fc963aa8a862ae69fcabf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 25 20:12:36 2010 +0000

    primitives: avoid leaking polygon override materials
    
    If we have to make override changes to the user's source material to
    handle cogl_polygon then we need to make sure we unref the override
    material at the end.

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

commit 01b93537ab9743dfd6aa2f0c3d4499420ee860cd
Author: Alexandre Quessy <alexandre@quessy.net>
Date:   Thu Nov 25 13:13:51 2010 -0500

    Fixed "the the" repetitions in some doc strings
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2450

 clutter/clutter-actor.c                |    6 +++---
 clutter/clutter-stage.c                |    2 +-
 clutter/clutter-text.c                 |    2 +-
 clutter/cogl/cogl/cogl-fixed.c         |    2 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c |    2 +-
 doc/cookbook/animations.xml            |    2 +-
 doc/cookbook/events.xml                |    2 +-
 7 files changed, 9 insertions(+), 9 deletions(-)

commit 3729e47ef68dd0f4257563985d784b687acce5d2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 25 13:19:59 2010 +0000

    pipeline: Simplify layer change notifications to backend
    
    Previously we used the layers->backend_priv[] members to determine when
    to notify backends about layer changes, but it entirely up to the
    backends if they want to associate private state with layers, even
    though they may still be interested in layer change notifications (they
    may associate layer related state with the owner pipeline).
    
    We now make the observation that in
    _cogl_pipeline_backend_layer_change_notify we should be able to assume
    there can only be one backend currently associated with the layer
    because we wouldn't allow changes to a layer with multiple dependants.
    This means we can determine the backend to notify by looking at the
    owner pipeline instead.

 clutter/cogl/cogl/cogl-pipeline.c |   22 ++++++++++------------
 1 files changed, 10 insertions(+), 12 deletions(-)

commit 6ddb8397110f6e6998e0262e5d3dd604cd93d670
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 25 10:56:50 2010 +0000

    clutter-offscreen-effect: Don't recreate the material when FBO changes
    
    Previously whenever the size of the FBO changes it would create a new
    material and attach the texture to it. This is not good for Cogl
    because it throws away any cached state for the material. In
    test-rotate the size of the FBO changes constantly so it effectively
    uses a new material every paint. For shader effects this also ends up
    relinking the shader every paint because the linked programs are part
    of the material state.

 clutter/clutter-offscreen-effect.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

commit 1b2a748d6c180454f0501859b4b02dc8c94d75e0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 18:37:47 2010 +0000

    cogl-context: Get rid of the features_cached member
    
    The features_cached member of CoglContext is intended to mark when
    we've calculated the features so that we know if they are ready in
    cogl_get_features. However we always intialize the features while
    creating the context so features_cached will never be FALSE so it's
    not useful. We also had the odd behaviour that the COGL_DEBUG feature
    overrides were only applied in the first call to
    cogl_get_features. However there are other functions that use the
    feature flags such as cogl_features_available that don't use this
    function so in some cases the feature flags will be interpreted before
    the overrides are applied. This patch makes it always initialize the
    features and apply the overrides immediately while creating the
    context. This fixes a problem with COGL_DEBUG=disable-arbfp where the
    first material flushed is done before any call to cogl_get_features so
    it may still use ARBfp.

 clutter/cogl/cogl/cogl-context.c          |   24 +++++++++++++++++++++++-
 clutter/cogl/cogl/cogl-context.h          |    1 -
 clutter/cogl/cogl/cogl.c                  |   24 ------------------------
 clutter/cogl/cogl/driver/gl/cogl-gl.c     |    1 -
 clutter/cogl/cogl/driver/gles/cogl-gles.c |    1 -
 5 files changed, 23 insertions(+), 28 deletions(-)

commit b9176e8672fa56cf627b3d47e06598338d32e5ea
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 17:42:34 2010 +0000

    Lower the priority of the GLSL pipeline backend
    
    Now that the GLSL backend can generate code it can effectively handle
    any pipeline unless there is an ARBfp program. However with current
    open source GL drivers the ARBfp compiler is more stable so it makes
    sense to prefer ARBfp when possible. The GLSL backend is also lower
    than the fixed function backend on the assumption that any driver that
    supports GLSL will also support ARBfp so it's quicker to try the fixed
    function backend next.

 clutter/cogl/cogl/cogl-pipeline-private.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit d19f6212ce84894a79554f183d001deb25464721
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 17:29:00 2010 +0000

    Add a COGL_DEBUG option to disable the fixed function pipeline backend
    
    This adds COGL_DEBUG=disable-fixed to disable the fixed function
    pipeline backend. This is needed to test the GLSL shader generation
    because otherwise the fixed function backend would always override it.

 clutter/cogl/cogl/cogl-debug-options.h  |    5 +++++
 clutter/cogl/cogl/cogl-debug.c          |    1 +
 clutter/cogl/cogl/cogl-debug.h          |   15 ++++++++-------
 clutter/cogl/cogl/cogl-pipeline-fixed.c |    3 +++
 4 files changed, 17 insertions(+), 7 deletions(-)

commit 577d65c2c964aba9046aa07ef76aaf1a99c32b70
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 17:33:07 2010 +0000

    Don't use the fixed function backend if there is a user program
    
    The fixed function pipeline backend can't handle a user program so it
    should bail out if one is given.

 clutter/cogl/cogl/cogl-pipeline-fixed.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit aa498072e075cc1ef4a85a0d14fb7b78ba749e3a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 17:37:55 2010 +0000

    Add a warning message when no usable Cogl pipeline backend is found
    
    If none of the pipeline backends can handle the state then it now
    displays a warning so the developer has a chance to work out what's
    going on.

 clutter/cogl/cogl/cogl-pipeline-opengl.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 289e880efd4b7e2434619cbbe18ae444d4c52fd8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 24 15:30:56 2010 +0000

    cogl-pipeline-glsl: Don't use gl_PointCoord on OpenGL
    
    We don't want to use gl_PointCoord to implement point sprites on big
    GL because in that case we already use glTexEnv(GL_COORD_REPLACE) to
    replace the texture coords with the point sprite coords. Although GL
    also supports the gl_PointCoord variable, it requires GLSL 1.2 which
    would mean we would have to declare the GLSL version and check for
    it. We continue to use gl_PointCoord for GLES2 because it has no
    glTexEnv function.

 clutter/cogl/cogl/cogl-pipeline-glsl.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 9c32d07453fbc06c44e8c0fca6ef6e85f23ebf0b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Jul 17 14:11:02 2010 +0100

    Add a conformance test that uses a vertex shader with no frag shader
    
    This creates a material which users a layer to override the color of
    the rectangle. A simple vertex shader is then created which just
    emulates the fixed function pipeline. No fragment shader is
    added. This demonstrates a bug where the layer state is getting
    ignored when a vertex shader is in use.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2221

 tests/conform/Makefile.am                    |    1 +
 tests/conform/test-cogl-just-vertex-shader.c |  135 ++++++++++++++++++++++++++
 tests/conform/test-conform-main.c            |    2 +
 3 files changed, 138 insertions(+), 0 deletions(-)

commit a50010fb408294dce2d1205fe3a70aeead39c192
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 23 14:47:17 2010 +0000

    Remove the fragment shader generation from the GLES2 wrapper
    
    The GLES2 wrapper no longer needs to generate any fragment shader
    state because the GLSL pipeline backend will always give the wrapper a
    custom fragment shader. This simplifies a lot of the state comparison
    done by the wrapper. The fog generation is also removed even though
    it's actually part of the vertex shader because only the fixed
    function pipeline backend actually calls the fog functions so it would
    be disabled when using any of the other backends anyway. We can fix
    this when the two shader backends also start generating vertex
    shaders.

 clutter/cogl/cogl/Makefile.am                      |    5 +-
 clutter/cogl/cogl/cogl-pipeline-opengl.c           |    8 +
 .../driver/gles/cogl-fixed-fragment-shader.glsl    |   64 --
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |  737 +-------------------
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h |   69 +--
 5 files changed, 22 insertions(+), 861 deletions(-)

commit 987e3c32dc733b5f6942a10651750080730272e6
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 23 14:51:49 2010 +0000

    Disable the fixed function backend for GLES2
    
    GLES2 doesn't really support fixed function so if we disable it we can
    remove the fixed function wrappers from the GLES2 Cogl backend.

 clutter/cogl/cogl/cogl-pipeline-fixed.c   |   11 -----------
 clutter/cogl/cogl/cogl-pipeline-private.h |    4 +---
 clutter/cogl/cogl/cogl-pipeline.c         |    2 ++
 3 files changed, 3 insertions(+), 14 deletions(-)

commit 3504491b46246ffe912939defa17d013f9a27b46
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 22 18:33:49 2010 +0000

    cogl-pipeline-glsl: Generate the alpha test snippet under GLES2
    
    GLES2 has no glAlphaFunc function so we need to simulate the behaviour
    in the fragment shader. The alpha test function is simulated with an
    if-statement and a discard statement. The reference value is stored as
    a uniform.

 clutter/cogl/cogl/cogl-pipeline-glsl.c |  144 +++++++++++++++++++++++++++++++-
 1 files changed, 140 insertions(+), 4 deletions(-)

commit c3582b77dfc553528e49a8f3a1373a787cf64648
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 22 18:32:43 2010 +0000

    cogl-pipeline: Add getters for the alpha test state
    
    This adds two public functions:
    
     cogl_pipeline_get_alpha_test_function
       and
     cogl_pipeline_get_alpha_test_reference.

 clutter/cogl/cogl/cogl-pipeline.c |   25 +++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-pipeline.h |   22 ++++++++++++++++++++++
 2 files changed, 47 insertions(+), 0 deletions(-)

commit 959846326fa138d9611212f0e1c6626e187984b8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 22 18:29:50 2010 +0000

    cogl: Separate out state flags for the alpha test func and ref
    
    Previously the flag to mark the differences for the alpha test
    function and reference value were conflated into one. However this is
    awkward when generating shader code to simulate the alpha testing for
    GLES 2 because in that case changing the function would need a
    different program but changing the reference value just requires
    updating a uniform. This patch makes the function and reference have
    their own state flags.

 clutter/cogl/cogl/cogl-pipeline-opengl.c  |    3 +-
 clutter/cogl/cogl/cogl-pipeline-private.h |   25 ++++---
 clutter/cogl/cogl/cogl-pipeline.c         |  110 ++++++++++++++++++++++------
 3 files changed, 102 insertions(+), 36 deletions(-)

commit 124441aade679834ce7e34f38f9e10bd829aa76b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 22 16:44:11 2010 +0000

    Remove the disabling of layer constants for GLES2
    
    The GLSL shader generation supports layer combine constants so there's
    no need to disable it for GLES2. It looks like there was also code for
    it in the GLES2 wrapper so I'm not sure why it was disabled in the
    first place.

 clutter/cogl/cogl/cogl-blend-string.c |   10 ----------
 1 files changed, 0 insertions(+), 10 deletions(-)

commit 3fa73735c02e2e6471774f2a4253317e424564ee
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 19 10:44:27 2010 +0000

    Generate GLSL in the CoglPipeline GLSL backend
    
    The GLSL pipeline backend can now generate code to represent the
    pipeline state in a similar way to the ARBfp backend. Most of the code
    for this is taken from the GLES 2 wrapper.

 clutter/cogl/cogl/cogl-context.c       |    1 +
 clutter/cogl/cogl/cogl-context.h       |    1 +
 clutter/cogl/cogl/cogl-pipeline-glsl.c |  772 +++++++++++++++++++++++++++++---
 3 files changed, 702 insertions(+), 72 deletions(-)

commit 6246c2bd6cc5174529f5a6c5efb7daf44c131b6b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 22 12:15:35 2010 +0000

    Move the cogl shader boilerplate setting code to a separate function
    
    _cogl_shader_compile_real had some code to create a set of strings to
    combine the boilerplate code with a shader before calling
    glShaderSource. This has now been moved to its own internal function
    so that it could be used from the GLSL pipeline backend as well.

 clutter/cogl/cogl/cogl-shader-private.h |    8 +++
 clutter/cogl/cogl/cogl-shader.c         |   96 ++++++++++++++++++++++++-------
 2 files changed, 82 insertions(+), 22 deletions(-)

commit 339fc68bcbc15dbb212684be5cb4155cdaf4c836
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 19 15:42:26 2010 +0000

    Move need_texture_combine_separate to cogl-pipeline
    
    need_texture_combine_separate is moved to cogl-pipeline.c and renamed
    to _cogl_pipeline_need_texture_combine_separate. The function is
    needed by both the ARBfp and GLSL codegen backends so it makes sense to
    share it.

 clutter/cogl/cogl/cogl-pipeline-arbfp.c   |   75 +----------------------------
 clutter/cogl/cogl/cogl-pipeline-private.h |    4 ++
 clutter/cogl/cogl/cogl-pipeline.c         |   74 ++++++++++++++++++++++++++++
 3 files changed, 79 insertions(+), 74 deletions(-)

commit 9bbb088a2ad3e7758b65f83c181e0603350acfc1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 19 10:43:52 2010 +0000

    Move find_arbfp_authority to cogl-pipeline.c
    
    The code for finding the arbfp authority for a pipeline should be the
    same as finding the GLSL authority. So that the code can be shared the
    function has been moved to cogl-pipeline.c and renamed to
    _cogl_pipeline_find_codegen_authority.

 clutter/cogl/cogl/cogl-pipeline-arbfp.c   |  145 +----------------------------
 clutter/cogl/cogl/cogl-pipeline-private.h |    4 +
 clutter/cogl/cogl/cogl-pipeline.c         |  142 ++++++++++++++++++++++++++++
 3 files changed, 147 insertions(+), 144 deletions(-)

commit e57a132f940d1b0f1c66720096c446e4f04bf4dc
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 1 17:25:26 2010 +0000

    cogl: Rename arbfp_source_buffer to fragment_source_buffer
    
    Only one of the material backends can be generating code at the same
    time so it seems to make sense to share the same source buffer between
    arbfp and glsl. The new name is fragment_source_buffer in case we
    later want to create a new buffer for the vertex shader. That probably
    couldn't share the same buffer because it will likely need to be
    generated at the same time.

 clutter/cogl/cogl/cogl-context.c        |    2 +-
 clutter/cogl/cogl/cogl-context.h        |    2 +-
 clutter/cogl/cogl/cogl-pipeline-arbfp.c |    6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 9b5c90f441938c8044eecaf9c348c85708d45ce3
Author: Evan Nemerson <evan@coeus-group.com>
Date:   Fri Nov 19 23:27:46 2010 -0800

    cogl: Include exported pacakges information in GIR
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2438

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

commit f687ec6a226fa3914c6cf81fbad6b43786a2e1dc
Author: Chris Lord <chris@linux.intel.com>
Date:   Wed Nov 24 16:34:21 2010 +0000

    docs: Update documentation to reflect automatic map/unmap/etc.
    
    Update the ClutterActor documentation to reflect the new automatic
    map/unmap/realize/unrealize implementations.

 clutter/clutter-actor.h                            |    6 ++++--
 doc/reference/clutter/subclassing-ClutterActor.xml |   10 +---------
 2 files changed, 5 insertions(+), 11 deletions(-)

commit 186d5698ceb32e3b99d52390e29c5609fa3a8ae2
Author: Chris Lord <chris@linux.intel.com>
Date:   Tue Oct 26 17:09:24 2010 +0100

    actor: Use the internal child list for map/unmap
    
    Use the internal child list for the default map/unmap vfuncs. This removes
    the requirement for non-container composite actors to implement their own
    map/unmap functions.

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

commit 4752cc38b2000ba643fc9451769ebb2da9873280
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 20 18:26:01 2010 +0100

    actor: re-work unrealize to work with composite actors
    
    Unrealizing an actor is a recursive process that needs to traverse the
    children of an actor to ensure they are also unrealized. This maintains
    the invariant that if any given actor is marked as unrealized then you
    know that all its children have also been unrealized.
    
    The previous implementation would use the container interface's
    foreach_with_internals vfunc to explicitly traverse the children of
    container actors but this didn't consider composite actors that aren't
    containers.
    
    Since clutter-actor now maintains an explicit list of children we can
    also handle composite actors that aren't containers using
    _clutter_actor_traverse.

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

commit 4bda67473283b9b10a21b72df01d54447c7d557f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 20 15:40:30 2010 +0100

    actor: make _clutter_actor_traverse more flexible
    
    This makes it possible to choose the traversal order; either depth first
    or breadth first and when visiting actors in a depth first order there
    is now a callback called before children are traversed and one called
    after. Some tasks such as unrealizing actors need to explicitly control
    the traversal order to maintain the invariable that all children of an
    actor are unrealized before we actually mark the parent as unrealized.
    
    The callbacks are now passed the relative depth in the graph of the
    actor being visited and instead of only being able to return a boolean
    to bail out of further traversal it can now do one of: continue,
    skip_children or break. To implement something like unrealize it's
    desirable to skip children that you find have already been unrealized.

 clutter/clutter-actor-private.h |   47 ++++++++++++-
 clutter/clutter-actor.c         |  146 +++++++++++++++++++++++++++++++-------
 2 files changed, 163 insertions(+), 30 deletions(-)

commit 9df6f0c52445ef9c3c5343c1f0aee63c67bffe06
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Tue Oct 5 13:05:45 2010 -0400

    ClutterX11TexturePixmap: Optimize ConfigureEvent handling
    
    ClutterX11TexturePixmap watches for configure events to tell when it
    needs to name a new pixmap for the window. However, ConfigureEvents
    occur on moves in addition to resizes, and doing round trips and
    naming new pixmaps every time a window is moved is a real performance
    killer.
    
    Add clutter_x11_texture_pixmap_sync_window_internal() that takes the
    size/position of the window as arguments rather than always calling
    XGetWindowAttributes. This allows us to bypass all work other than
    notifying the window-x/window-y properties when we get a ConfigurEvent
    for a move.
    
    The last received width/height is saved to allow us to also omit
    XGetWindowAttributes on MapNotify events.
    
    The public clutter_x11_texture_pixmap_sync_window() becomes a bit less
    efficient since we no longer combine the roundtrips for
    XGetWindowAttributes() and XCompositeNameWindowPixmap(), but it appears
    to have no callers in current publicly available code.
    
    Several FIXME's are added for areas where there are still weird things
    going on in the code or improvements could be made.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2356

 clutter/x11/clutter-x11-texture-pixmap.c |  189 +++++++++++++++++++++---------
 1 files changed, 132 insertions(+), 57 deletions(-)

commit 1fdd82fcf1234a9b6c6fbcff05a62ce8f1eefcab
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 17 17:31:23 2010 +0000

    test-cogl-texture-get-set-data: Test the alpha component
    
    Previously the alpha component of the test texture data was always set
    to 255 and the data was read back as RGB so that the alpha component
    is ignored. Now the alpha component is set to a generated value and
    the data is read back a second time as RGBA to verify that Cogl is not
    doing any premult conversions when the internal texture and target
    data is the same.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 tests/conform/test-cogl-texture-get-set-data.c |   39 ++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 3 deletions(-)

commit 8b4034cd06035e49bbe709daf2977d828cb0f263
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Nov 12 11:02:13 2010 -0500

    Use FBOs and use cogl_read_pixels() to efficiently read partial textures
    
    * cogl_texture_get_data() is converted to use
       _cogl_texture_foreach_sub_texture_in_region() to iterate
      through the underlying textures.
    
     * When we need to read only a portion of the underlying
       texture, we set up a FBO and use _cogl_read_pixels()
       to read the portion we need. This is enormously more
       efficient for reading a small portion of a large atlas
       texture.
    
     * The CoglAtlasTexture, CoglSubTexture, and CoglTexture2dSliced
       implementation of get_texture() are removed.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 clutter/cogl/cogl/cogl-atlas-texture.c     |   17 +---
 clutter/cogl/cogl/cogl-sub-texture.c       |   70 +----------
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |  149 +---------------------
 clutter/cogl/cogl/cogl-texture.c           |  191 ++++++++++++++++++++++++++-
 4 files changed, 186 insertions(+), 241 deletions(-)

commit 519b6fe6f259762f05a638716691f626b3b54f12
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 17 17:57:17 2010 +0000

    cogl-framebuffer: Try to track format of the framebuffer
    
    Previously in cogl_read_pixels we assume the format of the framebuffer
    is always premultiplied because that is the most likely format with
    the default Cogl blend mode. However when the framebuffer is bound to
    a texture we should be able to make a better guess at the format
    because we know the texture keeps track of the premult status. This
    patch adds an internal format member to CoglFramebuffer. For onscreen
    framebuffers we still assume it is RGBA_8888_PRE but for offscreen to
    textures we copy the texture format. cogl_read_pixels uses this to
    determine whether the data returned by glReadPixels will be
    premultiplied.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 clutter/cogl/cogl/cogl-framebuffer-private.h |    3 +++
 clutter/cogl/cogl/cogl-framebuffer.c         |   15 +++++++++++++++
 clutter/cogl/cogl/cogl.c                     |   22 ++++++++++------------
 3 files changed, 28 insertions(+), 12 deletions(-)

commit 08e1d7f57438fc563253906de735412329366b45
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 17 17:45:27 2010 +0000

    cogl_read_pixels: Fix the format used in GLES2
    
    When converting the data in cogl_read_pixels it was using bmp_format
    instead of the format passed in to the function. bmp_format is the
    same as the passed in format except that it always has the premult bit
    set. Therefore the conversion would not handle premultiply correctly.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

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

commit 2bd054f886a1ecd18837e6be9e48b379b8628754
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 17 15:38:20 2010 +0000

    Add an internal _cogl_read_pixels_with_rowstride
    
    This is the same as _cogl_read_pixels except that it takes a rowstride
    parameter for the destination buffer. Under OpenGL setting the
    rowstride this will end up calling GL_ROW_LENGTH so that the buffer
    region can be directly written to. Under GLES GL_ROW_LENGTH is not
    supported so it will use an intermediate buffer as it does if the
    format is not GL_RGBA.
    
    cogl_read_pixels now just calls the full version of the function with
    the rowstride set to width*bpp.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 clutter/cogl/cogl/cogl-private.h |   10 +++++++++
 clutter/cogl/cogl/cogl.c         |   39 +++++++++++++++++++++++++++----------
 2 files changed, 38 insertions(+), 11 deletions(-)

commit b4016f64fa9c82266e4827fb06826319a418d9d9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 11 15:28:44 2010 +0000

    Add an internal _cogl_offscreen_new_to_texture_full function
    
    This function is the same as cogl_offscreen_new_to_texture but it
    takes a level parameter and a set of flags so that FBOs can be used to
    render to higher mipmap levels and to disable the depth and stencil
    buffers. cogl_offscreen_new_to_texture now just calls the new function
    with the level set to zero. This function could be useful in a few
    places in Cogl where we want to use FBOs as an implementation detail
    such as when copying between textures.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 clutter/cogl/cogl/cogl-framebuffer-private.h |   24 ++++++
 clutter/cogl/cogl/cogl-framebuffer.c         |  100 +++++++++++++++++++------
 2 files changed, 100 insertions(+), 24 deletions(-)

commit d52bd995a6a5012fc363b607a9ac79b2748087db
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Nov 12 10:58:59 2010 -0500

    Test slicing when getting data in both directions
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2414

 tests/conform/test-cogl-texture-get-set-data.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit a53b9febcdd60c322933e41e4ded6247da1f8bef
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 23 16:48:59 2010 +0000

    stage: if backend _ignoring_redraw_clips queue full redraw
    
    In clutter_stage_real_queue_redraw we were checking to see if the
    backend will ignore any subsequent redraw_clip so we can avoid the cost
    of projecting the paint-volume of an actor into stage coordinates, but
    we weren't ensuring that a full redraw would be queued instead we just
    bailed out immediately. This makes sure to call
    _clutter_stage_window_add_redraw_clip (stage_window, NULL) in this case
    to make sure the backend will do an un-clipped redraw.

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

commit 5f181f7265fe043025583e3a7747e9ce55bd65ba
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 23 16:05:44 2010 +0000

    stage-window: tweak has_redraw_clips semantics
    
    This tweaks the semantics of the has_redraw_clips vfunc so we can assume
    that at the start of a new frame there is an implied, initial,
    redraw_clip that clips everything (i.e. nothing would be redrawn) so in
    that case we would expect the has_redraw_clips vfunc to return True at
    the start of a new frame for backends that support clipping.
    
    Previously there was an ambiguity when this function returned False
    since it could either mean a full screen redraw had been queued or it
    could mean that the clip state wasn't yet initialized for that frame.
    This would result in _clutter_stage_has_full_redraw_queued() returning
    True at the start of a new frame even before any actors have been
    updated, which in turn meant we would incorrectly ignore queue_redraw
    requests for actors, believing them to be redundant.

 clutter/clutter-stage-window.c  |   16 ++++++++++++++++
 clutter/egl/clutter-stage-egl.c |   19 +++++++++++++------
 clutter/glx/clutter-stage-glx.c |   21 ++++++++++++++-------
 3 files changed, 43 insertions(+), 13 deletions(-)

commit c9d0f8b26e8ca6e67b52a1cc2a54d247919d09a9
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Wed Nov 24 12:44:35 2010 +0000

    cookbook: Add recipe for animated scaling of an actor
    
    Recipe explains how to animate scaling a single actor.
    
    Also covers scaling vs. resizing, scale center, and
    scaling within layouts and containers.
    
    The first example shows how animations around each scale
    gravity look, as well as tracking the transformed position
    and size of the actor and displaying those.
    
    The second example is a simple image viewer with zoom in/out
    using scaling.

 doc/cookbook/animations.xml |  305 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 257 insertions(+), 48 deletions(-)

commit ee9a4d02bba8bb0cf6ea73c5cdcce49fb29f786e
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Wed Nov 24 12:22:12 2010 +0000

    cookbook: Add example of scaling a texture
    
    Added a simple application for scaling a
    texture while keeping the mouse pointer over
    the same coordinates on its surface.

 doc/cookbook/examples/Makefile.am               |    2 +
 doc/cookbook/examples/animations-scaling-zoom.c |  155 +++++++++++++++++++++++
 2 files changed, 157 insertions(+), 0 deletions(-)

commit c8f112876e69ca2aeb9eb202c504bcf24ecab921
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Fri Nov 19 14:52:44 2010 +0000

    cookbook: Added "animated scaling" recipe skeleton

 doc/cookbook/animations.xml |  132 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 132 insertions(+), 0 deletions(-)

commit b47b2f474910ead5b72eae88ebc53c2f667b93d7
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Fri Nov 19 14:29:39 2010 +0000

    cookbook: Added animated scaling example
    
    Added an example showing scaling of an actor on
    each of the scaling gravity settings (NORTH_WEST, NORTH etc.),
    with a mark indicating the center being used.
    
    Displays the transformed size and position, updated
    on each paint of the actor.

 doc/cookbook/examples/Makefile.am          |    2 +
 doc/cookbook/examples/animations-scaling.c |  183 ++++++++++++++++++++++++++++
 2 files changed, 185 insertions(+), 0 deletions(-)

commit 446107f19d59ab95c918e566b5d8efdb8c0841c8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 24 12:02:38 2010 +0000

    x11: Check for initialized context when enabling ARGB visuals
    
    Instead of using the backend singleton. This allows lazy initialization
    of Clutter.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2435

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

commit 6a552e27abfa2e0f0705ac935872e5393cdf1fdc
Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
Date:   Tue Nov 23 17:06:52 2010 +0100

    Fix API docs for ClutterShaderEffects
    
    It can implement now both fragment and vertex shaders.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2442

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

commit 65d0ce607efe6cbc72e3f1f4518c8cf5d038ceee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 23 14:31:45 2010 +0000

    stage: Report an unknown paint volume.
    
    Previously we were leaving it up to the default implementation of
    get_paint_volume in ClutterGroup to handle the stage by determining the
    bounding box of all contained children. This isn't the true bounding box
    of the stage though since the stage is responsible for clearing the
    entire framebuffer at the start of the frame. This adds a
    get_paint_volume implementation for ClutterStage which simply returns
    False which means Clutter has to assume it covers everything.

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

commit 52bf38c38c4b1d0c787cccf5e1ea2518a67ac1bf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 23 14:30:08 2010 +0000

    x11: only queue clipped redraw for Expose
    
    When we handle Expose events we try and queue a clipped redraw of the
    stage, but for some reason we were also redundantly calling
    clutter_actor_queue_redraw for the stage which would negate the request
    to queue a clipped redraw.

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

commit 1b7c895a2d041a36ad9279044e47542be8c0ba95
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 23 14:07:16 2010 +0000

    cogl-texture-driver-gles: Fix image height for uploading 3D textures
    
    When uploading a 3D texture with an awkward rowstride, on GLES Cogl
    will copy the images to an intermediate buffer to pass to GL. However
    it was using the wrong height when copying the data so it would end up
    overflowing the buffer and crashing.

 .../cogl/driver/gles/cogl-texture-driver-gles.c    |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 01c6ccfa1336216c74829386912806ca02e1ab12
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 23 13:05:47 2010 +0000

    pipeline: Use WrapModeInternal in the Layer struct
    
    Since we're using CoglPipelineWrapModeInternal in the internal API
    anyway, and the compiler complains loudly when comparing two enumeration
    types without casting, the PipelineLayer struct should store the
    wrap modes using the internal enumeration.

 clutter/cogl/cogl/cogl-pipeline-private.h |   44 ++++++++++++++--------------
 1 files changed, 22 insertions(+), 22 deletions(-)

commit 8e6fac38fa73ec4c8a67835a1128e6b1a9889302
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat Nov 13 11:29:49 2010 -0500

    Don't update or use last_paint_box when painting inside a clone
    
    The last_paint_box for an actor represents its "normal" position - we
    shouldn't update it or use it to cull drawing if we are painting
    a clone of the actor. Tracking whether we are painting a clone is
    done by adding  _clutter_actor_push/pop_clone_paint() and a global
    "clone paint level".
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2396

 clutter/clutter-actor-private.h |    3 ++
 clutter/clutter-actor.c         |   42 ++++++++++++++++++++++++++++++++------
 clutter/clutter-clone.c         |    2 +
 3 files changed, 40 insertions(+), 7 deletions(-)

commit c68280556ee762c840bb8c73da16d505b6efe1ac
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 22 15:51:15 2010 +0000

    clip-stack: combine modelview-projection in set_clip_planes
    
    When using clip planes and we we have to project some vertices into
    screen coordinates we used to transform those by the modelview and then
    the projection matrix separately. Now we combine the modelview and
    projection matrix and then use that to transform the vertices in one
    step instead.

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

commit 99f4832c28512e8b670b3681eeb228b4c8c08d14
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 22 12:44:36 2010 +0000

    journal: remove possability of fallback layers
    
    When logging quads in the journal it used to be possible to specify a
    mask of fallback layers (layers where a default white texture should be
    used in-place of the corresponding texture in the current source
    pipeline). Since we now handle fallbacks for cogl_rectangle* primitives
    when validating the pipeline up-front before logging in the journal we
    no longer need the ability for the journal to apply fallbacks too.

 clutter/cogl/cogl/cogl-journal-private.h |    1 -
 clutter/cogl/cogl/cogl-journal.c         |    6 ------
 clutter/cogl/cogl/cogl-primitives.c      |    2 --
 3 files changed, 0 insertions(+), 9 deletions(-)

commit 305bb124b71b8fd531009f050cc83d89af1dfb93
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 12 16:08:25 2010 +0000

    use cogl_matrix_transform_points in clutter
    
    When transforming a paint-volume or transforming allocation vertices we
    are transforming more than one point at a time so we can batch those
    together with cogl_matrix_transform_points instead of
    cogl_matrix_transform_point. Also in both of these cases we don't need
    to do a projective transform so using cogl_matrix_transform_points also
    lets us reduce the per-vertex computation.

 clutter/clutter-actor.c        |   23 ++++++++---------------
 clutter/clutter-paint-volume.c |   18 +++++++-----------
 2 files changed, 15 insertions(+), 26 deletions(-)

commit 2dba3e8cbf4d130701510768b5c766bb7ef070e8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Nov 12 13:35:24 2010 +0000

    matrix: Adds experimental cogl_matrix_{transform,project}_points
    
    This add two new function that allows us to transform or project an
    array of points instead of only transforming one point at a time. Recent
    benchmarking has shown cogl_matrix_transform_point to be a bottleneck
    sometimes, so this should allow us to reduce the overhead when
    transforming lots of vertices at the same time, and also reduce the cost
    of 3 component, non-projective transforms.
    
    For now they are marked as experimental (you have to define
    COGL_ENABLE_EXPERIMENTAL_API) because there is some concern that it
    introduces some inconsistent naming. cogl_matrix_transform_point would
    have to be renamed cogl_matrix_project_point to be consistent, but that
    would be an API break.

 clutter/cogl/cogl/cogl-matrix.c      |  346 ++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-matrix.h      |  123 ++++++++++++
 doc/reference/cogl/cogl-sections.txt |    2 +-
 3 files changed, 470 insertions(+), 1 deletions(-)

commit 4307e65f937538a6251738a8450babce5ed9e8e6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 11 16:28:45 2010 +0000

    primitives: validate with _cogl_pipeline_foreach_layer
    
    Switch _cogl_rectangles_with_multitexture_coords to using
    _cogl_pipeline_foreach_layer to iterate the layers of a pipeline when
    validating instead of iterating the pipelines internal list, which is
    risky since any modifications to pipelines (even to an override pipeline
    derived from the original), could potentially corrupt the list as it is
    being iterated.

 clutter/cogl/cogl/cogl-pipeline-private.h |    3 +-
 clutter/cogl/cogl/cogl-pipeline.c         |    6 +-
 clutter/cogl/cogl/cogl-primitives.c       |  324 +++++++++++++++-------------
 3 files changed, 180 insertions(+), 153 deletions(-)

commit fb564cc2ca9579c3b444f5fd5c59ee4da040b7da
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 11 15:08:38 2010 +0000

    cogl: remove WrapModeOverrides from FlushOptions
    
    This removes the possibility to specify wrap mode overrides within a
    CoglPipelineFlushOptions struct since the right way to handle these
    overrides is by copying the user's material and making the changes to
    that copy before flushing. All primitives code has already switched away
    from using these wrap mode overrides so this patch just removes unused
    code and types. It also remove the wrap_mode_overrides argument for
    _cogl_journal_log_quad.

 clutter/cogl/cogl/cogl-journal-private.h  |    2 -
 clutter/cogl/cogl/cogl-journal.c          |    7 ----
 clutter/cogl/cogl/cogl-pipeline-private.h |   32 +----------------
 clutter/cogl/cogl/cogl-pipeline.c         |   55 -----------------------------
 clutter/cogl/cogl/cogl-primitives.c       |    2 -
 5 files changed, 1 insertions(+), 97 deletions(-)

commit b8c9ee7e88ca6d1c2e9bc6380740dbf19096e71e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 23 10:26:15 2010 +0000

    x11: Ignore NULL settings
    
    Prevent a segfault when dealing with XSETTINGS_ACTION_DELETE.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2441

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

commit 1db8b8a70e9c198a04d7c3e3e6365513f5d6858d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 17:01:17 2010 +0000

    color: Do not shadow a variable
    
    Avoid a warning.

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

commit 88049013702032895a9cb7ed60f661d58443130d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 15:20:55 2010 +0000

    Update NEWS

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

commit f4531aef4bea347f84b6ace38f6df7b34cdbe13c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 15:07:01 2010 +0000

    color: And finally, add hsla() support
    
    Missed it when reading the CSS spec.

 clutter/clutter-color.c |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

commit e86db85cd2f0bbdbb65924a8f9ae2575e1212d14
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 15:02:47 2010 +0000

    color: Support the CSS hsl() notation
    
    Since we support the rgb() and rgba() notations we might as well also
    support the hsl() one.

 clutter/clutter-color.c    |   70 ++++++++++++++++++++++++++++++++++++++++++++
 tests/conform/test-color.c |   14 +++++++++
 2 files changed, 84 insertions(+), 0 deletions(-)

commit ab6da347f61c0fb2249bbab9d03545121752d633
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 14:22:56 2010 +0000

    color: Support CSS color definitions
    
    The CSS Color Module 3, available at:
    
      http://www.w3.org/TR/css3-color/
    
    allows defining colors as:
    
      rgb ( r, g, b )
      rgba ( r, g, b, a)
    
    along with the usual hexadecimal and named notations.
    
    The r, g, and b channels can be:
    
      • integers between 0 and 255
      • percentages, between 0% and 100%
    
    The alpha channel, if included using the rgba() modifier, can be a
    floating point value between 0.0 and 1.0.
    
    The ClutterColor parser should support this notation.

 clutter/clutter-color.c    |  135 ++++++++++++++++++++++++++++++++++++++++++--
 tests/conform/test-color.c |   54 ++++++++++++++++--
 2 files changed, 178 insertions(+), 11 deletions(-)

commit ee0b8c439e0211e1af8ad55d17d2695e17879f0a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 22 10:16:45 2010 +0000

    docs: Update the release notes in the README
    
    Also updates the introductory blurb.

 README |   29 ++++++++++++++++++++++++-----
 1 files changed, 24 insertions(+), 5 deletions(-)

commit 3055cd1f4aec16a39e520da8d697d19c5beae711
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 20 13:05:51 2010 +0000

    docs: Include the Behaviour migration guide
    
    I forgot to add the xinclude directive in the main document.

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

commit 2fe8f864971f3fdfd27e1f2480aa48b0b9c4172e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 20 11:07:45 2010 +0000

    po: Post-release update

 po/clutter-1.0.pot |  490 ++++++++++++++++++++++----------------------
 po/de.po           |  488 ++++++++++++++++++++++----------------------
 po/fr.po           |  488 ++++++++++++++++++++++----------------------
 po/id.po           |  488 ++++++++++++++++++++++----------------------
 po/it.po           |  573 ++++++++++++++++++++++++++++------------------------
 po/pl.po           |  488 ++++++++++++++++++++++----------------------
 po/zh_CN.po        |  488 ++++++++++++++++++++++----------------------
 7 files changed, 1770 insertions(+), 1733 deletions(-)

commit ac6a378177c37712b13fb25d09b7c5e2ce4f626f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 20 11:07:29 2010 +0000

    Post-release version bump to 1.5.7

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

commit 7373cebd8d23fa88c74f680bca5d5c7445d46eb0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 20 10:17:51 2010 +0000

    Release Clutter 1.5.6 (snapshot)

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

commit b674fcf3bb3acef61bb10a5726e020a4bc1310c7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 20 10:46:57 2010 +0000

    build: Add missing cogl-shader-boilerplate.h

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

commit be3040fd2bca29d3d415d4baf062480f20471947
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 19 18:29:43 2010 +0000

    build: Add a missing file

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

commit e30b7b2d5a2f4468a9266085ce58b133734e3f9c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 19 18:15:29 2010 +0000

    build: Don't reference non-existing files

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

commit 60c6312b2d11f25c631cade6cc59b9680debc6c2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 19 18:07:27 2010 +0000

    Update the NEWS file

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

commit d39277d0cf96e2a4ac7b5cc3f587b5fba1f48610
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 19 12:26:57 2010 +0000

    actor: Reset the last paint box on unmap
    
    This allows hiding + moving + showing an actor without repainting the
    wrong area.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2395

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

commit 346d3e40a37f2229b0a9314fd8a3c2b6c4313752
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Nov 15 01:32:42 2010 -0500

    Free state at the end of a journal flush
    
    At the end of flushing the journal, we need to free the vertex
    attributes and vertex array.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2423

 clutter/cogl/cogl/cogl-journal.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 1299672b5a53e004bfbc92fd89d2707c732e3586
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sun Nov 14 22:59:24 2010 -0500

    Actually free buffer objects
    
    With the refactoring to centralize code into CoglBuffer,
    _cogl_buffer_fini() was never actually implemented, so all GL
    vertex and index buffer objects were leaked.
    
    The duplicate call to glDeleteBuffers() in CoglPixelArray is
    removed (it wasn't paying attention to whether the buffer had been
    allocated as a PBO or not.)
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2423

 clutter/cogl/cogl/cogl-buffer.c      |    7 +++++++
 clutter/cogl/cogl/cogl-pixel-array.c |    2 --
 2 files changed, 7 insertions(+), 2 deletions(-)

commit a5c30398df59f1aca8c0bf1e1f0a32ae51e990cd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 13:54:15 2010 +0000

    egl: Adds support for clipped redraws
    
    This adds egl backend support for handling clipped redraws. This uses
    the EGL_NOK_swap_region extension to enable the EGL backend to present a
    subregion from the back buffer to the front so we don't always have to
    redraw the entire stage for small updates.

 clutter/egl/clutter-backend-egl.c |   81 ++++++++++++++
 clutter/egl/clutter-backend-egl.h |   32 ++++++
 clutter/egl/clutter-stage-egl.c   |  215 ++++++++++++++++++++++++++++++++++++-
 clutter/egl/clutter-stage-egl.h   |    8 ++
 4 files changed, 333 insertions(+), 3 deletions(-)

commit a4d3208eb57ddb3cc7eea61534b5187663d7507c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 13:06:08 2010 +0000

    debug: Adds a COGL_DEBUG=wireframe option
    
    This adds a COGL_DEBUG=wireframe option to visualize the underlying
    geometry of the primitives being drawn via Cogl. This works for triangle
    list, triangle fan, triangle strip and quad (internal only) primitives.
    It also works for indexed vertex arrays.

 clutter/cogl/cogl/cogl-debug-options.h    |    5 +
 clutter/cogl/cogl/cogl-debug.c            |    3 +-
 clutter/cogl/cogl/cogl-debug.h            |    3 +-
 clutter/cogl/cogl/cogl-vertex-attribute.c |  243 +++++++++++++++++++++++++++++
 4 files changed, 252 insertions(+), 2 deletions(-)

commit 78ac92f8e57acf8eccc20a1990bd7d619f5ebbdc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 08:52:49 2010 +0000

    vertex-buffer: don't unref NULL object
    
    In cogl_vertex_buffer_indices_get_for_quads() we sometimes have to
    extend the length of an existing array, but when we came to unref the
    previous array we didn't first check that it wasn't simply NULL.

 clutter/cogl/cogl/cogl-vertex-buffer.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit f473c213fcc1b0095f32c909eb69a0c8172cba0e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 08:49:55 2010 +0000

    vertex-array: Adds data arg for _vertex_array_new()
    
    This adds an optional data argument for cogl_vertex_array_new() since it
    seems that mostly every case where we use this API we follow up with a
    cogl_buffer_set_data() matching the size of the new array. This
    simplifies all those cases and whenever we want to delay uploading of
    data then NULL can simply be passed.

 clutter/cogl/cogl/cogl-journal.c       |    2 +-
 clutter/cogl/cogl/cogl-primitive.c     |   40 ++++++-------------------------
 clutter/cogl/cogl/cogl-primitives.c    |    6 +---
 clutter/cogl/cogl/cogl-vertex-array.c  |   11 +++++++-
 clutter/cogl/cogl/cogl-vertex-array.h  |    9 +++++-
 clutter/cogl/cogl/cogl-vertex-buffer.c |    3 +-
 clutter/cogl/cogl/cogl2-path.c         |   12 +++------
 7 files changed, 33 insertions(+), 50 deletions(-)

commit 804dd5d5fc2b68b64032cac30268372303be24bf
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 08:41:29 2010 +0000

    indices: Makes cogl_indices_get_array public
    
    This makes the previously internal only _cogl_indices_get_array API
    public as cogl_indices_get_array (Though marked as experimental)

 clutter/cogl/cogl/cogl-indices-private.h  |    3 ---
 clutter/cogl/cogl/cogl-indices.c          |    2 +-
 clutter/cogl/cogl/cogl-indices.h          |    3 +++
 clutter/cogl/cogl/cogl-vertex-attribute.c |    2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit dfc671da5960fccf478131aa3136c25341979e61
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 16 08:38:59 2010 +0000

    build: cogl-clip-state.h depends on cogl-clip-stack.h
    
    This adds a #include "cogl-clip-stack.h" to cogl-clip-state.h which
    depends on the CoglClipStack typedef.

 clutter/cogl/cogl/cogl-clip-state.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6f68bb365694bfd82737f6d1c577af38280d099b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 10 18:27:00 2010 +0000

    debug: disable-culling was disabling clipped redraws
    
    there was a typo and the disable-culling option was actually disabling
    clipped redraws.

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

commit 694632ce95bfc2c14791214acc435743dba4df2e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 18 18:23:49 2010 +0000

    build: Re-arrange headers
    
    Try to minimize the included headers, especially in clutter-actor.h.

 clutter/clutter-actor.c            |    1 +
 clutter/clutter-actor.h            |    6 ++----
 clutter/clutter-color.h            |    5 +----
 clutter/clutter-deform-effect.h    |    2 +-
 clutter/clutter-effect.h           |    1 -
 clutter/clutter-offscreen-effect.h |    1 +
 clutter/clutter-shader.h           |    1 -
 clutter/clutter-texture.c          |   15 +++++++--------
 clutter/clutter-texture.h          |    2 +-
 clutter/clutter-types.h            |    6 +++++-
 10 files changed, 19 insertions(+), 21 deletions(-)

commit 63cef64d17d3e5c22add99e8d736b6f69fac8f25
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 18 14:14:37 2010 +0000

    docs: Fix some wrong function/signal/property names

 clutter/clutter-behaviour-scale.c               |    4 ++--
 clutter/clutter-behaviour.h                     |    2 +-
 clutter/clutter-constraint.c                    |    4 ++--
 clutter/clutter-drag-action.c                   |    2 +-
 clutter/clutter-script.c                        |    2 +-
 clutter/clutter-stage.c                         |    2 +-
 clutter/clutter-stage.h                         |    2 +-
 clutter/clutter-texture.c                       |    4 ++--
 clutter/clutter-units.c                         |    2 +-
 doc/cookbook/animations.xml                     |    2 +-
 doc/reference/clutter/clutter-overview.xml      |    2 +-
 doc/reference/clutter/migrating-ClutterPath.xml |    2 +-
 12 files changed, 15 insertions(+), 15 deletions(-)

commit b0f535037993a15e75525494c5dddecc96bbe0dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 15:51:35 2010 +0000

    test-layout: Port away from Behaviour
    
    Use a simple animation with a looping+reversing timeline.

 tests/interactive/test-layout.c |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

commit eade1ab19e90b6955ead726132503f13ac346356
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 10 11:51:42 2010 +0000

    test-rotate: Remove the behaviour code
    
    Use a looping animation with a shared timeline instead.

 tests/interactive/test-rotate.c |   57 +++++++++++++++++----------------------
 1 files changed, 25 insertions(+), 32 deletions(-)

commit 74a770a976250d1d3cb887d9536fac1e9fc7cdf4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 10 13:15:06 2010 +0000

    docs: Add Behaviour migration guide

 doc/reference/clutter/Makefile.am                  |    6 +-
 .../clutter/migrating-ClutterBehaviour.xml         |  122 ++++++++++++++++++++
 2 files changed, 126 insertions(+), 2 deletions(-)

commit a35708eb74dcc3ffd474e1c07725ece7b8a4fb1a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 6 15:54:21 2010 +0000

    Deprecate ClutterBehaviour and sub-classes
    
    The Behaviour class and its implementations have been replaced by the
    new animation framework API and by the constraints for layout-related
    animations.
    
    Currently, we need to make tests build, so we undef DISABLE_DEPRECATED
    in specific test cases while they get ported.

 clutter/clutter-actor.c                  |    4 ++-
 clutter/clutter-behaviour-depth.c        |   15 ++++++++++++-
 clutter/clutter-behaviour-depth.h        |    9 ++++++++
 clutter/clutter-behaviour-ellipse.c      |    6 +++-
 clutter/clutter-behaviour-ellipse.h      |    8 +++++++
 clutter/clutter-behaviour-opacity.c      |   34 +++++++++++++++--------------
 clutter/clutter-behaviour-opacity.h      |   10 ++++++++-
 clutter/clutter-behaviour-path.c         |   25 +++++++++++++++++----
 clutter/clutter-behaviour-path.h         |    9 ++++++++
 clutter/clutter-behaviour-rotate.c       |   13 +++++------
 clutter/clutter-behaviour-rotate.h       |    8 +++++++
 clutter/clutter-behaviour-scale.c        |   33 +++++++++++++++++++++--------
 clutter/clutter-behaviour-scale.h        |    9 ++++++++
 clutter/clutter-behaviour.c              |    7 ++++-
 clutter/clutter-behaviour.h              |   12 +++++++++-
 tests/conform/test-behaviours.c          |    2 +
 tests/conform/test-script-parser.c       |    1 +
 tests/interactive/test-actor-clone.c     |    1 +
 tests/interactive/test-actors.c          |    1 +
 tests/interactive/test-behave.c          |    1 +
 tests/interactive/test-depth.c           |    2 +
 tests/interactive/test-layout.c          |    2 +
 tests/interactive/test-multistage.c      |    2 +
 tests/interactive/test-paint-wrapper.c   |    2 +
 tests/interactive/test-pixmap.c          |    4 ++-
 tests/interactive/test-rotate.c          |    1 +
 tests/interactive/test-scale.c           |    2 +
 tests/interactive/test-script.c          |    1 +
 tests/interactive/test-texture-async.c   |    2 +
 tests/interactive/test-texture-quality.c |    2 +
 tests/interactive/test-threads.c         |    2 +
 tests/interactive/test-viewport.c        |    1 +
 32 files changed, 185 insertions(+), 46 deletions(-)

commit 71a838815f4d3ea1d9e2054bbbaaf0449eae357e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 15:27:42 2010 +0000

    timeline: Add :reverse property
    
    The :reverse property removes the pattern of connecting to the
    ::completed signal of a Timeline to change the direction.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2408

 clutter/clutter-timeline.c                 |  156 ++++++++++++++++++++++++----
 clutter/clutter-timeline.h                 |    3 +
 doc/reference/clutter/clutter-sections.txt |    2 +
 tests/interactive/test-behave.c            |   21 +----
 4 files changed, 144 insertions(+), 38 deletions(-)

commit 1ce47bb562a227f4c3bb267e2e10b54b4ded475c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 18 14:02:52 2010 +0000

    docs: Remove unnecessary '#'
    
    The hash is confusing gtk-doc.

 clutter/clutter-color.h |   90 +++++++++++++++++++++++-----------------------
 1 files changed, 45 insertions(+), 45 deletions(-)

commit a94ea93bde8382691b8eea1f047b20c0c689c51f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 18 10:53:01 2010 +0000

    paint-volume: Do not take a reference on the actor
    
    The paint volume structure is cached in the Actor it references, and
    this causes a reference cycle.
    
    The paint volume is going to be used when painting, so the actor must
    still be valid - otherwise Clutter will bail out far before than
    accessing the actor pointer in ClutterPaintVolume.
    
    Otherwise, we could have used dispose() to check for a valid actor and
    remove a reference if the actor field is !NULL; it feels less clean,
    though, since we're effectively managing an extra reference on
    ourselves.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2431

 clutter/clutter-actor.c        |    8 +++-----
 clutter/clutter-paint-volume.c |   18 +++---------------
 2 files changed, 6 insertions(+), 20 deletions(-)

commit 0371ba3976fafecc900123bb94822b95a1198d3a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 18 11:00:08 2010 +0000

    actor: Group bitfields together

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

commit b55346151c3122d356d1e0af5f73bba184fbaa81
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 19:13:55 2010 +0000

    build: Cogl-2.0 API reference should be conditionally built
    
    Building the API reference for Cogl 2.0 is fairly confusing: the API
    itself is experimental and for internal use only -- though we want
    feedback for it.
    
    Let's build the API reference only when Clutter is configured with a
    specific configure switch, so that people that wish to give feedback on
    the API and its documentation can do it.

 configure.ac              |    8 ++++++++
 doc/reference/Makefile.am |    8 +++++++-
 2 files changed, 15 insertions(+), 1 deletions(-)

commit 8f60d5a3a2d6650bb27ebe6488fe56bf67d3d09c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 7 16:20:51 2010 +0000

    Start using the monotonic API in GLib ≥ 2.27
    
    Starting from the 2.27 cycle, GLib is exposing a monotonic clock with
    microseconds granularity throughout the time-based API. We can start
    using it, given that the old, non-monotonic version is going to be
    deprecated by the same cycle.

 clutter/clutter-frame-source.c     |   12 +++++++++---
 clutter/clutter-master-clock.c     |   27 ++++++++++++++++++++-------
 clutter/clutter-timeout-interval.c |   15 ++++++++++-----
 clutter/clutter-timeout-pool.c     |   13 ++++++++++---
 4 files changed, 49 insertions(+), 18 deletions(-)

commit 68d7a5e84721966686fb066c8b62041f0889a07a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 7 15:57:33 2010 +0000

    Move away from GTimeVal
    
    GLib 2.28 will deprecate GTimeVal and related API in favour of
    standardizing on microseconds granularity for all time-based API.
    
    Clutter should switch too.
    
    All of the current users of GTimeVal convert to milliseconds when
    doing time operations, and use GTimeVal only as storage. This can
    effectively be replaced by a gint64.
    
    The Master Clock uses a microsecond resolution, except when interacting
    with the main loop itself, since the main loop has a millisecond
    resolution - at least until Ryan Lortie manages to switch that too to
    microseconds on Linux.
    
    The clutter_timeline_do_tick() function was erroneously not privatized,
    but it was still assumed to be private; we should just remove it from
    the public symbols.

 clutter/clutter-frame-source.c     |    8 +++--
 clutter/clutter-master-clock.c     |   51 ++++++++++++++++-------------------
 clutter/clutter-timeline.c         |   17 +++++------
 clutter/clutter-timeline.h         |    4 +-
 clutter/clutter-timeout-interval.c |   33 ++++++++++++-----------
 clutter/clutter-timeout-interval.h |   28 ++++++++++---------
 clutter/clutter-timeout-pool.c     |   16 ++++++-----
 7 files changed, 79 insertions(+), 78 deletions(-)

commit 8b047d0bc963389109486388ce5051a6a06d0994
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 12:49:10 2010 +0000

    docs: Move the constraints example picture about the source code

 clutter/clutter-constraint.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit e5da5b0907264f822bf646ef7e1151bb69f1945a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 12:47:46 2010 +0000

    shaders: Fix the usage of the Cogl GLSL variables

 clutter/clutter-blur-effect.c       |    4 ++--
 clutter/clutter-colorize-effect.c   |    2 +-
 clutter/clutter-desaturate-effect.c |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

commit f96113705d0154772e39a4782925d49b74d5ad09
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 17 12:14:02 2010 +0000

    docs: Fix closing tag

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

commit a731682ac394d1b54b78dec1083d158a71e10f89
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 16:30:12 2010 +0000

    actor: Simple show/hide optimizations
    
    Showing a visible (and hiding an invisible) actor is far less cheap than
    it should be.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2422

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

commit 66e7a38a3d9a8b2782969cf24db59909e0f99877
Author: muflone <webreg@vbsimple.net>
Date:   Mon Nov 15 17:54:01 2010 +0000

    po: Update Italian translation
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 po/it.po |  839 ++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 413 insertions(+), 426 deletions(-)

commit a32f7811447addd100bb5919ee5e0f3d1157097f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 16 17:18:50 2010 +0000

    docs: Break down the constraints example

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

commit 3777e0b38267fd21539c8ec5e7f04d6179379a3d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 17:27:46 2010 +0000

    docs: Update the constraints example image

 doc/reference/clutter/constraints-example.png |  Bin 2482 -> 5985 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

commit 2950cb3e78626b269555bc3a4813f9bfe17ea7fc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 16:02:15 2010 +0000

    docs: Fix Since tags for PaintVolume-related API

 clutter/clutter-paint-volume.c |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

commit b7fa13a52f6c7f13e81cefd774b7ac301261a673
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 15:02:07 2010 +0000

    docs: Add introductory section on Constraints
    
    Use the snap-constraint code for the example code and screenshot.

 clutter/clutter-constraint.c                  |   59 ++++++++++++++++++++++++-
 doc/reference/clutter/Makefile.am             |    2 +
 doc/reference/clutter/constraints-example.png |  Bin 0 -> 2482 bytes
 3 files changed, 60 insertions(+), 1 deletions(-)

commit 3c15c0c9bb6befff149b8be512d7342d820b591a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 10 16:37:34 2010 +0000

    Add SnapConstraint
    
    A SnapConstraint is a constraint that "snaps" the edges of two actors
    together.

 clutter/Makefile.am                        |    2 +
 clutter/clutter-snap-constraint.c          |  589 ++++++++++++++++++++++++++++
 clutter/clutter-snap-constraint.h          |   90 +++++
 clutter/clutter.h                          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |   16 +-
 doc/reference/clutter/clutter-sections.txt |   19 +
 doc/reference/clutter/clutter.types        |    1 +
 tests/interactive/Makefile.am              |    6 +-
 tests/interactive/test-snap-constraint.c   |   90 +++++
 9 files changed, 808 insertions(+), 6 deletions(-)

commit b3f5a6e2ba29852f1f4a4d9b0f9efcdae1a61af0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 12 18:09:25 2010 +0000

    actor: Do not queue relayouts on actors being destroyed
    
    Simple optimization is simple.

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

commit 0523d6db0815ed55e5e76f5d0cd879e394d9a0f6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 12 18:07:44 2010 +0000

    actor: Add a get_debug_name() private Actor method
    
    For internal usage, writing:
    
      clutter_actor_get_name (actor) != NULL
        ? clutter_actor_get_name (actor)
        : G_OBJECT_TYPE_NAME (actor)
    
    is overly verbose and does two type checks. A simple, internal method
    for getting the same result without type checks would be much more
    appreciated.

 clutter/clutter-actor-private.h |    2 +
 clutter/clutter-actor.c         |   63 ++++++++++++++++++++-------------------
 2 files changed, 34 insertions(+), 31 deletions(-)

commit f3295a3f36cb64e6976f3a1359e08ad680193665
Merge: 9f2c315 63721c5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 15:41:46 2010 +0000

    Merge remote branch 'elliot/cookbook-opacity-values-fix'
    
    * elliot/cookbook-opacity-values-fix:
      cookbook: Fix opacity examples in recipe
      cookbook: Fix incorrect value for opacity

commit 9f2c31547c7a3a36edbd5098eb51ce6c6b9b5ea1
Merge: 5f9df7e 8bdfa4d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 15:37:42 2010 +0000

    Merge remote branch 'elliot/cookbook-animations-looping'
    
    * elliot/cookbook-animations-looping:
      cookbook: Recipe for "looping animations"
      cookbook: Clarify how signals are emitted during looped animation
      cookbook: First draft for looping animations recipe
      cookbook: Recipe skeleton for "looping animations"
      cookbook: Looping animation examples

commit 5f9df7e3a0a2646fe894987443869892de69c200
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 15:36:41 2010 +0000

    Fix compilation warning by using the correct type

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

commit 92e21ae936a2bf796441db629cb1576b2ef8856d
Merge: e800353 f9d2310
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 15 15:26:07 2010 +0000

    Merge remote branch 'elliot/c90-fix'

commit 8bdfa4ddee3aed333796ef76fc650405f3d17689
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Mon Nov 15 11:18:26 2010 +0000

    cookbook: Recipe for "looping animations"
    
    Added a recipe giving examples of how to loop
    animations for each part of the animation API (implicit,
    animator, state).
    
    The discussion covers looping a fixed number of times
    and inverting a single implicit animation to create
    a loop which goes back to its start on each iteration.

 doc/cookbook/animations.xml |  328 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 298 insertions(+), 30 deletions(-)

commit e205bd0fdc42832d97bf022cf63faa6d5302478c
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Thu Nov 11 12:04:20 2010 +0000

    cookbook: Clarify how signals are emitted during looped animation
    
    Added a comment to the example code about how timeline
    emits "completed" during looped animation, while the
    animation itself doesn't.

 .../examples/animations-looping-implicit.c         |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 7eb248b1f0ae05e2eb165a04f37bbf8eadaf77d6
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Thu Nov 11 11:44:28 2010 +0000

    cookbook: First draft for looping animations recipe
    
    Includes video showing the looped animation and
    basic section headings, plus outline of content and notes.

 doc/cookbook/Makefile.am                   |    1 +
 doc/cookbook/animations.xml                |   87 ++++++++++++++++++++++++++--
 doc/cookbook/videos/animations-looping.ogv |  Bin 0 -> 29011 bytes
 3 files changed, 82 insertions(+), 6 deletions(-)

commit 071029e373366b93a9f3b7c3b4ef5b8ec9eaf6a3
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Wed Nov 10 17:43:28 2010 +0000

    cookbook: Recipe skeleton for "looping animations"

 doc/cookbook/animations.xml |   55 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

commit 0d8c730558f2d4b4c04c3daa014cebd76b14c263
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Wed Nov 10 16:11:27 2010 +0000

    cookbook: Looping animation examples
    
    Added code examples for creating a looped animation with
    each of the animation approaches (implicit, ClutterAnimation,
    ClutterState).

 doc/cookbook/examples/Makefile.am                  |    6 ++
 .../examples/animations-looping-animator.c         |   66 +++++++++++++++
 .../examples/animations-looping-implicit.c         |   87 ++++++++++++++++++++
 doc/cookbook/examples/animations-looping-state.c   |   83 +++++++++++++++++++
 4 files changed, 242 insertions(+), 0 deletions(-)

commit e80035331b8adf6eec2549bf16f1027210c4233f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 14 23:06:53 2010 +0000

    Use the right string in the font settings debug blurb

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

commit e6bc65b5c37c38dbf5a82dea724e2f389e2b481e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 14 15:23:36 2010 +0000

    text: Do not segfault with NULL :font-name
    
    Make sure that we have a fall back in place for the default font name
    string, and use g_strcmp0 to protect ourselves from NULL strings.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2417

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

commit 9249bd8411157c7610fd406e88ebc9ed9e089be4
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Nov 12 18:53:51 2010 -0500

    xsettings: don't use the xsettings watch function functionality
    
    The "watch" function functionality in xsettings-client.c is designed
    for setups like GDK where filters are per-window. If we are going
    to pass all events to _clutter_xsettings_client_process_event()
    anyways, we can just pass in NULL for watch.
    
    This avoids a nasty infinite loop where an event would get processed
    triggering removing a filter and adding a new filter, which would
    immediately run and remove a filter and add another and so on
    ad-infinitum.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2415

 clutter/x11/clutter-backend-x11.c |   37 ++++---------------------------------
 1 files changed, 4 insertions(+), 33 deletions(-)

commit f9d2310b724fbd6ff4e3d6b0d1bcdfc1dd8b4b7b
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Fri Nov 12 09:32:04 2010 +0000

    cookbook: Make example code C90 compliant
    
    Modified all cookbook example code to prevent ISO C90 compliance
    warnings occurring during compilation.

 doc/cookbook/examples/animations-moving-animator.c |   11 +++----
 doc/cookbook/examples/animations-moving-implicit.c |    4 ++-
 doc/cookbook/examples/events-buttons-lasso.c       |    6 ++--
 doc/cookbook/examples/events-mouse-scroll.c        |   13 +++++----
 .../examples/events-pointer-motion-scribbler.c     |    4 +-
 .../examples/events-pointer-motion-stacked.c       |    5 ++-
 doc/cookbook/examples/events-pointer-motion.c      |    3 +-
 .../examples/layouts-stacking-diff-sized-actors.c  |    6 +++-
 doc/cookbook/examples/layouts-stacking.c           |   10 +++---
 doc/cookbook/examples/script-signals.c             |   13 +++++---
 doc/cookbook/examples/script-ui.c                  |   11 ++++---
 doc/cookbook/examples/text-shadow.c                |   14 +++++-----
 doc/cookbook/examples/textures-crossfade-cogl.c    |   29 +++++++++++++------
 .../examples/textures-crossfade-slideshow.c        |   29 +++++++++++---------
 doc/cookbook/examples/textures-crossfade.c         |   18 ++++++------
 doc/cookbook/examples/textures-reflection.c        |   14 +++++-----
 16 files changed, 107 insertions(+), 83 deletions(-)

commit 63721c5db1bc1c4a53ee2af536ffbd19b015fdb9
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Fri Nov 12 09:54:12 2010 +0000

    cookbook: Fix opacity examples in recipe
    
    The recipe had examples where opacity was set using
    fractional numbers. Fixed all examples to use
    integers only.

 doc/cookbook/actors.xml |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit f135f2e7d5b7c5304ae4ba91a26f4dc0d5b0c757
Author: Elliot Smith <elliot.smith@intel.com>
Date:   Fri Nov 12 09:49:07 2010 +0000

    cookbook: Fix incorrect value for opacity
    
    Opacity is a guint, so don't use floating point numbers
    to set its value.

 .../examples/events-pointer-motion-stacked.c       |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 03a713e18e842d29a73f9cefb38e689ceefb35ed
Author: Lucas Rocha <lucasr@gnome.org>
Date:   Thu Nov 11 22:23:09 2010 +0000

    click-action: don't use pointer grabs
    
    The same behavior can be achieved by capturing events on stage while
    button is pressed. This fixes a problem when using click and drag
    actions on the same actor as there no grabs involved.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2409

 clutter/clutter-click-action.c |   85 +++++++++++++++++++++++++++++++--------
 1 files changed, 67 insertions(+), 18 deletions(-)

commit dfdd5914142d6c6fd36b52c186d8bfa92c704168
Merge: 47a6cd9 6ed6b2a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 11 17:53:42 2010 +0000

    Merge branch 'wip/static-colors'
    
    * wip/static-colors:
      Move tests to static colors where possible
      color: Add named, global colors

commit 47a6cd95e76ef75a6c117424056c5359c5479283
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 11 14:05:36 2010 +0000

    Add cogl-2.0 reference in the ignore file

 .gitignore |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 1bcf15e1b82a7f2842aa210f73dba5706d404484
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 11 16:24:54 2010 +0000

    cogl-texture: Remove the gl_handle from CoglTextureSliceCallback
    
    There's no longer any need to use the GL handle in the callback for
    _cogl_texture_foreach_sub_texture_in_region because it can now work in
    terms of primitive cogl textures so it has now been removed. This
    would be helpful if we ever want to make the foreach function public
    so that apps could implement their own primitives using sliced
    textures.

 clutter/cogl/cogl/cogl-primitives.c        |    2 --
 clutter/cogl/cogl/cogl-sub-texture.c       |    4 +---
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |    4 ----
 clutter/cogl/cogl/cogl-texture-2d.c        |    2 --
 clutter/cogl/cogl/cogl-texture-3d.c        |    2 --
 clutter/cogl/cogl/cogl-texture-private.h   |    2 --
 clutter/cogl/cogl/cogl-texture-rectangle.c |    2 --
 7 files changed, 1 insertions(+), 17 deletions(-)

commit 49898d43ddc7905a612dad0954d472fb00e8a9c1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 11 16:18:25 2010 +0000

    cogl-pipeline: Use layer overrides as CoglHandles instead of GLuint
    
    Since d5634e37 the sliced texture backend now works in terms of
    CoglTexture2Ds so there's no need to have special casing for
    overriding the texture of a pipeline layer with a GL handle. Instead
    we can just use cogl_pipeline_set_layer_texture with the
    CoglHandle. The special _cogl_pipeline_set_layer_gl_texture_slice
    function has now been removed and parts of the code for comparing
    materials have been simplified.

 clutter/cogl/cogl/cogl-journal-private.h  |    2 +-
 clutter/cogl/cogl/cogl-journal.c          |    2 +-
 clutter/cogl/cogl/cogl-pipeline-opengl.c  |   35 +++-------
 clutter/cogl/cogl/cogl-pipeline-private.h |    7 +--
 clutter/cogl/cogl/cogl-pipeline.c         |  105 +++-------------------------
 clutter/cogl/cogl/cogl-primitives.c       |   15 ++++-
 6 files changed, 38 insertions(+), 128 deletions(-)

commit 1447ceb0deb081c85342fc3e74db3b278833cf76
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 11 15:42:12 2010 +0000

    CoglTexture2DSliced: Pass slice tex to callback in foreach_sub_texture
    
    The cogl_texture_foreach_sub_texture_in_region virtual for the sliced
    texture backend was previously passing the CoglHandle of the sliced
    texture to the callback. Since d5634e37 the slice texture backend now
    works in terms of 2D textures so it's possible to pass the underlying
    slice texture as a handle too. This makes all of the foreach callbacks
    consistent in that they pass a CoglHandle of the primitive texture
    type that matches the GL handle.

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

commit 21c74030119e5f3a6414d3ce161178799af4cdc4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 4 00:43:48 2010 +0000

    docs: Adds an initial cogl-2.0 reference manual
    
    So we can keep track of the experimental progress of Cogl 2.0 features
    this adds a standalone Cogl 2.0 Reference Manual which doesn't cover
    the deprecated 1.x symbols and removes the need for a "Cogl
    experimental API" chapter since those sections now make up the main
    table of contents.

 configure.ac                                      |    2 +
 doc/reference/Makefile.am                         |    2 +-
 doc/reference/cogl-2.0/Makefile.am                |  142 ++++++
 doc/reference/cogl-2.0/blend-strings.xml          |  129 ++++++
 doc/reference/cogl-2.0/cogl-docs.xml.in           |  188 ++++++++
 doc/reference/cogl-2.0/cogl-sections.txt          |  480 +++++++++++++++++++++
 doc/reference/cogl-2.0/cogl_ortho.png             |  Bin 0 -> 12650 bytes
 doc/reference/cogl-2.0/fill-rule-even-odd.png     |  Bin 0 -> 3121 bytes
 doc/reference/cogl-2.0/fill-rule-non-zero.png     |  Bin 0 -> 3143 bytes
 doc/reference/cogl-2.0/quad-indices-order.png     |  Bin 0 -> 2620 bytes
 doc/reference/cogl-2.0/quad-indices-triangles.png |  Bin 0 -> 8018 bytes
 11 files changed, 942 insertions(+), 1 deletions(-)

commit fb9d3a835071f94f06ae54945bd8059f9c34df5c
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 4 00:27:47 2010 +0000

    path 2.0: update path API for experimental 2.0 API
    
    When COGL_ENABLE_EXPERIMENTAL_2_0_API is defined cogl.h will now include
    cogl2-path.h which changes cogl_path_new() so it can directly return a
    CoglPath pointer; it no longer exposes a prototype for
    cogl_{get,set}_path and all the remaining cogl_path_ functions now take
    an explicit path as their first argument.
    
    The idea is that we want to encourage developers to retain path objects
    for as long as possible so they can take advantage of us uploading the
    path geometry to the GPU. Currently although it is possible to start a
    new path and query the current path, it is not convenient.
    
    The other thing is that we want to get Cogl to the point where nothing
    depends on a global, current context variable. This will allow us to one
    day define a sensible threading model if/when that is ever desired.

 clutter/cogl/cogl/Makefile.am                |   15 +-
 clutter/cogl/cogl/cogl-clip-state.c          |    8 +-
 clutter/cogl/cogl/cogl-context.c             |    4 +-
 clutter/cogl/cogl/cogl-context.h             |    2 +-
 clutter/cogl/cogl/cogl-path-private.h        |   14 +-
 clutter/cogl/cogl/cogl-path.c                | 1363 ++----------------------
 clutter/cogl/cogl/cogl-path.h                |    2 +
 clutter/cogl/cogl/cogl.h                     |    6 +
 clutter/cogl/cogl/cogl2-path.c               | 1466 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl2-path.h               |  506 +++++++++
 clutter/cogl/pango/cogl-pango-display-list.c |    7 +-
 tests/interactive/test-cogl-primitives.c     |    1 +
 12 files changed, 2086 insertions(+), 1308 deletions(-)

commit 8efb48ecf4c322bd870f97dc88968b19807c2493
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 4 14:22:24 2010 +0000

    config.h: define COGL_ENABLE_EXPERIMENTAL_2_0_API
    
    By defining COGL_ENABLE_EXPERIMENTAL_2_0_API in config.h we can ensure
    that all internal clutter and cogl code can use the Cogl 2.0 API and by
    not using AM_CPPFLAGS we avoid having other tools such as glib-mkenums
    and the gir-scanner from inadvertently using the define also.

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

commit b993195dc8f6e274a565d357de603bb1c9351596
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 3 20:26:20 2010 +0000

    cogl: Adds COGL_ENABLE_EXPERIMENTAL_2_0_API define
    
    For now this new define is simply an alias for
    COGL_ENABLE_EXPERIMENTAL_API but the intention is that we will also use
    it to start experimenting with changes that need to break the existing
    Cogl API in incompatible ways.

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

commit 6ed6b2a54b5c8f44496399057ad5e58771bfc620
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 17:45:30 2010 +0100

    Move tests to static colors where possible

 tests/interactive/test-actors.c       |   11 ++++++-----
 tests/interactive/test-behave.c       |   18 ++++++------------
 tests/interactive/test-binding-pool.c |    9 +++------
 tests/interactive/test-box-layout.c   |    8 ++++----
 tests/interactive/test-depth.c        |   26 ++++++++++++--------------
 tests/interactive/test-drag.c         |   11 ++++-------
 tests/interactive/test-layout.c       |    4 ----
 tests/interactive/test-multistage.c   |   11 +++--------
 tests/interactive/test-rotate.c       |   13 +++++--------
 tests/interactive/test-stage-sizing.c |   13 ++++---------
 tests/interactive/test-threads.c      |   14 +++++++-------
 11 files changed, 54 insertions(+), 84 deletions(-)

commit 985518c601c1a6e0d108d55fb0465a776ccae584
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 6 10:54:20 2010 +0100

    color: Add named, global colors
    
    Since EGA colors are apparently all the rage in other toolkits, Clutter
    should not be left out. On top of the usual CGA/EGA palette the static
    colors also include the Tango Icon palette, which at least is more
    pleasant to the eye.
    
    Static colors are accessed through an enumeration by using
    clutter_color_get_static(), or using the short-hand pre-processor
    macros.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2066

 clutter/Makefile.am                        |    1 +
 clutter/clutter-color-static.h             |   77 ++++++++++++++++++++
 clutter/clutter-color.c                    |   77 ++++++++++++++++++++
 clutter/clutter-color.h                    |  107 ++++++++++++++++++++++++++++
 clutter/clutter.h                          |    1 +
 doc/reference/clutter/Makefile.am          |    1 +
 doc/reference/clutter/clutter-sections.txt |    2 +
 7 files changed, 266 insertions(+), 0 deletions(-)

commit 6735f80b4b43b4c63dd0e3b982a5032509596a5d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Nov 11 12:03:24 2010 +0000

    build: Sanitize the hack for ACLOCAL_FLAGS
    
    Move the ACLOCAL_FLAGS hack we have to use with jhbuild and autoreconf
    inside the ACLOCAL_AMFLAGS declaration in Makefile.am, and leave
    autogen.sh alone.

 Makefile.am |    5 ++++-
 autogen.sh  |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 6c53c9c84985aa8e83de1cf00e3feb9205e9f779
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 10 16:37:44 2010 +0000

    build: Hack build/autotools into autoreconf
    
    Since we require a version of gettext that might not match the version
    installed we need to hack the order of includes for autoreconf.
    
    This hack should go away, and we should just use the installed copy of
    gettext.

 autogen.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5f30835eae218c8e80153101018c53862c03c353
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 23 17:46:41 2010 +0100

    cogl-shader: Prepend boilerplate for portable shaders
    
    We now prepend a set of defines to any given GLSL shader so that we can
    define builtin uniforms/attributes within the "cogl" namespace that we
    can use to provide compatibility across a range of the earlier versions
    of GLSL.
    
    This updates test-cogl-shader-glsl.c and test-shader.c so they no longer
    needs to special case GLES vs GL when splicing together its shaders as
    well as the blur, colorize and desaturate effects.
    
    To get a feel for the new, portable uniform/attribute names here are the
    defines for OpenGL vertex shaders:
    
     #define cogl_position_in gl_Vertex
     #define cogl_color_in gl_Color
     #define cogl_tex_coord_in  gl_MultiTexCoord0
     #define cogl_tex_coord0_in gl_MultiTexCoord0
     #define cogl_tex_coord1_in gl_MultiTexCoord1
     #define cogl_tex_coord2_in gl_MultiTexCoord2
     #define cogl_tex_coord3_in gl_MultiTexCoord3
     #define cogl_tex_coord4_in gl_MultiTexCoord4
     #define cogl_tex_coord5_in gl_MultiTexCoord5
     #define cogl_tex_coord6_in gl_MultiTexCoord6
     #define cogl_tex_coord7_in gl_MultiTexCoord7
     #define cogl_normal_in gl_Normal
    
     #define cogl_position_out gl_Position
     #define cogl_point_size_out gl_PointSize
     #define cogl_color_out gl_FrontColor
     #define cogl_tex_coord_out gl_TexCoord
    
     #define cogl_modelview_matrix gl_ModelViewMatrix
     #define cogl_modelview_projection_matrix gl_ModelViewProjectionMatrix
     #define cogl_projection_matrix gl_ProjectionMatrix
     #define cogl_texture_matrix gl_TextureMatrix
    
    And for fragment shaders we have:
    
     #define cogl_color_in gl_Color
     #define cogl_tex_coord_in gl_TexCoord
    
     #define cogl_color_out gl_FragColor
     #define cogl_depth_out gl_FragDepth
    
     #define cogl_front_facing gl_FrontFacing

 clutter/clutter-blur-effect.c                      |    7 +-
 clutter/clutter-colorize-effect.c                  |    5 +-
 clutter/clutter-desaturate-effect.c                |    5 +-
 clutter/cogl/cogl/cogl-context.c                   |    2 +-
 clutter/cogl/cogl/cogl-path.c                      |    4 +-
 clutter/cogl/cogl/cogl-pipeline-arbfp.c            |    3 +-
 clutter/cogl/cogl/cogl-pipeline-fixed.c            |    3 +-
 clutter/cogl/cogl/cogl-pipeline-glsl.c             |   44 ++++-
 clutter/cogl/cogl/cogl-pipeline-opengl-private.h   |    3 +-
 clutter/cogl/cogl/cogl-pipeline-opengl.c           |    6 +-
 clutter/cogl/cogl/cogl-pipeline-private.h          |    3 +-
 clutter/cogl/cogl/cogl-shader-boilerplate.h        |  107 ++++++++++
 clutter/cogl/cogl/cogl-shader-private.h            |    5 +
 clutter/cogl/cogl/cogl-shader.c                    |  206 +++++++++++++++-----
 clutter/cogl/cogl/cogl-vertex-attribute.c          |    4 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c             |   86 ++++++++-
 clutter/cogl/cogl/cogl.c                           |   16 ++-
 .../driver/gles/cogl-fixed-fragment-shader.glsl    |   24 ++-
 .../cogl/driver/gles/cogl-fixed-vertex-shader.glsl |   40 ++--
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |   62 +++---
 tests/interactive/test-cogl-shader-glsl.c          |   38 +---
 tests/interactive/test-shader.c                    |   34 +---
 22 files changed, 517 insertions(+), 190 deletions(-)

commit a4b984186ccd81879822ab7fad1af8b545b28e35
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 9 15:56:03 2010 +0000

    tests: test-cogl-shader-arbfp wasn't compiling shader
    
    test-cogl-shader-arbfp was never calling cogl_shader_compile so it was a
    fluke that it used to run before.

 tests/interactive/test-cogl-shader-arbfp.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit fd43786170937ff66eddadf9736124b33684405f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 10 13:59:09 2010 +0000

    build: Honour ACLOCAL_FLAGS with autoreconf

 autogen.sh |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

commit 373140c830859f279c96d2605b6c4187a1fa7541
Author: Tomeu Vizoso <tomeu.vizoso@collabora.co.uk>
Date:   Wed Oct 27 19:02:47 2010 +0200

    Discard the current pick buffer...
    
    if we are asked to pick with a different mode.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2385

 clutter/clutter-main.c          |    8 +++++---
 clutter/clutter-stage-private.h |    8 +++++---
 clutter/clutter-stage.c         |   17 ++++++++++++-----
 tests/conform/test-pick.c       |    9 +++++++++
 4 files changed, 31 insertions(+), 11 deletions(-)

commit b4588b57dff691492d2d9fdd87c293ff95a278aa
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 8 16:15:23 2010 +0000

    reference: Add a Wayland section

 doc/reference/clutter/Makefile.am          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |    6 ++++++
 3 files changed, 8 insertions(+), 0 deletions(-)

commit b783d77e6a730470656a9122755d10b50ac76e23
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 8 16:03:44 2010 +0000

    gtk-doc: Add PathConstraint to the Clutter API reference

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

commit 4909ecc71e1c7ac2b2aab6bb5a7c874f9d5b4697
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 8 16:01:19 2010 +0000

    gtk-doc: Fixes for the API references

 clutter/clutter-cairo-texture.c            |    2 +-
 clutter/clutter-cairo-texture.h            |    2 ++
 clutter/cogl/cogl/cogl-vertex-attribute.h  |    2 +-
 doc/reference/clutter/Makefile.am          |    7 +++++++
 doc/reference/clutter/clutter-sections.txt |    1 +
 5 files changed, 12 insertions(+), 2 deletions(-)

commit 993d3b3fe196903d020f954f2ccce51458b3dd3a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 8 15:52:17 2010 +0000

    timeout-pool: Deprecate the structure too
    
    Don't leave it lying around, since nothing can use it anyway.

 clutter/clutter-timeout-pool.c |    4 +++-
 clutter/clutter-timeout-pool.h |    4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

commit 26a70707ab2286e188d9ccb63084acdd5cbeebc5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 7 21:35:40 2010 +0000

    path-constraint: Add a ::node-reached signal
    
    Emit a signal whenever a node in the path has been reached.

 clutter/clutter-marshal.list             |    1 +
 clutter/clutter-path-constraint.c        |   43 ++++++++++++++++++
 tests/interactive/test-path-constraint.c |   71 +++++++++++++++++++++++++++++-
 3 files changed, 114 insertions(+), 1 deletions(-)

commit ef7f729c6881950623cbbd8b82b68b3a15e26318
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Nov 7 15:27:17 2010 +0000

    build: Re-instate profile builds
    
    The profiling support was broken - probably during the restructuring of
    the build environment, but I'm too lazy to bisect that.
    
    The fix is trivial, and everything works as it should.

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

commit 38912ee4d9d7c74aa78a9dffcfc9e687232d8302
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 6 20:00:39 2010 +0000

    Deprecate ClutterFrameSource
    
    The FrameSource API hasn't been used internally since 1.0; since it's
    not part of the paint clock, it is of limited use.

 clutter/clutter-frame-source.c |   89 ++++++++++++++++++++++++++++++++++
 clutter/clutter-frame-source.h |    4 ++
 clutter/clutter-main.c         |  103 +++------------------------------------
 clutter/clutter-main.h         |    3 +
 clutter/clutter-private.h      |   11 ++++
 5 files changed, 115 insertions(+), 95 deletions(-)

commit 9ac2f5cba567114fd61446b9fa8991a663483fd5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 6 19:59:58 2010 +0000

    Deprecate ClutterTimeoutPool
    
    Timelines have stopped using the pool since 1.0; there is no real reason
    to expose it as part of the active API.

 clutter/clutter-timeout-pool.c |    6 ++++++
 clutter/clutter-timeout-pool.h |    6 ++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit a432d9973dc40658632eeb4060090b7c68aacf50
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Nov 6 18:12:41 2010 +0000

    Remove a compiler warning

 clutter/cogl/cogl/cogl-vertex-attribute.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 6ec9c3247c5267c6c4a93e20d55d16415e4c1c9d
Author: Maxim Ermilov <zaspire@rambler.ru>
Date:   Fri Nov 5 20:20:14 2010 +0300

    CoglContext: correct initialization order
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2401

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

commit ee59c83e176f78fa9ff95eaebbeb66e807b9ac0c
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Tue Nov 2 12:22:55 2010 +0000

    po: Update the Polish translation

 po/pl.po |   46 +++++++++++++---------------------------------
 1 files changed, 13 insertions(+), 33 deletions(-)

commit 57633520d48eca5539381e3507847008470f27ed
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 5 18:33:37 2010 +0000

    Make test-cogl-npot-texture a bit more extensive
    
    The size of the texture used for test-cogl-npot-texture was only using
    1 pixel of waste and the texture was scaled down so it would be quite
    likely that the test would still pass if only the top left slice was
    rendered. It also didn't test using non-default texture
    coordinates. These problems made it fail to pick up bug 2398. The
    texture is now using the maximum amount of waste and rendered in four
    parts at 1:1 scale.

 tests/conform/test-cogl-npot-texture.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

commit cc63c7dd8ffcb5076e072d46b264cd7668e3d48f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 5 14:38:19 2010 +0000

    cogl-texture-2d-sliced: Fix the foreach callback for waste textures
    
    When converting the virtual coordinates of the underlying texture for
    a slice to virtual coordinates for the whole texture it was using the
    size and offset of the intersection as the size of the child
    texture. This would be incorrect if the texture contains waste or the
    texture coordinates are not the default. Instead the sliced foreach
    function now passes the CoglSpan to the callback instead of the
    intersection.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2398

 clutter/cogl/cogl/cogl-texture-2d-sliced.c |   56 +++++++++++++---------------
 1 files changed, 26 insertions(+), 30 deletions(-)

commit 8112bfc49fbdf4aa64ab06e0c2971cd3566ac08c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 5 14:55:46 2010 +0000

    Replace the disable-npots tool with a COGL_DEBUG option
    
    Previously in the tests/tools directory we build a disable-npots
    library which was used as an LD_PRELOAD to trick Cogl in to thinking
    there is no NPOT texture extension. This is a little awkward to use so
    it seems much simpler to just define a COGL_DEBUG option to disable
    npot textures.

 clutter/cogl/cogl/cogl-debug-options.h |    6 ++
 clutter/cogl/cogl/cogl-debug.c         |    3 +-
 clutter/cogl/cogl/cogl-debug.h         |    3 +-
 clutter/cogl/cogl/cogl.c               |    6 ++
 configure.ac                           |    5 -
 tests/Makefile.am                      |    4 +-
 tests/conform/Makefile.am              |    2 +-
 tests/tools/Makefile.am                |   43 ---------
 tests/tools/README                     |    2 -
 tests/tools/disable-npots.c            |  156 --------------------------------
 tests/tools/disable-npots.sh.in        |   15 ---
 11 files changed, 19 insertions(+), 226 deletions(-)

commit 632412c9c8e2d62797c4333259e3c8a645479c61
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Nov 2 12:20:32 2010 +0000

    actor: Check "paint" handlers in _get_paint_volume
    
    Instead of waiting until clutter_actor_paint to check if there are any
    handlers connected to the "paint" signal, we now do the check whenever
    the paint-volume is requested in _actor_get_paint_volume_mutable().
    
    Previously we checked in clutter_actor_paint(), but at that time we may
    already be using a stage clip that could be derived from an invalid
    paint-volume. We used to try and handle that by queuing a follow up,
    unclipped, redraw but anyway there was an additional problem with the
    previous approach because the checking wasn't enough to always catch
    invalid volumes involved in culling (considering that containers may
    derive their volume from children that haven't yet been painted)
    
    By moving the check to _get_paint_volume time not only do we now
    correctly check children in cases where a container derives its volume
    from its children's volumes but we no longer need to queue follow up
    redraws to cover up artefacts.
    
    Since we now never queue follow up redraws, this in turn means we should
    no longer clobber redraws queued with an explicit clip which was
    something affecting gnome-shell since it connects a handler to the paint
    signal of the stage.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2388

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

commit b9dbeac2c3ac8ded52118270914328fd57eeee6e
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Oct 14 16:37:25 2010 +0100

    gitignore: Update the path of generated GLES2 shaders
    
    The generation is not happening in the main Cogl directory, Update the
    .gitignore file accordingly.

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

commit 844b5781283560bb99e827c0cbc1d212f21be628
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 22:07:11 2010 +0000

    matrix-stack: use GArray instead of GSList for stack
    
    In some micro-benchmarks testing journal throughput the list
    manipulation jumps pretty high in the profile. This replaces the GSList
    usage with a GArray instead which is effectively a grow only allocation
    that means we avoid ongoing allocations while manipulating the stack
    mid-scene.

 clutter/cogl/cogl/cogl-matrix-stack.c |   55 ++++++++++----------------------
 1 files changed, 17 insertions(+), 38 deletions(-)

commit a6000533dca20639ec94bd2b0afe8de71382dc65
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 20:33:20 2010 +0000

    pipeline: Avoid costly checking of lighting properties
    
    During _cogl_pipeline_needs_blending_enabled we were always checking the
    current lighting properties (ambient,diffuse,specular,emission) which
    had a notable impact during micro-benchmarks that exercise journal
    throughput of simple colored rectangles. This #if 0's the offending code
    considering that Cogl doesn't actually support lighting currently and
    when it actually does then we will be able to optimize this by avoiding
    the checks when lighting is disabled.

 clutter/cogl/cogl/cogl-pipeline.c |   42 +++++++++++++++++++++---------------
 1 files changed, 24 insertions(+), 18 deletions(-)

commit eaee5dd604e94fd5b63e25be47b6300c12646aa6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 20:27:32 2010 +0000

    cogl: add separate material for blended source_colors
    
    When using cogl_set_source_color4ub there is a notable difference
    between colors that require blending and those that dont. When trying to
    modify the color of pipeline referenced by the journal we don't force a
    flush of the journal unless the color change will also change the
    blending state. By using two separate pipeline objects for handing
    opaque or transparent colors we can avoid ever flushing the journal when
    repeatedly using cogl_set_source_color and jumping between opaque and
    transparent colors.

 clutter/cogl/cogl/cogl-context.c |   13 ++++++++-----
 clutter/cogl/cogl/cogl-context.h |    5 +++--
 clutter/cogl/cogl/cogl.c         |   19 ++++++++++++++-----
 3 files changed, 25 insertions(+), 12 deletions(-)

commit d05ce7cd26253b94fb990b63e46b822febb616ab
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 18:55:48 2010 +0000

    texture_quad_multiple_primitives: rework wrap mode overrides
    
    This reworks _cogl_texture_quad_multiple_primitives so instead of using
    the CoglPipelineWrapModeOverrides mechanism to force the clamp to edge
    repeat mode we now derive an override pipeline using cogl_pipeline_copy
    instead. This avoids a relatively large, unconditional, memset.

 clutter/cogl/cogl/cogl-primitives.c |   84 +++++++++++++++++++++++------------
 1 files changed, 55 insertions(+), 29 deletions(-)

commit 7bbe207b65f1684278470f95681e46d34a56fc18
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 1 18:33:17 2010 +0000

    _multitexture_quad_single_primitive: avoid wrap overrides
    
    This avoids using the wrap mode overrides mechanism to implement
    _cogl_multitexture_quad_single_primitive which requires memsetting a
    fairly large array. This updates it to use cogl_pipeline_foreach_layer()
    and we now derive an override_material to handle changes to the wrap
    modes instead of using the CoglPipelineWrapModeOverrides.

 clutter/cogl/cogl/cogl-primitives.c |  265 ++++++++++++++++++++---------------
 1 files changed, 151 insertions(+), 114 deletions(-)

commit e73b67e59bac1ac9a8b03bd776cf309151d9a1b0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 3 16:02:27 2010 +0000

    cogl-path: Don't bother filling the path if less than 3 nodes
    
    Previously there was a check to avoid filling the path if there are
    zero nodes. However the tesselator also won't generate any triangles
    if there are less than 3 nodes so we might as well bail out in that
    case too. If we don't emit any triangles then we would end up trying
    to create an empty VBO. Although I don't think this should necessarily
    be a problem, this seems to cause Mesa to segfault in version 7.8.1
    when calling glBufferSubData (although not in
    master). test-cogl-primitives tries to fill a path with only two
    points so it's convenient to be able to avoid the crash in this case.

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

commit 25b48585d3cabac8040aa4cccd579a1952a93f6d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 2 17:35:17 2010 +0000

    cogl-journal: Log the clip state in the journal
    
    When adding a new entry to the journal a reference is now taken on the
    current clip stack. Modifying the current clip state no longer causes
    a journal flush. The journal flushing code now has an extra stage to
    compare the clip state of each entry. The comparison can simply be
    done by comparing the pointers. Although different clip states will
    still end up with multiple draw calls this at leasts allows a scene
    comprising of multiple different clips to be upload with one vbo. It
    also lays the groundwork to do certain tricks when drawing clipped
    rectangles such as modifying the geometry instead of setting a clip
    state.

 clutter/cogl/cogl/cogl-clip-state.c      |   24 -------
 clutter/cogl/cogl/cogl-journal-private.h |    2 +
 clutter/cogl/cogl/cogl-journal.c         |  106 +++++++++++++++++++++++-------
 3 files changed, 83 insertions(+), 49 deletions(-)

commit 4d5dc42dadac20da08e99340de9e828a805578ab
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 2 17:34:51 2010 +0000

    cogl-framebuffer: Add a flag to skip flushing the clip state
    
    This adds a flag to avoid flushing the clip state when flushing the
    framebuffer state. This will be used by the journal to manage its own
    clip state flushing.

 clutter/cogl/cogl/cogl-framebuffer-private.h |    3 +++
 clutter/cogl/cogl/cogl-framebuffer.c         |    3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit c5d909d0631dfeea5cd7f6beff900ed21762bf9d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 2 17:15:06 2010 +0000

    cogl: Don't flush the journal when flushing clip state
    
    Flushing the clip state no longer does anything that would cause the
    journal to flush. The clip state is only flushed when flushing the
    framebuffer state and in all cases this ends up flushing the journal
    in one way or another anyway. Avoiding flushing the journal will make
    it easier to log the clip state in the journal.
    
    Previously when trying to set up a rectangle clip that can't be
    scissored or when using a path clip the code would use cogl_rectangle
    as part of the process to fill the stencil buffer. This is now changed
    to use a new internal _cogl_rectangle_immediate function which
    directly uses the vertex array API to draw a triangle strip without
    affecting the journal. This should be just as efficient as the
    previous journalled code because these places would end up flushing
    the journal immediately before and after submitting the single
    rectangle anyway and flushing the journal always creates a new vbo so
    it would effectively do the same thing.
    
    Similarly there is also a new internal _cogl_clear function that does
    not flush the journal.

 clutter/cogl/cogl/Makefile.am               |    2 +
 clutter/cogl/cogl/cogl-clip-stack.c         |   47 +++++++---------
 clutter/cogl/cogl/cogl-clip-state.c         |    5 ++
 clutter/cogl/cogl/cogl-path.c               |   76 +++++++++++++-------------
 clutter/cogl/cogl/cogl-primitives-private.h |   43 +++++++++++++++
 clutter/cogl/cogl/cogl-primitives.c         |   40 ++++++++++++++
 clutter/cogl/cogl/cogl-private.h            |   34 ++++++++++++
 clutter/cogl/cogl/cogl.c                    |   30 +++++++----
 8 files changed, 203 insertions(+), 74 deletions(-)

commit a39b292d90c7511d0e7ab7ff484c9b75edc2880f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 3 15:48:56 2010 +0000

    cogl-path: Use the vertex array API instead of CoglVertexBuffer
    
    The new vertex array is now implemented in terms of the
    CoglVertexBuffer anyway so it should be slightly faster to use a
    vertex array directly.

 clutter/cogl/cogl/cogl-path-private.h |   26 ++++++-----
 clutter/cogl/cogl/cogl-path.c         |   81 +++++++++++++++++++--------------
 2 files changed, 60 insertions(+), 47 deletions(-)

commit 60de7939ee8bf35d5b8b72564dcb342157716cb0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Nov 2 14:28:12 2010 +0000

    cogl: Move the clip stack dirtiness to the context rather than the FB
    
    Previously we tracked whether the clip stack needs flushing as part of
    the CoglClipState which is part of the CoglFramebuffer state. This is
    a bit odd because most of the clipping state (such as the clip planes
    and the scissor) are part of the GL context's state rather than the
    framebuffer. We were marking the clip state on the framebuffer dirty
    every time we change the framebuffer anyway so it seems to make more
    sense to have the dirtiness be part of the global context.
    
    Instead of a just a single boolean to record whether the state needs
    flushing, the CoglContext now holds a reference to the clip stack that
    was flushed. That way we can flush arbitrary stack states and if it
    happens to be the same as the state already flushed then Cogl will do
    nothing. This will be useful if we log the clip stack in the journal
    because then we will need to flush unrelated clip stack states for
    each batch.

 clutter/cogl/cogl/cogl-clip-stack.c  |   44 +++++++++++++++++++++++++++++----
 clutter/cogl/cogl/cogl-clip-stack.h  |    6 +++-
 clutter/cogl/cogl/cogl-clip-state.c  |   40 ++----------------------------
 clutter/cogl/cogl/cogl-clip-state.h  |    6 ----
 clutter/cogl/cogl/cogl-context.c     |    5 ++++
 clutter/cogl/cogl/cogl-context.h     |   22 +++++++++++++++++
 clutter/cogl/cogl/cogl-framebuffer.c |    2 +-
 clutter/cogl/cogl/cogl-path.c        |   10 ++-----
 8 files changed, 76 insertions(+), 59 deletions(-)

commit 57574f399524c2eb46b095aa78b28ea5032a15ad
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 1 19:52:45 2010 +0000

    cogl-clip-stack: Don't allocate a separate struct for CoglClipStack
    
    Instead of having a separate CoglHandle for CoglClipStack the code is
    now expected to directly hold a pointer to the top entry on the
    stack. The empty stack is then the NULL pointer. This saves an
    allocation when we want to copy the stack because we can just take a
    reference on a stack entry. The idea is that this will make it
    possible to store the clip stack in the journal without any extra
    allocations.
    
    The _cogl_get_clip_stack and set functions now take a CoglClipStack
    pointer instead of a handle so it would no longer make sense to make
    them public. However I think the only reason we would have wanted that
    in the first place would be to save the clip state between switching
    FBOs and that is no longer necessary.

 clutter/cogl/cogl/cogl-clip-stack.c |  193 +++++++++++++---------------------
 clutter/cogl/cogl/cogl-clip-stack.h |   38 +++----
 clutter/cogl/cogl/cogl-clip-state.c |   55 ++++-------
 clutter/cogl/cogl/cogl-clip-state.h |   20 ++---
 4 files changed, 116 insertions(+), 190 deletions(-)

commit 314e980a3b40f79f1cb96fa8a8fc53d24eecfa2a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Nov 3 13:34:21 2010 +0000

    cogl: Don't flush the framebuffer state for the internal draw
    
    CoglVertexAttribute has an internal draw function that is used by the
    CoglJournal to avoid the call to cogl_journal_flush which would
    otherwise end up recursively flushing the journal forever. The
    enable_gl_state function called by this was previously also calling
    _cogl_flush_framebuffer_state. However the journal code tries to
    handle this function specially by calling it with a flag to disable
    flushing the modelview matrix. This is useful because the journal
    handles flushing the modelview itself. Without this patch the journal
    state ends up getting flushed twice. This isn't a particularly big
    problem currently because the matrix stack has caching to recognise
    when it would push the same state twice and bails out. However if we
    later want to use the framebuffer flush flags to override a particular
    state of the framebuffer (such as the clip state) then we need to make
    sure the flush isn't called twice.

 clutter/cogl/cogl/cogl-vertex-attribute.c |   29 +++++++++++++++++++----------
 1 files changed, 19 insertions(+), 10 deletions(-)

commit 738a669fc2987474d524e2f0e5d60a3a49832784
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 16:01:23 2010 +0000

    cogl-buffer: Use void* instead of guint8* for map and set_data
    
    Unless the CoglBuffer is being used for texture data then it's
    relatively unlikely that the data will contain an array of bytes. For
    example if it's used as a vertex array then it's more likely to be
    floats or some vertex struct. In that case it's much more convenient
    if set_data and map use void* pointers so that we can avoid a cast.

 clutter/cogl/cogl/cogl-buffer-private.h |    8 ++++----
 clutter/cogl/cogl/cogl-buffer.c         |   12 ++++++------
 clutter/cogl/cogl/cogl-buffer.h         |    4 ++--
 clutter/cogl/cogl/cogl-journal.c        |    2 +-
 clutter/cogl/cogl/cogl-primitive.c      |   16 ++++++++--------
 clutter/cogl/cogl/cogl-primitives.c     |    2 +-
 6 files changed, 22 insertions(+), 22 deletions(-)

commit a53c9dafb5fcd18ecd868c350441759196d614fc
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 17:31:59 2010 +0000

    Add a conformance test for the CoglPrimitive convenience constructors
    
    This adds a simple conformance test which calls all of the convenience
    constructors for CoglPrimitive.

 tests/conform/Makefile.am           |    1 +
 tests/conform/test-cogl-primitive.c |  230 +++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c   |    2 +
 3 files changed, 233 insertions(+), 0 deletions(-)

commit 390bdd2a275f9b3a242fc11725a92cca2c187797
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 17:21:56 2010 +0000

    cogl-primitive: Fix the texture attribute offsets
    
    The offsets for the texture coordinate attributes in the convenience
    constructors were all wrong.

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

commit 17aaaac3362768b1b882c5772b3c6f81afa7ce01
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 16:54:20 2010 +0000

    cogl-primitive: Fix a typo in new_with_attributes_array
    
    A typo in the g_return_val_if_fail was causing it to segfault.

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

commit b6eaab812be51ceeab023b4556f23e3b9e8a9ec5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 16:42:11 2010 +0000

    cogl-primitive: Add the missing cogl_primitive_new_p2 function
    
    There was a struct defined for CoglP2Vertex but there was no
    constructor function to use it.

 clutter/cogl/cogl/cogl-primitive.c |   27 ++++++++++++++++++++++
 clutter/cogl/cogl/cogl-primitive.h |   44 ++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 0 deletions(-)

commit 1935855cdd4476c1f55dcff76706dc56653d33de
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 16:13:01 2010 +0000

    cogl-primitive: Fix the ref-counting for the convenience constuctors
    
    The convenience constructors for the builtin vertex structs were
    creating the primitive and then immediately destroying it and
    returning the pointer. I think the intention was to unref the
    attributes instead. This adds an internal wrapper around the
    new_with_attributes_array constructor which unrefs the attributes
    instead of the primitive. The convenience constructors now use that.

 clutter/cogl/cogl/cogl-primitive.c |   89 ++++++++++++++++++++++--------------
 1 files changed, 55 insertions(+), 34 deletions(-)

commit 3c35b95a84d410fdd9a9912c7c0d76f6ac05b562
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Nov 4 13:23:23 2010 +0000

    primitive: fix prototypes and start adding docs
    
    This fixes the prototypes for the cogl_primitive_new_xyz functions and
    also adds documentation with examples for each one.

 clutter/cogl/cogl/cogl-primitive.h |  329 +++++++++++++++++++++++++++++++++---
 1 files changed, 307 insertions(+), 22 deletions(-)

commit 00397a313c955ba567d003d88dc64fb57d8346fb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 4 14:56:44 2010 +0000

    cogl-gles2-wrapper: Fix a reference to the old name for CoglPipeline
    
    The GLES2 wrapper was referring to COGL_MATERIAL_PROGRAM_TYPE_GLSL but
    this has since been renamed to COGL_PIPELINE_PROGRAM_TYPE_GLSL so the
    GLES2 backend wouldn't compile.

 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5abdbd5f7a2b0c4884dfb8b9415eb7e6f3f15a3b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Oct 29 15:49:25 2010 +0100

    gles2: disable vbos until while we rework backend
    
    The gles2 wrapper functions don't understand about the CoglBuffer API so
    they don't support attributes stored in a CoglVertexArray. Instead of
    teaching the backend about buffers we are going to wait until we have
    overhauled the GLES 2 backend. We are currently making progress
    consolidating the GLES 2 backend with a new GLSL backend for
    CoglMaterial. This will hugely simplify the GLES 2 support and share
    code with the OpenGL backend. In the end it's hoped that this problem
    will simply go away so it doesn't make much sense to solve it with the
    current design.

 clutter/cogl/cogl/driver/gles/cogl-gles.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 8034dc87d43c7e24324bacf42948fe96d1636176
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 27 18:54:57 2010 +0100

    cogl: rename CoglMaterial -> CoglPipeline
    
    This applies an API naming change that's been deliberated over for a
    while now which is to rename CoglMaterial to CoglPipeline.
    
    For now the new pipeline API is marked as experimental and public
    headers continue to talk about materials not pipelines. The CoglMaterial
    API is now maintained in terms of the cogl_pipeline API internally.
    Currently this API is targeting Cogl 2.0 so we will have time to
    integrate it properly with other upcoming Cogl 2.0 work.
    
    The basic reasons for the rename are:
    - That the term "material" implies to many people that they are
      constrained to fragment processing; perhaps as some kind of high-level
      texture abstraction.
        - In Clutter they get exposed by ClutterTexture actors which may be
          re-inforcing this misconception.
    - When comparing how other frameworks use the term material, a material
      sometimes describes a multi-pass fragment processing technique which
      isn't the case in Cogl.
    - In code, "CoglPipeline" will hopefully be a much more self documenting
      summary of what these objects represent; a full GPU pipeline
      configuration including, for example, vertex processing, fragment
      processing and blending.
    - When considering the API documentation story, at some point we need a
      document introducing developers to how the "GPU pipeline" works so it
      should become intuitive that CoglPipeline maps back to that
      description of the GPU pipeline.
    - This is consistent in terminology and concept to OpenGL 4's new
      pipeline object which is a container for program objects.
    
    Note: The cogl-material.[ch] files have been renamed to
    cogl-material-compat.[ch] because otherwise git doesn't seem to treat
    the change as a moving the old cogl-material.c->cogl-pipeline.c and so
    we loose all our git-blame history.

 clutter/cogl/cogl/Makefile.am                      |   24 +-
 clutter/cogl/cogl/cogl-atlas-texture.c             |   14 +-
 clutter/cogl/cogl/cogl-atlas.c                     |    2 +-
 clutter/cogl/cogl/cogl-buffer-private.h            |    2 +-
 clutter/cogl/cogl/cogl-clip-stack.c                |    6 +-
 clutter/cogl/cogl/cogl-context.c                   |   48 +-
 clutter/cogl/cogl/cogl-context.h                   |   28 +-
 clutter/cogl/cogl/cogl-framebuffer.c               |    2 +-
 clutter/cogl/cogl/cogl-journal-private.h           |    8 +-
 clutter/cogl/cogl/cogl-journal.c                   |  128 +-
 clutter/cogl/cogl/cogl-material-arbfp-private.h    |   36 -
 clutter/cogl/cogl/cogl-material-arbfp.c            | 1218 -----
 clutter/cogl/cogl/cogl-material-compat.c           |  495 ++
 clutter/cogl/cogl/cogl-material-compat.h           | 1396 +++++
 clutter/cogl/cogl/cogl-material-fixed-private.h    |   36 -
 clutter/cogl/cogl/cogl-material-fixed.c            |  261 -
 clutter/cogl/cogl/cogl-material-glsl-private.h     |   36 -
 clutter/cogl/cogl/cogl-material-glsl.c             |  452 --
 clutter/cogl/cogl/cogl-material-opengl-private.h   |  155 -
 clutter/cogl/cogl/cogl-material-opengl.c           | 1212 -----
 clutter/cogl/cogl/cogl-material-private.h          |  957 ----
 clutter/cogl/cogl/cogl-material.c                  | 5743 --------------------
 clutter/cogl/cogl/cogl-material.h                  | 1440 -----
 clutter/cogl/cogl/cogl-path.c                      |   42 +-
 clutter/cogl/cogl/cogl-pipeline-arbfp-private.h    |   36 +
 clutter/cogl/cogl/cogl-pipeline-arbfp.c            | 1218 +++++
 clutter/cogl/cogl/cogl-pipeline-fixed-private.h    |   36 +
 clutter/cogl/cogl/cogl-pipeline-fixed.c            |  261 +
 clutter/cogl/cogl/cogl-pipeline-glsl-private.h     |   36 +
 clutter/cogl/cogl/cogl-pipeline-glsl.c             |  452 ++
 clutter/cogl/cogl/cogl-pipeline-opengl-private.h   |  156 +
 clutter/cogl/cogl/cogl-pipeline-opengl.c           | 1212 +++++
 clutter/cogl/cogl/cogl-pipeline-private.h          |  993 ++++
 clutter/cogl/cogl/cogl-pipeline.c                  | 5725 +++++++++++++++++++
 clutter/cogl/cogl/cogl-pipeline.h                  | 1234 +++++
 clutter/cogl/cogl/cogl-primitives.c                |  212 +-
 clutter/cogl/cogl/cogl-texture-2d-private.h        |    2 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |    2 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |    2 +-
 clutter/cogl/cogl/cogl-texture-2d.c                |    2 +-
 clutter/cogl/cogl/cogl-texture-3d-private.h        |    4 +-
 clutter/cogl/cogl/cogl-texture-3d.c                |    4 +-
 clutter/cogl/cogl/cogl-texture-private.h           |    4 +-
 clutter/cogl/cogl/cogl-texture-rectangle-private.h |    2 +-
 clutter/cogl/cogl/cogl-texture-rectangle.c         |    2 +-
 clutter/cogl/cogl/cogl-texture.c                   |   26 +-
 clutter/cogl/cogl/cogl-types.h                     |   52 +-
 clutter/cogl/cogl/cogl-util.c                      |    2 +-
 clutter/cogl/cogl/cogl-vertex-attribute.c          |   76 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c             |   92 +-
 clutter/cogl/cogl/cogl.c                           |   68 +-
 clutter/cogl/cogl/cogl.h                           |    9 +-
 .../cogl/cogl/driver/gl/cogl-texture-driver-gl.c   |    4 +-
 .../cogl/driver/gles/cogl-texture-driver-gles.c    |    4 +-
 clutter/cogl/cogl/winsys/cogl-texture-pixmap-x11.c |    6 +-
 55 files changed, 13713 insertions(+), 11962 deletions(-)

commit 959af183b171f9ee9bdc2ecf6cec3b37e6703a5f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 27 12:43:36 2010 +0100

    pango: Use CoglMaterial type for materials
    
    Instead of using the CoglHandle type for material variables this updates
    the pango code to use CoglMaterial * instead. CoglHandle is the old
    typename which is being phased out of the API.

 clutter/cogl/pango/cogl-pango-display-list.c |    6 +++---
 clutter/cogl/pango/cogl-pango-display-list.h |    4 ++--
 clutter/cogl/pango/cogl-pango-render.c       |    4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 7ee99aaa838e5961c3ce15305679a6ea7a271113
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Oct 27 12:36:24 2010 +0100

    pango: push/pop source instead of trashing users source
    
    The pango-display-list code was calling cogl_set_source in numerous
    places and it didn't appear to be saving the users source to restore
    later. This could result in the user inadvertantly drawing a primitive
    with one of these internally managed materials instead of one that they
    chose. To rectify this the code now uses cogl_{push,pop}_source to save
    and restore the users source.

 clutter/cogl/pango/cogl-pango-display-list.c |   76 +++++++++++++++-----------
 1 files changed, 45 insertions(+), 31 deletions(-)

commit 4e69c730857835d0b2971b3fd6b00e285b82a66a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 18 17:17:22 2010 +0100

    primitives: implements cogl_polygon on vertex_attributes
    
    This updates the implementation of cogl_polygon so it sits on the new
    CoglVertexArray and CoglVertexAttribute apis. This lets us minimize the
    number of different drawing paths we have to maintain in Cogl.
    
    Since the sliced texture support for cogl_polygon has been broken for a
    long time now and no one has complained this patch also greatly
    simplifies the code by not doing any special material validation so
    cogl_polygon will be restricted in the same way as
    cogl_draw_vertex_attributes. (i.e. sliced textures not supported).

 clutter/cogl/cogl/cogl-context.c    |    5 +
 clutter/cogl/cogl/cogl-context.h    |    3 +-
 clutter/cogl/cogl/cogl-primitives.c |  579 ++++++++++-------------------------
 3 files changed, 167 insertions(+), 420 deletions(-)

commit f9d9b1b1578e05a51bbf087aa2626e11d8e2c185
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 19:22:57 2010 +0100

    journal: port to the vertex_attributes API
    
    Instead of using raw OpenGL in the journal we now use the vertex
    attributes API instead. This is part of an ongoing effort to reduce the
    number of drawing paths we maintain in Cogl.

 clutter/cogl/cogl/cogl-context.c |    4 +
 clutter/cogl/cogl/cogl-context.h |    1 +
 clutter/cogl/cogl/cogl-journal.c |  262 ++++++++++++++++++++------------------
 3 files changed, 145 insertions(+), 122 deletions(-)

commit f82b32cb3b93001705a2581ff59293e1074de4bb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 18:56:57 2010 +0100

    vertex-buffer: use cogl_get_rectangle_indices
    
    The functionality of cogl_vertex_buffer_indices_get_for_quads is now
    provided by cogl_get_rectangle_indices so this reworks the former to now
    work in terms of the latter so we don't have duplicated logic.

 clutter/cogl/cogl/cogl-context.c       |    9 ---
 clutter/cogl/cogl/cogl-context.h       |    6 --
 clutter/cogl/cogl/cogl-vertex-buffer.c |  101 +++++++++++--------------------
 3 files changed, 36 insertions(+), 80 deletions(-)

commit 670ea32dbdffea57008b5f5e315a879353cecdee
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:55:23 2010 +0100

    vertex-buffer: port to CoglVertexAttributes + CoglPrimitive
    
    As part of an ongoing effort to reduce the number of draw paths we have
    in Cogl this re-works CoglVertexBuffer to use the CoglVertexAttribute
    and CoglPrimitive APIs instead of using raw GL.

 clutter/cogl/cogl/cogl-vertex-buffer-private.h |   42 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c         | 1140 ++++++++----------------
 2 files changed, 371 insertions(+), 811 deletions(-)

commit 69b1f756d14237c60073f77ee048975a159148cb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 18:57:33 2010 +0100

    primitive: adds immutable ref/unref mechanism
    
    This adds a way to mark that a primitive is in use so that modifications
    will generate a warning. The plan is to use this mechanism when batching
    primitives in the journal to warn users that mid-scene modifications of
    primitives is not allowed.

 clutter/cogl/cogl/cogl-primitive-private.h |    8 +++
 clutter/cogl/cogl/cogl-primitive.c         |   77 ++++++++++++++++++++++++++++
 2 files changed, 85 insertions(+), 0 deletions(-)

commit 2d58d3f1b6b728e3cca6e1bbeabd19fc03de05df
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 15:48:31 2010 +0100

    primitive: Adds convenience constructors
    
    This adds convenience primitive constructors named like:
      cogl_primitive_new_p3 or
      cogl_primitive_new_p3c4 or
      cogl_primitive_new_p3t2c4
    where the letters correspond to the interleved vertex attributes layouts
    such as CoglP3Vertex which is a struct with 3 float x,y,z members for
    the [p]osition, or CoglP3T2C4Vertex which is a struct with 3 float x,y,z
    members for the [p]osition, 2 float s,t members for the [t]exture
    coordinates and 4 unsigned byte r,g,b,a members for the [c]olor.
    
    The hope is that people will find these convenient enough to replace
    cogl_polygon.

 clutter/cogl/cogl/cogl-primitive.c |  246 ++++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-primitive.h |   66 ++++++++---
 2 files changed, 296 insertions(+), 16 deletions(-)

commit 0cd077dc7efc5ed3cb982ffa6c7f4f5276867338
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:54:07 2010 +0100

    cogl: Adds experimental CoglPrimitive API
    
    A CoglPrimitive is a retainable object for drawing a single primitive,
    such as a triangle strip, fan or list.
    
    CoglPrimitives build on CoglVertexAttributes and CoglIndices which
    themselves build on CoglVertexArrays and CoglIndexArrays respectively.
    
    A CoglPrimitive encapsulates enough information such that it can be
    retained in a queue (e.g. the Cogl Journal, or renderlists in the
    future) and drawn at some later time.

 clutter/cogl/cogl/Makefile.am              |    3 +
 clutter/cogl/cogl/cogl-primitive-private.h |   46 ++++
 clutter/cogl/cogl/cogl-primitive.c         |  223 ++++++++++++++++++++
 clutter/cogl/cogl/cogl-primitive.h         |  311 ++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl.h                   |    1 +
 5 files changed, 584 insertions(+), 0 deletions(-)

commit dd63078bd3e4fae8fced0a2c8801bee145f9c24b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:53:10 2010 +0100

    cogl: Adds experimental CoglVertexAttribute API
    
    A CoglVertexAttribute defines a single attribute contained in a
    CoglVertexArray. I.e. a CoglVertexArray is simply a buffer of N bytes
    intended for containing a collection of attributes (position, color,
    normals etc) and a CoglVertexAttribute defines one such attribute by
    specifying its start offset in the array, its type, the number of
    components and the stride etc.

 clutter/cogl/cogl/Makefile.am                     |    3 +
 clutter/cogl/cogl/cogl-vertex-attribute-private.h |   80 ++
 clutter/cogl/cogl/cogl-vertex-attribute.c         |  882 +++++++++++++++++++++
 clutter/cogl/cogl/cogl-vertex-attribute.h         |  205 +++++
 clutter/cogl/cogl/cogl.h                          |    1 +
 5 files changed, 1171 insertions(+), 0 deletions(-)

commit 3d14fbc30881e7068c6724aef4ec3efbb4467186
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:48:58 2010 +0100

    cogl: Adds experimental CoglIndices API
    
    CoglIndices define a range of indices inside a CoglIndexArray. I.e. a
    CoglIndexArray is simply a buffer of N bytes and you can then
    instantiate multiple CoglIndices collections that define a sub-region of
    a CoglIndexArray by specifying a start offset and an index data type.

 clutter/cogl/cogl/Makefile.am            |    3 +
 clutter/cogl/cogl/cogl-context.c         |   18 ++
 clutter/cogl/cogl/cogl-context.h         |   10 ++
 clutter/cogl/cogl/cogl-indices-private.h |   57 +++++++
 clutter/cogl/cogl/cogl-indices.c         |  253 ++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-indices.h         |   74 +++++++++
 clutter/cogl/cogl/cogl.h                 |    1 +
 7 files changed, 416 insertions(+), 0 deletions(-)

commit 8ca80e47c40422b69d1e7b70850c7033ec71b1b8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:34:27 2010 +0100

    cogl: Adds experimental CoglVertexArray type
    
    This adds a new CoglVertexArray object which is a subclass of CoglBuffer
    used to hold vertex attributes. A later commit will add a
    CoglVertexAttribute API which will be used to describe the attributes
    inside a CoglVertexArray.

 clutter/cogl/cogl/Makefile.am                 |    3 +
 clutter/cogl/cogl/cogl-vertex-array-private.h |   39 +++++++++++++
 clutter/cogl/cogl/cogl-vertex-array.c         |   70 ++++++++++++++++++++++
 clutter/cogl/cogl/cogl-vertex-array.h         |   77 +++++++++++++++++++++++++
 clutter/cogl/cogl/cogl.h                      |    1 +
 5 files changed, 190 insertions(+), 0 deletions(-)

commit 3aba41e20209d597c6fc49a6163b86eb71a2ff3a
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:36:22 2010 +0100

    cogl: Adds experimental CoglIndexArray type
    
    A CoglIndexArray is a subclass of CoglBuffer and will be used to hold
    vertex indices. A later commit will add a CoglIndices API which will
    allow describing a range of indices inside a CoglIndexArray.

 clutter/cogl/cogl/Makefile.am                |    3 +
 clutter/cogl/cogl/cogl-index-array-private.h |   39 ++++++++
 clutter/cogl/cogl/cogl-index-array.c         |  131 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-index-array.h         |   79 ++++++++++++++++
 clutter/cogl/cogl/cogl.h                     |    1 +
 5 files changed, 253 insertions(+), 0 deletions(-)

commit eac167df1c6ce300d915249e696cc0dc2d6a8819
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 19:08:51 2010 +0100

    buffer: adds immutable ref/unref mechanism
    
    This adds an internal mechanism to mark that a buffer is in-use so that
    a warning can be generated if the user attempts to modify the buffer.
    
    The plans is for the journal to use this mechanism so that we can warn
    users about mid-scene modifications of buffers.

 clutter/cogl/cogl/cogl-buffer-private.h |    8 ++++++
 clutter/cogl/cogl/cogl-buffer.c         |   42 +++++++++++++++++++++++++++++-
 2 files changed, 48 insertions(+), 2 deletions(-)

commit efa11f8a8fd0400b3f6003d9f48292b0629d3698
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 13:14:17 2010 +0100

    buffer: make _bind() return base pointer
    
    We now make _cogl_buffer_bind return a base pointer for the bound buffer
    which can be used with OpenGL. The pointer will be NULL for GPU based
    buffers or may point to an malloc'd buffer. Since OpenGL expects an
    offset instead of a pointer when dealing with buffer objects this means
    we can handle fallback malloc buffers and GPU buffers in a consistent
    way.

 clutter/cogl/cogl/cogl-bitmap.c         |   28 ++++++++--------------------
 clutter/cogl/cogl/cogl-buffer-private.h |    2 +-
 clutter/cogl/cogl/cogl-buffer.c         |   17 ++++++++++-------
 3 files changed, 19 insertions(+), 28 deletions(-)

commit 35ddc5407efe0e2877d64e75a5d2e252f9aee8b9
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 19:02:04 2010 +0100

    material: Bail out faster if re-flushing unchanged material
    
    This allows _cogl_material_flush_gl_state to bail out faster if
    repeatedly asked to flush the same material and we can see the material
    hasn't changed.
    
    Since we can rely on the material age incrementing when any material
    property changes or any associated layer property changes then we can
    track the age of the material after flushing so it can be compared with
    the age of the material if it is subsequently re-flushed. If the age is
    the same we only have to re-assert the texture object state.

 clutter/cogl/cogl/cogl-context.h         |    1 +
 clutter/cogl/cogl/cogl-material-opengl.c |   16 ++++++++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

commit bbf27e6b285afca1261eaa448096667415d81219
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 17:43:16 2010 +0100

    material-node: track if node owns reference on parent
    
    MaterialNodes are used for the sparse graph of material state and layer
    state. In the case of materials there is the idea of weak materials that
    don't take a reference on their parent and in that case we need to be
    careful not to unref our parent during
    _cogl_material_node_unparent_real. This adds a has_parent_reference
    member to the CoglMaterialNode struct so we now know when to skip the
    unref.

 clutter/cogl/cogl/cogl-material-private.h |    4 ++++
 clutter/cogl/cogl/cogl-material.c         |    4 +++-
 2 files changed, 7 insertions(+), 1 deletions(-)

commit e5202d6a0da1d94f65ddbe381766d775e1047e26
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 17:38:58 2010 +0100

    cogl-object: correctly free user_data_array in _unref
    
    If there is private data associated with a CoglObject then there may be
    a user_data_array that needs to be freed. The code was mistakenly
    freeing the array inside the loop that was actually iterating over the
    user data array notifying the objects destruction instead of waiting
    until all the data entries had been destroyed.

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

commit 0b4b1ca1caad41785dadc7d2bd71af6c7b644ada
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat Oct 30 18:11:03 2010 -0400

    Don't leave stale invalidated queued redraws around
    
    Once an actor had _clutter_stage_queue_redraw_entry_invalidate()
    called on it once, then priv->queue_redraw_entry would point to
    an entry with entry->actor NULL. _clutter_stage_queue_actor_redraw()
    doesn't handle this case and no further redraws would be queued.
    
    To fix this, NULL out priv->queue_redraw_entry() and then make sure
    we free the invalidated entry in
    _clutter_stage_maybe_finish_queue_redraws() just as we do for
    still valid entries.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2389

 clutter/clutter-actor.c |    5 ++++-
 clutter/clutter-stage.c |   12 +++++++-----
 2 files changed, 11 insertions(+), 6 deletions(-)

commit 02a3670e880333536f0fb53b1044317a9f46ee15
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 1 15:21:04 2010 +0000

    win32: Fix a couple of build warnings
    
    * clutter-backend-win32 had an unused variable
    
    * clutter-event-win32 was using the abs function without including
      stdlib.h

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

commit f13f545aa9824ed53ea5a78878c7f96d40239e48
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 1 15:13:12 2010 +0000

    clutter-backend-win32: Use g_object_unref on the stage manager
    
    Previously when trying to destroy all of the stages in the backend
    dispose function it would poke directly in the ClutterStageManager
    struct to get the list. In 8613013ab08 the defintion of
    ClutterStageManager moved to a different header which isn't included
    by the Win32 backend so it wouldn't compile. In that commit the X11
    backend was changed to unref the stage manager instead of poking in
    the internals so we should do the same for the win32 backend.

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

commit 907490d795f4438e631679fce47cae7fc08830d6
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Oct 31 18:34:23 2010 +0000

    clone: Remove checks in set_source_internal()
    
    One of the ideas behind _internal() functions is to be able to have a
    version of the original one without checks (among other things). As
    these functions are either static or private to the library, we control
    the arguments given to it, and thus no need for checking them again
    here.

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

commit a318fe5ca50feca359abc15238c4ed0da3b41397
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Oct 31 16:49:40 2010 +0000

    texture: Warn when the file loaded from a ClutterScript can't be found
    
    Telling the user about files not found when loading a ClutterScript with
    ClutterTextures in it is very useful and can save a few minutes (or
    hours) of frustation because it "does not work".

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

commit 2ee0e40848a1c70c5b9891dea60d0f25d08e2a47
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Oct 15 18:00:29 2010 +0100

    Merge cogl-program-{gl,gles}.c into one cogl-program.c
    
    This merges the two implementations of CoglProgram for the GLES2 and
    GL backends into one. The implementation is more like the GLES2
    version which would track the uniform values and delay sending them to
    GL. CoglProgram is now effectively just a GList of CoglShaders along
    with an array of stored uniform values. CoglProgram never actually
    creates a GL program, instead this is left up to the GLSL material
    backend. This is necessary on GLES2 where we may need to relink the
    user's program with different generated shaders depending on the other
    emulated fixed function state. It will also be necessary in the future
    GLSL backends for regular OpenGL. The GLSL and ARBfp material backends
    are now the ones that create and link the GL program from the list of
    shaders. The linked program is attached to the private material state
    so that it can be reused if the CoglProgram is used again with the
    same material. This does mean the program will get relinked if the
    shader is used with multiple materials. This will be particularly bad
    if the legacy cogl_program_use function is used because that
    effectively always makes one-shot materials. This problem will
    hopefully be alleviated if we make a hash table with a cache of
    generated programs. The cogl program would then need to become part of
    the hash lookup.
    
    Each CoglProgram now has an age counter which is incremented every
    time a shader is added. This is used by the material backends to
    detect when we need to create a new GL program for the user program.
    
    The internal _cogl_use_program function now takes a GL program handle
    rather than a CoglProgram. It no longer needs any special differences
    for GLES2. The GLES2 wrapper function now also uses this function to
    bind its generated shaders.
    
    The ARBfp shaders no longer store a copy of the program source but
    instead just directly create a program object when cogl_shader_source
    is called. This avoids having to reupload the source if the same
    shader is used in multiple materials.
    
    There are currently a few gross hacks to get the GLES2 backend to work
    with this. The problem is that the GLSL material backend is now
    generating a complete GL program but the GLES2 wrapper still needs to
    add its fixed function emulation shaders if the program doesn't
    provide either a vertex or fragment shader. There is a new function in
    the GLES2 wrapper called _cogl_gles2_use_program which replaces the
    previous cogl_program_use implementation. It extracts the GL shaders
    from the GL program object and creates a new GL program containing all
    of the shaders plus its fixed function emulation. This new program is
    returned to the GLSL material backend so that it can still flush the
    custom uniforms using it. The user_program is attached to the GLES2
    settings struct as before but its stored using a GL program handle
    rather than a CoglProgram pointer. This hack will go away once the
    GLSL material backend replaces the GLES2 wrapper by generating the
    code itself.
    
    Under Mesa this currently generates some GL errors when glClear is
    called in test-cogl-shader-glsl. I think this is due to a bug in Mesa
    however. When the user program on the material is changed the GLSL
    backend gets notified and deletes the GL program that it linked from
    the user shaders. The program will still be bound in GL
    however. Leaving a deleted shader bound exposes a bug in Mesa's
    glClear implementation. More details are here:
    
    https://bugs.freedesktop.org/show_bug.cgi?id=31194

 clutter/cogl/cogl/Makefile.am                      |    6 +-
 clutter/cogl/cogl/cogl-internal.h                  |    4 +-
 clutter/cogl/cogl/cogl-material-arbfp.c            |   36 +-
 clutter/cogl/cogl/cogl-material-fixed.c            |   17 +-
 clutter/cogl/cogl/cogl-material-glsl.c             |  355 ++++++++++-
 clutter/cogl/cogl/cogl-material-opengl.c           |  158 ++---
 clutter/cogl/cogl/cogl-material-private.h          |    2 +-
 clutter/cogl/cogl/cogl-program-private.h           |   78 +++
 clutter/cogl/cogl/cogl-program.c                   |  683 ++++++++++++++++++++
 clutter/cogl/cogl/cogl-shader-private.h            |    1 -
 clutter/cogl/cogl/cogl-shader.c                    |   56 ++-
 .../cogl/driver/gl/cogl-feature-functions-gl.h     |   11 +
 clutter/cogl/cogl/driver/gl/cogl-program-gl.c      |  488 --------------
 clutter/cogl/cogl/driver/gl/cogl-program-gl.h      |   46 --
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |  194 ++----
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h |    9 +-
 clutter/cogl/cogl/driver/gles/cogl-program-gles.c  |  437 -------------
 clutter/cogl/cogl/driver/gles/cogl-program-gles.h  |   52 --
 18 files changed, 1308 insertions(+), 1325 deletions(-)

commit 65d7a113eeb0de08ccb402fe4ade14fe82fcaff1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Oct 27 15:07:03 2010 +0100

    cogl: Use separate materials for set_source_color and texture
    
    Previously cogl_set_source_color and cogl_set_source_texture modified
    a single global material. If an application then mixes using
    cogl_set_source_color and texture then the material will constantly
    need a new ARBfp program because the numbers of layers alternates
    between 0 and 1. This patch just adds a second global material that is
    only used for cogl_set_source_texture. I think it would still end up
    flushing the journal if cogl_set_source_texture is used with multiple
    different textures but at least it should avoid a recompile unless the
    texture target also changes. It might be nice to somehow attach a
    material to the CoglTexture for use with cogl_set_source_texture but
    it would be difficult to implement this without creating a circular
    reference.

 clutter/cogl/cogl/cogl-context.c |    3 +++
 clutter/cogl/cogl/cogl-context.h |    3 ++-
 clutter/cogl/cogl/cogl.c         |   11 ++---------
 3 files changed, 7 insertions(+), 10 deletions(-)

commit 89cedc78009cee86ffe025cd7c2343d69b199928
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:53:44 2010 +0100

    Move IndicesType and VerticesMode typedefs to cogl-types.h
    
    This moves the CoglIndicesType and CoglVerticesMode typedefs from
    cogl-vertex-buffer.h to cogl-types.h so they can be shared with the
    anticipated cogl vertex attribute API.

 clutter/cogl/cogl/cogl-types.h         |   48 ++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-vertex-buffer.h |   47 -------------------------------
 2 files changed, 48 insertions(+), 47 deletions(-)

commit e3bf83eab527d1dfbd697da1cc13dda2bb8b7d30
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 16:05:00 2010 +0100

    buffer: BufferBindTarget + BufferUsageHint enum renaming
    
    This renames the BufferBindTarget + BufferUsageHint enums to match the
    anticipated new APIs for "index arrays" and "vertex arrays" as opposed
    to using the terms "vertices" or "indices".

 clutter/cogl/cogl/cogl-buffer-private.h |    5 +++--
 clutter/cogl/cogl/cogl-buffer.c         |    2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

commit 9efe7ca5bc66d2889c45ac998115d3df04bfebb4
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 18 18:50:02 2010 +0100

    buffer: warn if (offset + size) > buffer->size
    
    previously we would silently bail out if the given offset + data size
    would overflow the buffer size. Now we use g_return_val_if_fail so we
    get a warning if we hit this case.

 clutter/cogl/cogl/cogl-buffer.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

commit b2963b4eef2aba6b3b62983b1b23ff7abfa221e1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 13:25:05 2010 +0100

    pixel-array: Remove some benign variables
    
    There were some completely unused static global variables declared in
    cogl-pixel-array.c which this patch removes.

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

commit 902c18ad874694b2f3f5fffa67d8f5aa576d79a2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 13:23:44 2010 +0100

    pixel-array: Remove flags member and flag macros
    
    There are no flags associated with pixel-arrays so we don't need the
    flags member or flag macros.

 clutter/cogl/cogl/cogl-pixel-array-private.h |   18 ------------------
 clutter/cogl/cogl/cogl-pixel-array.c         |    2 --
 2 files changed, 0 insertions(+), 20 deletions(-)

commit 1c8b355bbb6f1aa466a8ca0b2a4732135413661b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 26 16:06:46 2010 +0100

    buffer: Add a store_created bit field member
    
    This adds a store_created bit field to CoglBuffer so we know if the
    underlying buffer has been allocated yet. Previously the code was trying
    to do something really wrong by accidentally using the
    COGL_PIXEL_ARRAY_FLAG_IS_SET macro (note "PIXEL_ARRAY") and what is more
    odd was the declaration of a CoglPixelArray *pixel_array in
    cogl-buffer.c which the buffer was being cast too before calling using
    the macro. Probably this was the fall-out of some previous code
    re-factoring.

 clutter/cogl/cogl/cogl-buffer-private.h |    2 ++
 clutter/cogl/cogl/cogl-buffer.c         |   25 +++++++++++--------------
 2 files changed, 13 insertions(+), 14 deletions(-)

commit d5188c26b6dc928639d0779ba4910ad5f4fa7fcc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 11:46:29 2010 +0100

    buffer: remove flag macros
    
    All the macros get used for are to |= (a new flag bit), &= ~(a flag bit)
    or use the & operator to test if a flag bit is set. I haven't found the
    code more readable with these macros, but several times now I've felt
    the need to double check if these macros do anything else behind the
    hood or I've forgotten what flags are available so I've had to go to the
    macro definition to see what the full enum names are for the flags (the
    macros use symbol concatenation) so I can search for the definition of
    all the flags. It turns out they are defined next to the macro so you
    don't have to search far, but without the macro that wouldn't have been
    necessary.
    
    The more common use of the _IS_SET macro is actually more concise
    expanded and imho since it doesn't hide anything in a separate header
    file the code is more readable without the macro.

 clutter/cogl/cogl/cogl-bitmap.c         |    4 ++--
 clutter/cogl/cogl/cogl-buffer-private.h |    9 ---------
 clutter/cogl/cogl/cogl-buffer.c         |   20 ++++++++++----------
 3 files changed, 12 insertions(+), 21 deletions(-)

commit bc3a26d03552273ddb61004364a6897057415732
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 12 12:35:47 2010 +0100

    material: Adds _cogl_material_get_layer_texture
    
    This is a counter part for _cogl_material_layer_get_texture which takes
    a layer index instead of a direct CoglMaterialLayer pointer. The aim is
    to phase out code that directly iterates the internal layer pointers of
    a material since the layer pointers can change if any property of any
    layer is changed making direct layer pointers very fragile.

 clutter/cogl/cogl/cogl-material-private.h |    4 ++++
 clutter/cogl/cogl/cogl-material.c         |    9 +++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

commit 0288ba39110b46a51be7d1efc2de0a5a64e0d1e0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 18 19:00:50 2010 +0100

    material: add internal layer filter getters
    
    This adds internal _cogl_material_get_layer_filters and
    _cogl_material_get_layer_{min,mag}_filter functions which can be used to
    query the filters associated with a layer using a layer_index, as
    opposed to a layer pointer. Accessing layer pointers is considered
    deprecated so we need to provide layer_index based replacements.

 clutter/cogl/cogl/cogl-material-private.h |   14 +++++++++
 clutter/cogl/cogl/cogl-material.c         |   45 +++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 0 deletions(-)

commit 6fd26630bae6a30f97e523f4c2e6f21889111930
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Aug 1 23:05:28 2010 +0100

    material: Adds missing get_layer_wrap_mode_xyz prototypes
    
    This adds missing getter function prototypes for
    cogl_material_get_layer_wrap_mode_{s,t,p}

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

commit 32ae904d81684c1affd919fd1ccb024d18636bc8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Sun Aug 1 16:07:38 2010 +0100

    vertex-buffer: remove the unstrided CBO type
    
    When we come to submitting the users given attributes we sort them into
    different types of buffers. Previously we had three types; strided,
    unstrided and multi-pack. Really though unstrided was just a limited
    form of multi-pack buffer and didn't imply any hind of special
    optimization so this patch consolidates some code by reducing to just
    two types; strided and multi-pack.

 clutter/cogl/cogl/cogl-vertex-buffer-private.h |    5 +--
 clutter/cogl/cogl/cogl-vertex-buffer.c         |   33 ++++-------------------
 2 files changed, 8 insertions(+), 30 deletions(-)

commit 94e06197856c9959580c837985eb114150d402a3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jul 28 13:59:34 2010 +0100

    material: Adds _cogl_material_pre_paint_for_layer
    
    This is a counter part for _cogl_material_layer_pre_paint which takes a
    layer index instead of a direct CoglMaterialLayer pointer. The aim is to
    phase out code that directly iterates the internal layer pointers of a
    material since the layer pointers can change if any property of any
    layer is changed making direct layer pointers very fragile.

 clutter/cogl/cogl/cogl-material-private.h |    9 +++++++++
 clutter/cogl/cogl/cogl-material.c         |    8 ++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)

commit 701a69366142f5c2389110daa0426abdb8691f6d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Oct 25 13:25:21 2010 +0100

    cogl: Adds {push,pop,get}_source functions
    
    This exposes the idea of a stack of source materials instead of just
    having a single current material. This allows the writing of orthogonal
    code that can change the current source material and restore it to its
    previous state. It also allows the implementation of new composite
    primitives that may want to validate the current source material and
    possibly make override changes in a derived material.

 clutter/cogl/cogl/cogl-clip-stack.c       |    7 +--
 clutter/cogl/cogl/cogl-context.c          |    6 +-
 clutter/cogl/cogl/cogl-context.h          |    2 +-
 clutter/cogl/cogl/cogl-material-private.h |    3 +
 clutter/cogl/cogl/cogl-path.c             |   41 +++++------
 clutter/cogl/cogl/cogl-primitives.c       |   99 ++++++++++++--------------
 clutter/cogl/cogl/cogl-texture.c          |    7 +--
 clutter/cogl/cogl/cogl-vertex-buffer.c    |   38 ++++++----
 clutter/cogl/cogl/cogl.c                  |  109 ++++++++++++++++++++++++++---
 clutter/cogl/cogl/cogl.h                  |   58 +++++++++++++--
 doc/reference/cogl/cogl-sections.txt      |    3 +
 11 files changed, 252 insertions(+), 121 deletions(-)

commit bf6c635e9dfa28470fa31b6459c6636afe70c95e
Merge: b16ff03 cf46c81
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 23:44:53 2010 +0100

    Merge branch 'private-cleanup'
    
    * private-cleanup:
      Add copyright notices
      Clean up clutter-private.h/6
      Clean up clutter-private.h/5
      Clean up clutter-private.h/4
      Clean up clutter-private.h/3
      Clean up clutter-private.h/2
      Clean up clutter-private.h/1

commit b16ff0359ac53bfd6650256c874677e44b93a746
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 17:44:27 2010 +0100

    Post-release version bump to 1.5.5

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

commit cba230400a4d92f6c97f029326d68fa5798b1214
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 17:30:52 2010 +0100

    Release Clutter 1.5.4

 configure.ac       |    2 +-
 po/clutter-1.0.pot |  792 ++++++++++++++++++++++++------------------------
 po/de.po           |  822 +++++++++++++++++++++++++------------------------
 po/fr.po           |  860 ++++++++++++++++++++++++++--------------------------
 po/id.po           |  799 ++++++++++++++++++++++++------------------------
 po/it.po           |  790 ++++++++++++++++++++++++------------------------
 po/pl.po           |  812 +++++++++++++++++++++++++------------------------
 po/zh_CN.po        |  800 ++++++++++++++++++++++++------------------------
 8 files changed, 2867 insertions(+), 2810 deletions(-)

commit cb7d2943eafd65a2526f7da0f9e5d8bf1a176f32
Author: Chris Lord <chris@linux.intel.com>
Date:   Fri Oct 22 17:41:06 2010 +0100

    state: Correct the documentation
    
    Correct the argument order and replace all occurrences of
    clutter_state_change() with the appropriate clutter_state_set_state() or
    clutter_state_warp_to_state().

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

commit bfc1583d76548f9882a4d77df39d32733883814d
Author: Chris Lord <chris@linux.intel.com>
Date:   Fri Oct 22 16:32:05 2010 +0100

    state: Fix warping to the current state during transitions
    
    If you warp to a state, it should be immediately set. Check if the
    animation is in progress when warping to a state and don't short-circuit
    in the already-set check if we're not animating.

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

commit 35c35de55c27ff212d819e202b6081859510ee3d
Author: Chris Lord <chris@linux.intel.com>
Date:   Fri Oct 22 16:13:16 2010 +0100

    state: Handle setting keys for the current target state
    
    Add special behaviour when you set the key of the current target state:
    - If the state is transitioning, add/modify the interval so that the new
      key transitions from the current time (taking into account pre-delay) to
      its target final property
    - If the state is set but has already finished animating/was warped to,
      set the property immediately

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

commit 73dcbedc8067fac25e43d833036f8c76f7c01282
Author: Chris Lord <chris@linux.intel.com>
Date:   Fri Oct 22 15:24:49 2010 +0100

    state: Fix crasher when removing the last key of a transitioning state
    
    If ClutterState is in the middle of a transition and you remove all the
    keys from the target state, the target state will be destroyed without
    stopping the animation/unsetting the target state. This caused an invalid
    memory access.

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

commit 5700b34b9cd894e6847dc8973e358104b47fdae5
Author: Chris Lord <chris@linux.intel.com>
Date:   Thu Oct 21 16:51:45 2010 +0100

    state: Allow setting a NULL state
    
    Allow setting a %NULL state. This has the effect of unsetting the current
    state and stopping all animation. This allows you to, for example, start
    a state transition, set the state to NULL, alter the state transition
    and then resume it again, by just setting it.

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

commit 9c5f09f32d291aac58fa7e7456302272e4c2a49e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 17:16:24 2010 +0100

    Update NEWS

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

commit ef6b46d8262cb9910dc70afa3cff2c2443f65d69
Merge: 0cb2ef4 f6ab7ec
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 17:09:46 2010 +0100

    Merge branch 'wip/path-constraint'
    
    * wip/path-constraint:
      docs: Add PathConstraint
      tests: Add a PathConstraint interactive test
      Add ClutterPathConstraint
      actor-box: Add setters for origin and size

commit f6ab7eccd9c946c75b5b4f4eba0c4a834f31804a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 16:09:40 2010 +0100

    docs: Add PathConstraint

 clutter/clutter-path-constraint.c          |   68 ++++++++++++++++++++++++++++
 clutter/clutter-path-constraint.h          |    2 +-
 doc/reference/clutter/clutter-sections.txt |   16 +++++++
 3 files changed, 85 insertions(+), 1 deletions(-)

commit 6f8e46e0b356ab5f367a1042be04392fe0775cba
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 15:47:15 2010 +0100

    tests: Add a PathConstraint interactive test

 tests/interactive/Makefile.am            |    3 +-
 tests/interactive/test-path-constraint.c |   63 ++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+), 1 deletions(-)

commit 6b2cbb990835f366060e59344db9019d271b2a89
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 15:46:04 2010 +0100

    Add ClutterPathConstraint
    
    ClutterPathConstraint is a simple Constraint implementation that
    modifies the allocation of the Actor to which is has been applied using
    a progress value and a ClutterPath.

 clutter/Makefile.am               |    2 +
 clutter/clutter-path-constraint.c |  287 +++++++++++++++++++++++++++++++++++++
 clutter/clutter-path-constraint.h |   65 +++++++++
 clutter/clutter.h                 |    1 +
 4 files changed, 355 insertions(+), 0 deletions(-)

commit 3f6ec0ba5a153f8185db8e481f823b49030bd8bc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 15:45:35 2010 +0100

    actor-box: Add setters for origin and size

 clutter/clutter-actor-box.c                |   49 ++++++++++++++++++++++++++++
 clutter/clutter-types.h                    |    7 ++++
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 58 insertions(+), 0 deletions(-)

commit 0cb2ef434b371d5d372040e03ec6705f2991ad39
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Oct 14 11:48:00 2010 -0400

    eglnative: Fix the type of stage for eglnative
    
    CLUTTER_TYPE_STAGE_EGLNATIVE does not exist any more, use
    CUTTER_TYPE_STAGE_EGL instead.

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

commit 6da18b6e4f93bb1430698959d6280cb53f9e2ff2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Oct 21 17:20:44 2010 +0100

    win32: Fix clutter_win32_disable_event_retrieval
    
    There was previously a flag that gets set when this function was
    called but nothing checked it so the function effectively did
    nothing. Also the flag was a member of the backend struct but this
    can't be used because the function should be called before
    clutter_init so the backend is not ready yet. This patch makes the
    event disabling work more like the X11 backend and set a global
    variable instead.

 clutter/win32/clutter-backend-win32.c |   30 ++++++++++++++++++++++++++++--
 clutter/win32/clutter-backend-win32.h |    1 -
 clutter/win32/clutter-event-win32.c   |   20 --------------------
 3 files changed, 28 insertions(+), 23 deletions(-)

commit e6099cdd4bd08d81cab51ff4fc291c839d7f37e3
Author: Ole André Vadla Ravnås <oravnas@cisco.com>
Date:   Thu Oct 14 15:30:54 2010 +0200

    win32: Use _clutter_actor_rerealize() like X11 backend does
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=1654

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

commit e66c679e84fd604d714828dceba1a50105790181
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Aug 27 15:54:21 2010 +0100

    win32: Add a public clutter_win32_handle_event function
    
    This function handles a single windows message. The idea is that it
    could be used by clutter-gtk to forward on events from a
    GdkEventFilter. The function replaces the old message_translate()
    function. That function didn't translate the event anymore anyway and
    instead it could generate multiple events so
    clutter_win32_handle_event seems like a more appropriate name. The
    function returns TRUE or FALSE depending on whether the event was
    completely handled instead of setting call_window_proc.

 clutter/win32/clutter-event-win32.c        |   70 +++++++++++++++++----------
 clutter/win32/clutter-win32.h              |    2 +
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 47 insertions(+), 26 deletions(-)

commit 52744c0d9db6d7f9738d31b6d9f774c0912fcad0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Oct 21 16:27:17 2010 +0100

    clutter-stage: Set the Cogl framebuffer size after allocating
    
    When handling an allocation on the stage, Clutter uses the oppurtunity
    to inform Cogl of the new size of the framebuffer so that it can
    handle the viewport correctly. It queries the size of the window
    implementation using a backend virtual function. However it was doing
    this before letting the backend handle the allocation so on Win32 it
    would end up using the previous framebuffer size. This wasn't
    affecting the X11 backend because in that case the resizes are
    asynchronous so setting the stage size causes one allocation which
    ends up sending a window size request. Eventually a ConfigureNotify is
    received which causes the size of the stage to be set again and
    another allocation is fired meaning the framebuffer size will be set
    again this time with the correct size. In Win32 the resizes are
    synchronous so we don't have this second allocation.

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

commit cc7977988c92ad7fa96f0a1dd0a8581432f090ca
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 25 13:15:01 2010 +0100

    cogl-context-winsys: Avoid zero-length arrays
    
    When compiling for non-glx platforms the winsys feature data array
    ends up empty. Empty arrays cause problems for MSVC so this patch adds
    a stub entry so that the array always has at least one entry.
    
    Based on a patch by Ole André Vadla Ravnås

 clutter/cogl/cogl/winsys/cogl-context-winsys.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit f1752ff3ba1828873f7f97f3842eadcc389e87a1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 25 13:08:52 2010 +0100

    Avoid mixing declarations and code
    
    Mixing declarations and code causes problems for MSVC as it is a C99
    feature so we should try to avoid it.

 clutter/cally/cally-actor.c              |   66 ++++++++++++++++-------------
 clutter/clutter-stage.c                  |    3 +-
 clutter/cogl/cogl/cogl-material-opengl.c |    9 ++++-
 clutter/cogl/cogl/cogl-material.c        |    4 +-
 clutter/x11/clutter-event-x11.c          |    5 +-
 tests/conform/test-cogl-blend-strings.c  |    8 ++--
 tests/conform/test-cogl-depth-test.c     |    8 ++--
 tests/conform/test-cogl-materials.c      |    8 ++--
 tests/conform/test-cogl-premult.c        |    8 ++--
 9 files changed, 68 insertions(+), 51 deletions(-)

commit 8e3674dcc12654e48e9c85e5aff2d56642512321
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 25 13:07:50 2010 +0100

    Avoid variable length arrays in clutter-backend-x11
    
    There was an array whose length was define by a static const int
    variable. GCC seems to consider this a variable-length array so it
    will cause warnings now that -Wvla is enabled. We might as well make
    this constant a #define instead to avoid the warning.

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

commit c3f47fa7d03ec3e7a5f963ced0457f27c3ec41ee
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 25 13:03:39 2010 +0100

    Add -Wdeclaration-after-statement and -Wvla to maintainer CFLAGS
    
    These warnings pick up C99 extensions that are commonly accidentally
    used and which cause problems when compiling with MSVC.

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

commit 164af55a6e52075afbc335a3ff15fe9b48ac9f31
Author: Giovanni Campagna <gcampagna@src.gnome.org>
Date:   Sun Oct 24 14:45:16 2010 +0200

    Avoid warnings on ClutterClone with a NULL source
    
    clutter_clone_apply_transform should check the source before calling
    methods on it, else criticals will be emitted.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2381

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

commit c7bfe27e96ccc6295d0e774dacf3597ec7df146c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 25 12:31:50 2010 +0100

    Update NEWS

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

commit 276acf5854c0e589eae9a76c78ef1faa50c46caa
Author: Ole André Vadla Ravnås <oravnas@cisco.com>
Date:   Sat Oct 9 23:07:26 2010 +0200

    binding-pool: Use the correct marshaller

 clutter/clutter-binding-pool.c |    8 ++++----
 clutter/clutter-marshal.list   |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit c792431538e02c05f90f12bd4c36c72cf3f3eab4
Author: Ole André Vadla Ravnås <oravnas@cisco.com>
Date:   Thu Oct 14 13:11:46 2010 +0200

    interval: Remember to chain up to parent in finalize()

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

commit d5634e37a262012f66022071d862ad9e5a8fbe53
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 4 14:34:24 2010 +0100

    cogl-texture-2d-sliced: Use the other backends for the slices
    
    Instead of directly manipulating GL textures itself,
    CoglTexture2DSliced now works in terms of CoglHandles. It creates the
    texture slices using cogl_texture_new_with_size which should always
    end up creating a CoglTexture2D because the size should fit. This
    allows us to avoid replicating some code such as the first pixel
    mipmap tracking and it better enforces the separation that each
    texture backend is the only place that contains code dealing with each
    texture target.

 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |   20 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         | 1103 ++++++++------------
 2 files changed, 462 insertions(+), 661 deletions(-)

commit 61f2f1c024a01368ff99e6639518463b175ff2c0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 4 15:27:38 2010 +0100

    Support foreign textures in the texture-2d and rectangle backends
    
    This adds two new internal functions to create a foreign texture for
    the texture 2d and rectangle backends. cogl_texture_new_from_foreign
    will now use one of these backends directly if there is no waste
    instead of always using the sliced texture backend.

 clutter/cogl/cogl/cogl-texture-2d-private.h        |    7 +
 clutter/cogl/cogl/cogl-texture-2d.c                |  135 +++++++++++++++++++-
 clutter/cogl/cogl/cogl-texture-rectangle-private.h |    7 +
 clutter/cogl/cogl/cogl-texture-rectangle.c         |  118 ++++++++++++++++-
 clutter/cogl/cogl/cogl-texture.c                   |   42 +++++--
 5 files changed, 287 insertions(+), 22 deletions(-)

commit 7b7b655e6ef45e5bdda25fe7b416ea632a0da25f
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri Oct 22 06:52:27 2010 +0100

    build: Dist cookbook.xsl
    
    cookbook.xsl was not in EXTRA_DIST, so the cookbook was not buildable
    with released tarballs.

 doc/common/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit cf46c8197e678bd53d3592307b326fa984c93eb9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 13:13:00 2010 +0100

    Add copyright notices

 clutter/clutter-actor-meta-private.h     |   24 ++++++++++++++++++++++++
 clutter/clutter-actor-meta.c             |   24 ++++++++++++++++++++++++
 clutter/clutter-actor-meta.h             |   24 ++++++++++++++++++++++++
 clutter/clutter-actor-private.h          |   21 +++++++++++++++++++++
 clutter/clutter-backend-private.h        |   21 +++++++++++++++++++++
 clutter/clutter-device-manager-private.h |   24 ++++++++++++++++++++++++
 clutter/clutter-paint-volume-private.h   |   21 +++++++++++++++++++++
 clutter/clutter-stage-manager-private.h  |   24 ++++++++++++++++++++++++
 clutter/clutter-stage-private.h          |   21 +++++++++++++++++++++
 9 files changed, 204 insertions(+), 0 deletions(-)

commit 46c597a1f674394d94ac9bdd61b3521d8bb0905a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 12:16:05 2010 +0100

    Clean up clutter-private.h/6
    
    Move all Actor private API to a separate file.

 clutter/Makefile.am                      |    1 +
 clutter/clutter-actor-box.c              |    2 +
 clutter/clutter-actor-private.h          |   97 ++++++++++++++++++++++++++++
 clutter/clutter-actor.c                  |    2 +-
 clutter/clutter-animator.c               |    2 +
 clutter/clutter-behaviour-ellipse.c      |    6 +-
 clutter/clutter-bind-constraint.c        |    2 +
 clutter/clutter-cairo-texture.c          |    1 +
 clutter/clutter-clone.c                  |    1 +
 clutter/clutter-desaturate-effect.c      |    2 +
 clutter/clutter-input-device.c           |    1 +
 clutter/clutter-master-clock.c           |    1 +
 clutter/clutter-offscreen-effect.c       |    1 +
 clutter/clutter-page-turn-effect.c       |    2 +
 clutter/clutter-paint-volume.c           |    1 +
 clutter/clutter-path.c                   |    3 +-
 clutter/clutter-private.h                |  102 +-----------------------------
 clutter/clutter-rectangle.c              |    1 +
 clutter/clutter-stage.c                  |    1 +
 clutter/clutter-text.c                   |    2 +
 clutter/clutter-texture.c                |    1 +
 clutter/clutter-units.c                  |    2 +
 clutter/glx/clutter-stage-glx.c          |    1 +
 clutter/wayland/clutter-stage-wayland.c  |    7 +-
 clutter/win32/clutter-stage-win32.c      |    1 +
 clutter/x11/clutter-event-x11.c          |    3 +-
 clutter/x11/clutter-stage-x11.c          |    1 +
 clutter/x11/clutter-x11-texture-pixmap.c |    1 +
 28 files changed, 138 insertions(+), 110 deletions(-)

commit cf3a29f224644b718458576191a6246883ba6485
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 11:59:50 2010 +0100

    Clean up clutter-private.h/5
    
    Move PaintVolume private API to a separate header.

 clutter/Makefile.am                      |    1 +
 clutter/clutter-actor.c                  |    1 +
 clutter/clutter-clone.c                  |    2 +-
 clutter/clutter-paint-volume-private.h   |  104 ++++++++++++++++++++++++++++++
 clutter/clutter-paint-volume.c           |    3 +
 clutter/clutter-private.h                |   93 --------------------------
 clutter/clutter-stage.c                  |   19 +++---
 clutter/x11/clutter-event-x11.c          |    1 +
 clutter/x11/clutter-x11-texture-pixmap.c |    4 +-
 9 files changed, 124 insertions(+), 104 deletions(-)

commit 43edfc940038f9582902d83e798b9985f8790f57
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 11:49:37 2010 +0100

    Clean up clutter-private.h/4
    
    Move the private Backend API to a separate header.
    
    This also allows us to finally move the class vtable and instance
    structure to a separate file and plug the visibility hole that left
    the Backend class bare for everyone to poke into.

 clutter/Makefile.am                       |    1 +
 clutter/clutter-backend-private.h         |   99 +++++++++++++++++++++++++++++
 clutter/clutter-backend.c                 |    2 +-
 clutter/clutter-backend.h                 |   50 ---------------
 clutter/clutter-device-manager.c          |    1 +
 clutter/clutter-event.c                   |    5 +-
 clutter/clutter-feature.c                 |    1 +
 clutter/clutter-main.c                    |   16 +++---
 clutter/clutter-private.h                 |   37 -----------
 clutter/clutter-stage.c                   |    2 +-
 clutter/clutter-units.c                   |    5 +-
 clutter/egl/clutter-backend-egl.h         |    3 +-
 clutter/fruity/clutter-backend-fruity.h   |    5 +-
 clutter/osx/clutter-backend-osx.h         |    2 +-
 clutter/wayland/clutter-backend-wayland.h |    3 +-
 clutter/win32/clutter-backend-win32.h     |    3 +-
 clutter/x11/clutter-backend-x11.h         |    3 +-
 17 files changed, 129 insertions(+), 109 deletions(-)

commit 8613013ab086668360d4ce625fe7b896ca5ae0e0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 11:29:09 2010 +0100

    Clean up clutter-private.h/3
    
    Move Stage private API to a separate header.

 clutter/Makefile.am                       |    1 +
 clutter/clutter-actor.c                   |    2 +-
 clutter/clutter-backend.c                 |    2 +
 clutter/clutter-input-device.c            |    1 +
 clutter/clutter-main.c                    |    2 +-
 clutter/clutter-master-clock.c            |    1 +
 clutter/clutter-offscreen-effect.c        |    1 +
 clutter/clutter-private.h                 |   69 -----------------------------
 clutter/clutter-stage-manager-private.h   |    7 +++
 clutter/clutter-stage-private.h           |   64 ++++++++++++++++++++++++++
 clutter/clutter-stage.c                   |    2 +-
 clutter/clutter-texture.c                 |    1 +
 clutter/egl/clutter-backend-egl.c         |    9 ++--
 clutter/egl/clutter-stage-egl.c           |   19 +++-----
 clutter/fruity/clutter-backend-fruity.c   |    8 ++-
 clutter/glx/clutter-backend-glx.c         |   11 +++--
 clutter/glx/clutter-event-glx.c           |    2 +
 clutter/glx/clutter-stage-glx.c           |   21 +++------
 clutter/osx/clutter-backend-osx.c         |    7 ++-
 clutter/osx/clutter-stage-osx.c           |    8 ++-
 clutter/wayland/clutter-backend-wayland.c |   11 +++--
 clutter/wayland/clutter-stage-wayland.c   |   20 +++-----
 clutter/win32/clutter-backend-win32.c     |   13 +++---
 clutter/win32/clutter-event-win32.c       |    1 +
 clutter/win32/clutter-stage-win32.c       |   19 +++-----
 clutter/x11/clutter-backend-x11.c         |    6 +--
 clutter/x11/clutter-event-x11.c           |    1 +
 clutter/x11/clutter-stage-x11.c           |   17 +++----
 28 files changed, 162 insertions(+), 164 deletions(-)

commit 999c0637848bc36b2a668f52ff58125a1f298dd8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 10:59:49 2010 +0100

    Clean up clutter-private.h/2
    
    Move StageManager private API to a different header.

 clutter/Makefile.am                     |    1 +
 clutter/clutter-private.h               |    8 --------
 clutter/clutter-stage-manager-private.h |   18 ++++++++++++++++++
 clutter/clutter-stage-manager.c         |   13 ++-----------
 clutter/clutter-stage.c                 |    2 +-
 5 files changed, 22 insertions(+), 20 deletions(-)

commit c1771d152eaaa54017e80f370b2163eadc8c2fdc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 21 10:54:14 2010 +0100

    Clean up clutter-private.h/1
    
    Move DeviceManager/InputDevice private API to a different header.

 clutter/Makefile.am                            |   23 ++++----
 clutter/clutter-device-manager-private.h       |   68 ++++++++++++++++++++++++
 clutter/clutter-device-manager.c               |    2 +-
 clutter/clutter-event.c                        |    4 +-
 clutter/clutter-input-device.c                 |    1 +
 clutter/clutter-main.c                         |    1 +
 clutter/clutter-private.h                      |   58 --------------------
 clutter/clutter-stage.c                        |    2 +-
 clutter/wayland/clutter-input-device-wayland.c |    7 ++-
 clutter/win32/clutter-device-manager-win32.c   |    2 +-
 clutter/win32/clutter-event-win32.c            |   13 +++--
 clutter/x11/clutter-device-manager-x11.c       |    2 +-
 clutter/x11/clutter-event-x11.c                |   11 ++--
 clutter/x11/clutter-input-device-x11.c         |    6 ++-
 14 files changed, 109 insertions(+), 91 deletions(-)

commit f709664f2338302f3ad09427d97847c21518cc1d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Oct 20 09:42:34 2010 +0100

    build: Go back to autoreconf
    
    After testing and distchecking, I verified that autoreconf can still be
    used to rebuild the autotools setup.
    
    Thanks to Javier Jardón for the second pair of eyes.

 autogen.sh |   91 +++++------------------------------------------------------
 1 files changed, 8 insertions(+), 83 deletions(-)

commit 68156c24c1e951f06a12feca4f13b9cd1627df61
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 17:48:15 2010 +0100

    build: Remove unused Makefile.am
    
    We switched to a non-recursive layout, hence we don't need Makefile.am
    in the osx/ and fruity/ sub-directories.

 clutter/fruity/Makefile.am |   24 ------------------------
 clutter/osx/Makefile.am    |   25 -------------------------
 2 files changed, 0 insertions(+), 49 deletions(-)

commit ce3311df2683dae46b3b63a760ae87353f9f59b6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 12:32:02 2010 +0100

    conform: Remove unnecessary destroy() calls
    
    Unparented actors are owned by the Script instance, and if that goes
    away then the actors go away with it. The fact that we needed an
    explicit destroy() before was a hint of a memory management issue that I
    blissfully - and regretfully - ignored for the sake of a passing test
    suite.

 tests/conform/test-script-parser.c |    5 -----
 1 files changed, 0 insertions(+), 5 deletions(-)

commit b5bbdd6cecc47beb0d299fdcf92aa58f71aabb1e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 11:03:13 2010 +0100

    build: Add test wrappers to the main ignore file
    
    They are generated at configure time, so it's a good idea to have them
    in the main ignore file instead of adding them to the built ignore files
    under tests.

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

commit e80825535adf57db6d7faa16b81eddb7b5d6b065
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 10:48:39 2010 +0100

    build: Show whether we have XComposite
    
    Since we're doing it for other optional X11 extensions as well.

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

commit dd2f55c6f6bbc2f0a12b70ccf90cf7840b6e2212
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 10:40:57 2010 +0100

    x11: Protect XComposite API calls
    
    Since we allow compiling Clutter without the XComposite extension
    available, we need to protect the calls to the XComposite API with
    the guards provided by the configure script.

 clutter/x11/clutter-backend-x11.c        |    8 +++++++-
 clutter/x11/clutter-x11-texture-pixmap.c |   16 ++++++++++++----
 2 files changed, 19 insertions(+), 5 deletions(-)

commit 21eb49098a7e90007b9043917a8dcf816db765b7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Sep 13 23:29:52 2010 +0300

    script: Fix the memory management
    
    Currently, the memory management in ClutterScript is overly complicated.
    The basic design tenet should be:
    
      - ClutterScript owns a reference on every object it creates
    
    This allows the Script instance to reliably handle the lifetime of the
    instances from creation to disposal.
    
    In case of unmerge, the Script instance should destroy any Actor
    instance, except for the Stage, and release the reference it owns. The
    Stage is special because it's really owned by Clutter itself, and it
    should be destroyed explicitly.
    
    When disposing the Script itself, it should just release the reference;
    any parented actor, or any InitiallyUnowned instance, will then be
    managed by the parent object, as they should, while every GObject
    instance will go away, as documented.
    
    This commit is based on a patch by:
    
      Henrik Hedberg <hhedberg@innologies.fi>
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2316

 clutter/clutter-script-parser.c  |   30 ++++++++++++++++++++++--------
 clutter/clutter-script-private.h |    3 ++-
 clutter/clutter-script.c         |   20 +++++---------------
 3 files changed, 29 insertions(+), 24 deletions(-)

commit 20a359cc530bac6a27bfa46839b49a88e1bec3d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 01:41:05 2010 +0100

    debug: Do not use '&' in the messages
    
    Use ':' as a separator between G_STRLOC and the debug message, like we
    do for warnings.

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

commit 78d4073f8ebb115d4e02f5ffea11260ed286719f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 19 01:40:44 2010 +0100

    Remove unused variables

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

commit 1c9dcdaeb295867d86a447cfc3df44d4e74d3ae0
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Oct 14 15:33:17 2010 +0100

    build: Fix CLUTTER_EGL_BACKEND definition for eglnative and cex100
    
    CLUTTER_EGL_BACKEND is used to define a special EGL native backend to
    use and was introduced for the CEX100 EGL backend. Unfortunately
    CLUTTER_EGL_BACKEND was defined to "cex100" for eglnative, which is
    obviously wrong.
    
    The paches defines the right values for CLUTTER_EGL_BACKEND for the
    eglnative and cex100 flavours.

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

commit 32270730bdcc20d9ac19c5b66cfda08e8e839937
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Oct 14 16:32:13 2010 +0100

    build: Fix EGL/CEX100 build with GLES2
    
    Some headers files have been renamed or removed and the gles(2) did not
    compile anymore, fix that.

 clutter/cogl/cogl/driver/gles/cogl-gles.c          |    2 +-
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0f613ea134b7369a214e1bb0056e3a21233982f9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 17:35:41 2010 +0100

    cairo-texture: Allow overriding the surface creation
    
    By using a new signal, ::create-surface (width, height), it should be
    possible for third party code and sub-classes to override the default
    surface creation code in CairoSurface.
    
    This commit takes a bit of the patch from:
    
      http://bugzilla.clutter-project.org/show_bug.cgi?id=1878
    
    which cleans up CairoTexture; the idea, mutuated from that bug, is that
    the CairoTexture actor checks whether the surface it has it's an image
    one, and in that case it uses a Cogl texture as the backing store. In
    case the surface is not an image one we assume that the surface itself
    has some way of updating the GL state and flush the surface.

 clutter/clutter-cairo-texture.c                |  303 ++++++++++++++----------
 clutter/clutter-cairo-texture.h                |    7 +-
 clutter/clutter-marshal.list                   |    1 +
 tests/interactive/Makefile.am                  |    2 +-
 tests/interactive/test-cairo-flowers.c         |  223 +++++++++++++++++
 tests/interactive/test-clutter-cairo-flowers.c |  224 -----------------
 6 files changed, 404 insertions(+), 356 deletions(-)

commit 63e314b07e8212089c2c50aab015790fe8908e6a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 16:09:19 2010 +0100

    build: Depend on cairo-gobject
    
    Starting from version 1.10, Cairo ships GTypes for its data types.

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

commit 8729c01377d11874107bdee5d53dbcb23874db20
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 16:09:12 2010 +0100

    build: Remove unnecessary g-i version check

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

commit 050e775da27209c5720d5ba8bffde786add562cd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 15:24:27 2010 +0100

    Move more classes to install_properties()

 clutter/clutter-actor-meta.c        |   51 +++++------
 clutter/clutter-align-constraint.c  |   56 ++++++-------
 clutter/clutter-alpha.c             |   20 ++--
 clutter/clutter-animation.c         |   86 +++++++++---------
 clutter/clutter-animator.c          |   33 ++++----
 clutter/clutter-behaviour.c         |   18 ++--
 clutter/clutter-bin-layout.c        |  104 +++++++++++-----------
 clutter/clutter-bind-constraint.c   |   51 +++++------
 clutter/clutter-binding-pool.c      |   20 +++--
 clutter/clutter-cairo-texture.c     |   39 ++++-----
 clutter/clutter-child-meta.c        |   35 ++++----
 clutter/clutter-click-action.c      |   31 ++++---
 clutter/clutter-clone.c             |   20 +++--
 clutter/clutter-colorize-effect.c   |   18 ++--
 clutter/clutter-deform-effect.c     |   55 ++++++------
 clutter/clutter-desaturate-effect.c |   28 +++---
 clutter/clutter-device-manager.c    |   20 ++--
 clutter/clutter-flow-layout.c       |  165 ++++++++++++++++++-----------------
 clutter/clutter-script.c            |   36 ++++----
 clutter/clutter-shader-effect.c     |   25 +++---
 clutter/clutter-timeline.c          |   72 ++++++++--------
 21 files changed, 492 insertions(+), 491 deletions(-)

commit 8429aa8d755b268975c2870978f8d8484f584542
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 15:47:00 2010 +0100

    Remove unnecessary GLib version checks
    
    We now depend on a newer version of GLib than those checks tested for.

 clutter/clutter-animation.c      |    6 ------
 clutter/clutter-animator.c       |    5 -----
 clutter/clutter-box.c            |    5 -----
 clutter/clutter-container.c      |    5 -----
 clutter/clutter-frame-source.c   |    3 ---
 clutter/clutter-interval.c       |   10 ----------
 clutter/clutter-layout-manager.c |    5 -----
 clutter/clutter-master-clock.c   |    2 --
 clutter/clutter-state.c          |    5 -----
 clutter/clutter-timeout-pool.c   |    2 --
 clutter/x11/clutter-event-x11.c  |    3 ---
 11 files changed, 0 insertions(+), 51 deletions(-)

commit 7dd09e21861bd1b7ceaea112b6e4fb69aeebbf1e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 15:21:57 2010 +0100

    Use G_DEFINE_BOXED_TYPE for all boxed types
    
    We actually need a couple more macros for registering GValue
    transformation functions. Those should be added to upstream
    GLib.

 clutter/clutter-actor-box.c    |   60 ++++++++++-----------------
 clutter/clutter-actor.c        |   88 ++++++++++++++--------------------------
 clutter/clutter-animator.c     |   16 +------
 clutter/clutter-behaviour.c    |   18 +-------
 clutter/clutter-color.c        |   29 +++----------
 clutter/clutter-event.c        |   16 ++-----
 clutter/clutter-paint-volume.c |   16 +------
 clutter/clutter-path.c         |   48 +++++++---------------
 clutter/clutter-private.h      |   24 ++++++++---
 clutter/clutter-stage.c        |   27 ++----------
 clutter/clutter-state.c        |   15 +-----
 clutter/clutter-state.h        |    1 +
 clutter/clutter-units.c        |   45 +++++----------------
 13 files changed, 123 insertions(+), 280 deletions(-)

commit 09a830d2945456d882cbf8b326264041b172fea9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 14:49:47 2010 +0100

    Remove conditional wrappers for property installation/notification
    
    For the time being, just keep the #define's.

 clutter/clutter-drag-action.c |   11 ++++++-----
 clutter/clutter-private.h     |   27 ++-------------------------
 2 files changed, 8 insertions(+), 30 deletions(-)

commit 9caf11f2d8f7120830da9f10a694ccc8f30ebee1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 14:47:46 2010 +0100

    Use G_DEFINE_INTERFACE
    
    GObject provides us with a nice, safe macro for defining interface
    types.

 clutter/clutter-animatable.c   |   16 +--
 clutter/clutter-container.c    |  180 +++++++++------------
 clutter/clutter-media.c        |  348 +++++++++++++++++++---------------------
 clutter/clutter-scriptable.c   |   18 +--
 clutter/clutter-stage-window.c |   25 +---
 5 files changed, 253 insertions(+), 334 deletions(-)

commit 8f5d6cb790a426536b462297e76be9159109e245
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 14:47:13 2010 +0100

    build: Depend on GLib ≥ 2.26.0
    
    We are going to need some new macros and API.

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

commit 2b4ee9ab548a58784da7ccc710cbbd213a6c45c9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 16:05:44 2010 +0100

    actor: Add more checks to the redraw queue

 clutter/clutter-actor.c |    4 ++--
 clutter/clutter-stage.c |   14 ++++++++++----
 2 files changed, 12 insertions(+), 6 deletions(-)

commit ad0e7a9e15a18f26b1002056427ded9a9f011e86
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 15:24:58 2010 +0100

    moduleset: Add Atk as a Clutter dependency

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

commit 56c89bd86b61f3c2ecba04d8a3afd4aa6250cf09
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 15 12:40:43 2010 +0100

    osx: Fix glib.h include path
    
    The fix for removing glib/gmain.h introduced the wrong path for glib.h.

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

commit d8426197554f4745bc2489c81435b9510b62d21a
Author: Roland Peffer <gdevel@clixxun.com>
Date:   Thu Oct 14 18:23:02 2010 +0100

    osx: Add button mask to the modifier state translation
    
    The modifier state translation is missing the CLUTTER_BUTTON*_MASK.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2365
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 134ce072e793834c7fe08a270c03ee5b2efbe998
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Sep 29 17:10:44 2010 -0400

    The amazing lazy-copy-back-repaint-page-flip
    
    Always use pageflipping, but avoid full repaint by copying back dirty
    regions from front to back.  Additionally, we dealy copying back until
    we're ready to paint the new frame, so we can avoid copying areas that
    will be repainted anyway.
    
    This is the least amount of copying per frame we can get away with at all
    and at the same time we don't have to worry about stalling the GPU on
    synchronized blits since we always pageflip.

 clutter/wayland/clutter-backend-wayland.c |    8 +
 clutter/wayland/clutter-stage-wayland.c   |  295 ++++++++++++++++++++++-------
 clutter/wayland/clutter-stage-wayland.h   |    4 +-
 3 files changed, 241 insertions(+), 66 deletions(-)

commit cb5582c4ab1207738a2b5dc4c94fb4551e696c20
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Tue Sep 28 10:17:46 2010 -0400

    Add wayland backend
    
    This adds a clutter backend for running under the wayland window system.
    Initial cogl framebuffer integration by Robert Bragg.

 clutter/Makefile.am                            |   19 +
 clutter/cogl/cogl/Makefile.am                  |    4 +
 clutter/cogl/cogl/winsys/cogl-egl.c            |   10 +-
 clutter/wayland/clutter-backend-wayland.c      |  552 ++++++++++++++++++++++++
 clutter/wayland/clutter-backend-wayland.h      |   94 ++++
 clutter/wayland/clutter-event-wayland.c        |  148 +++++++
 clutter/wayland/clutter-input-device-wayland.c |  340 +++++++++++++++
 clutter/wayland/clutter-stage-wayland.c        |  368 ++++++++++++++++
 clutter/wayland/clutter-stage-wayland.h        |   94 ++++
 clutter/wayland/clutter-wayland.h              |   60 +++
 configure.ac                                   |   61 +++-
 11 files changed, 1738 insertions(+), 12 deletions(-)

commit a7cf98ebfc9ca13e3f84bbe33171a2218cfe039b
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Mon Sep 27 13:25:50 2010 -0400

    Initialize color masks lazily
    
    When we don't use a window system drawable, we can't query the color
    masks at context initialization time.  Do it lazily so we're sure to have
    a current context with a valid framebuffer.

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

commit f456116c18dac24454f9c46b02677a51f79e4052
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 14 16:19:55 2010 +0100

    When unparenting an actor, remove queued redraws for all descendants
    
    We need to make sure that redraws queued for actors on a stage are for
    actors actually in the stage. So in clutter_actor_unparent() descend
    through the children and remove redraws. Just removing the actor itself
    isn't good enough since an entire hierarchy can be removed from the
    stage without breaking it up into individual actors.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2359
    
    This is based on an original patch from Owen Taylor who debugged the
    root cause of this bug; thanks.

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

commit 07f2dba7e24abd7b25327cf6b6b3f60dc17091d2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Sep 30 18:42:40 2010 +0100

    stage: handle unclipped redraw following clipped
    
    In the case that an unclipped redraw of an actor is queued after a
    clipped we should update any existing ClutterStageQueueRedrawEntry
    so entry->has_clip = FALSE and free the previous clip.

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

commit d032b9b2bf21c9c7c02f1a1b11d4e4a1bc7472b6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 17:31:15 2010 +0100

    conform: Start cleaning up the conformance test suite
    
    Re-order the units into a sensible list, with basic tests at the
    beginning, and per-class tests at the end - with Cogl last.
    
    Also, start renaming the unit functions from test_<foo> to <foo>,
    so that the executable wrappers and the reports have sensible names.

 tests/conform/test-actor-destroy.c        |   18 ++++++-
 tests/conform/test-actor-invariants.c     |    7 ---
 tests/conform/test-actor-size.c           |    6 +--
 tests/conform/test-anchors.c              |    6 +--
 tests/conform/test-clutter-text.c         |   46 ++++------------
 tests/conform/test-conform-main.c         |   80 +++++++++++++++--------------
 tests/conform/test-pick.c                 |    4 +-
 tests/conform/test-text-cache.c           |    3 +-
 tests/conform/test-timeline-interpolate.c |    3 +-
 tests/conform/test-timeline-rewind.c      |    3 +-
 10 files changed, 77 insertions(+), 99 deletions(-)

commit b5d5b9628ed8f683231134ac36b75efe80022f06
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 17:11:52 2010 +0100

    conform: Implement TEST_CONFORM_TODO() correctly
    
    The TODO() macro for adding new tests to the test suite has always meant
    to be implemented like the TODO block in Test::More, i.e. a test that is
    assumed to fail, and which warns if it unexpectedly succeeds.
    
    Since GTest lacks the expressivity of Test::More, the implementation
    just verifies that the tests marked as TODO actually fail, and will fail
    if they happen to succeed - at which point the developer will have to
    change the macro to SIMPLE or SKIP.

 tests/conform/ADDING_NEW_TESTS        |   70 ++++++++++++++++++++++++--------
 tests/conform/Makefile.am             |    6 ++-
 tests/conform/test-actor-invariants.c |    7 +++
 tests/conform/test-conform-common.h   |    6 +++
 tests/conform/test-conform-main.c     |   30 +++++++++++++-
 5 files changed, 96 insertions(+), 23 deletions(-)

commit 2a23bab8191678f33f10f0bd15fc05c7b05c89d3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 15:43:42 2010 +0100

    conform: Save the revision and date inside the test report
    
    Even if gtester-report doesn't use that information (yet), we should
    store the revision of Clutter that generated the report, and the date in
    which the test suite was ran.

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

commit e6418a9dec874b55d51afede7b039d3fd31908d4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 15:43:27 2010 +0100

    constraints: Remove unused variable

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

commit 7fd6273c25569fe4f37ad371532d93e5170e51f7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Oct 11 16:16:45 2010 +0100

    tests: Generate the stub scripts using sed
    
    Instead of trying to run ./test-conformance with the -l option to
    generate a list of available tests it now runs sed on the
    test-conform-main.c file instead. Running the generated executable is
    a pain for cross-compiling so it would be nice to avoid it unless it's
    absolutely necessary. Although you could tell people who are cross
    compiling to just disable the conformance tests, this seems a shame
    because they could still be useful along with the wrappers for example
    if the cross compile is built to a shared network folder where the
    tests can be run on the actual device.
    
    The sed script is a little more ugly than it could be because it tries
    to avoid using the GNU extensions '\+' and '\|'.
    
    The script ends up placing restrictions on the format of the C file
    because the tests must all be listed on one line each. There is now a
    comment to explain this. Hopefully the trade off is worth it.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2363

 tests/conform/Makefile.am         |    6 ++++--
 tests/conform/test-conform-main.c |    5 +++++
 2 files changed, 9 insertions(+), 2 deletions(-)

commit 100d541f479d070660905fa763b625853f17bfee
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Oct 12 14:43:10 2010 +0100

    tests: Re-enable the test-anchors conformance test
    
    This test was disabled in b5d58213. The commit message doesn't mention
    this so I'm guessing it was a mistake. In any case the test appears to
    work now anyway so it should be re-enabled.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2363

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

commit 2831addcf5ef1e4070fd2fabbe1ce71385b53062
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:53:20 2010 +0100

    test-flow-layout: Track stage size by default
    
    Instead of requiring a special command line switch.

 tests/interactive/test-flow-layout.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 4e724aed46cd7ad0ad7718b584a0f1691b12a09f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:09:47 2010 +0100

    bind-constraint: Use ::queue-relayout
    
    Instead of using the allocation-changed signal, use the queue-relayout
    signal on the source to queue a relayout on the actor to which the
    BindConstraint has been attached to.
    
    The ::allocation-changed signal is not always enough, given that a
    BindConstraint can use the position as well as the size of an actor to
    drive the allocation of another; in this regard, it's much similar
    to a ClutterClone, which requires a notification on every change, even
    potential, and not just real ones, given the short-circuiting done
    inside ClutterActor.

 clutter/clutter-bind-constraint.c |   12 +++++-------
 1 files changed, 5 insertions(+), 7 deletions(-)

commit 5c82b2551c2053f76bfb09b6d36a5ea4c4e93104
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:09:17 2010 +0100

    constraints: Do not check for :enabled
    
    ClutterActor will do it for us.

 clutter/clutter-align-constraint.c |    3 ---
 clutter/clutter-bind-constraint.c  |    3 ---
 2 files changed, 0 insertions(+), 6 deletions(-)

commit 3f27afde2484a01c71e0b484d2f485e5ce15f5d7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:08:07 2010 +0100

    actor: Use an explicit check for NULL
    
    Follow the coding style, and don't use the implicit C boolean
    equivalence for NULL pointers.

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

commit 3b72fdb20cca143f386d9a81dc42fc5ac64c48e7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:07:27 2010 +0100

    actor: Queue a relayout when adding/removing constraints
    
    Constraints change the way an actor is allocated; this warrants a
    relayout.

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

commit 91a9a355c32e86e597c57f3fd8b4deaecad0b9a4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:04:21 2010 +0100

    actor: Check CluterActorMeta:enabled
    
    Instead of delegating the check for the ActorMeta:enabled property to
    the sub-classes of ClutterActorMeta, ClutterActor can do the check prior
    to using the ClutterActorMeta instances.

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

commit 3f6b82c9c9e75be6ba174f5964c85809ab0746cc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 12 14:04:05 2010 +0100

    actor: Add debugging note for allocation changes

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

commit 89a389cd2bdfa78768b5901a8a2865cb7d1a8c83
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:57:22 2010 +0100

    actor-box: Split out ActorBox into its own file
    
    clutter-actor.c is getting way too large, so splitting it up wherever
    possible makes sense.

 clutter/Makefile.am         |    1 +
 clutter/clutter-actor-box.c |  440 +++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.c     |  438 ------------------------------------------
 3 files changed, 441 insertions(+), 438 deletions(-)

commit 7a54bdc65dcb9eb3d4d30020f65c255ef6f86f29
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:52:50 2010 +0100

    vertex: Register progress function
    
    This allows animating properties storing a ClutterVertex.

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

commit 4931802feea47c2fd89aa171a8fd05ebbfa087b4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:44:09 2010 +0100

    geometry: Register a progress function
    
    This allows animating properties storing a ClutterGeometry.

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

commit a5fc90d4d99cf904abd60ed0be0356ecb1efb40a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:20:25 2010 +0100

    actor-box: Register a progress function
    
    So that we can animate properties storing ClutterActorBox.

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

commit 2f21c851eafbe217661c3010ad6388414e27a56b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:07:06 2010 +0100

    script: Fix annotation for get_object()'s return value

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

commit dcf266261645fd2deda5c68ded438160bccd7235
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:06:11 2010 +0100

    interval: Remove special casing for ClutterColor
    
    ClutterColor registers a progress function on type initialization, so we
    don't need to special case it any more.

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

commit d5376bf317b5b682d85e64f1815f7c308da2ffda
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 15:04:54 2010 +0100

    color: Add Color.interpolate() method
    
    The interpolate() method does what it says on the tin: it interpolates
    between two colors using the given factor.
    
    ClutterColor uses it to register a progress function for Intervals.

 clutter/clutter-color.c                    |   48 ++++++++++++++++++++++++++++
 clutter/clutter-color.h                    |    5 +++
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 54 insertions(+), 0 deletions(-)

commit 7e112472b5ad9deea9b0ad1fda47aa16199a780a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Oct 5 17:17:53 2010 +0100

    cogl-texture-2d-sliced: Use the smallest possible waste
    
    When picking a size for the last slice in a texture, Cogl would always
    pick the biggest power of two size that doesn't create too much
    waste and is less than or equal to the previous slice size. However
    this can end up creating a texture that is bigger than needed if there
    is a smaller power of two.
    
    For example, if the maximum waste is 127 (the current default) and we
    try to create a texture that is 257 pixels wide it will decide that
    the next power of two (512) is too much waste (255) so it will create
    the first slice at 256 pixels wide. Then we only have 1 pixel left to
    allocate but Cogl would pick the next smaller size that has a small
    enough waste which is 128. But of course 1 is already a power of two
    so that's redundantly oversized by 127.
    
    This patch fixes it so that whenever it finds a size that would be big
    enough, instead of using exactly that it picks the next power of two
    up from the size we need to fill.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2355

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

commit 1f106b35a99e3784e441feca2df983efafa9fbd9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 13:52:09 2010 +0100

    Whitespace alignment fixes

 clutter/clutter-paint-volume.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 68d656c61badd7a88d7271600a59f24b05fbc36e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 13:51:12 2010 +0100

    paint-volume: Add arguments checks
    
    In some cases we access the arguments in public functions without, or
    prior to checking the arguments.

 clutter/clutter-paint-volume.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

commit 8089af3c1b0e9d9501ee5fad4249a3af1bfdb5dc
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Thu Oct 7 16:00:47 2010 -0400

    ClutterClone: Handle clone_source == NULL for get_paint_volume()
    
    It's valid to have a ClutterClone without a clone source; in this
    case the paint volume is empty.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2360

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

commit e0058925349046e315e45e14747879e05bdab262
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 13:32:26 2010 +0100

    clone: Remove unnecessary G_UNLIKELY macros
    
    A Clone:source property might be NULL, and we should not penalize
    performance when we can just bail out early, because that would kind of
    defeat the point.

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

commit 12f80db8b8e826db245880c28f05facd0189c0f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 11 12:00:18 2010 +0100

    docs: Update the README
    
    Add a minimal building reference, and point to git-bz for filing
    patches to Bugzilla.

 README |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 insertions(+), 2 deletions(-)

commit f8af2da4c8b2e428baba750fac18a38904f55c35
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Oct 10 09:31:55 2010 +0100

    osx: Compilation fixes
    
    Replace deprecated symbols with the correct ones.

 clutter/osx/clutter-backend-osx.c |    8 +++-
 clutter/osx/clutter-event-osx.c   |  104 ++++++++++++++++++++++++------------
 clutter/osx/clutter-stage-osx.c   |    2 +-
 3 files changed, 77 insertions(+), 37 deletions(-)

commit 981fed1f63ecd1cc077c50869e9814c439ccf407
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Oct 8 13:29:49 2010 +0100

    box-layout: Plug a memory leak
    
    Similar to commit 4724be167f19fe58cb38179e6f3b34b6797ff639 for
    TableLayout.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2358

 clutter/clutter-box-layout.c |   39 +++++++++++++--------------------------
 1 files changed, 13 insertions(+), 26 deletions(-)

commit 4724be167f19fe58cb38179e6f3b34b6797ff639
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Oct 6 16:01:03 2010 +0100

    Plug a memory leak in clutter-table-layout
    
    Whenever the allocation is changed on a child of a ClutterTableLayout
    and animations are not in effect then it would store a copy of the
    allocation in the child meta data. However it was not freeing the old
    copy of the allocation so it would end up with a small leak.
    
    Instead of just changing it to free the old value this patch makes it
    store the allocation inline in the meta data struct because it seems
    that the size of an actor box is already quite small compared to the
    size of the meta data struct so it is probably not worth having a
    separate allocation for it. To detect the case when there has not yet
    been an allocation a separate boolean is used instead of storing NULL.
    
    http://bugzilla.clutter-project.org/show_bug.cgi?id=2358

 clutter/clutter-table-layout.c |   39 ++++++++++++++++-----------------------
 1 files changed, 16 insertions(+), 23 deletions(-)

commit 42dac6c9971fc33acae95f02d6e3605324a8d7f3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Oct 7 18:01:53 2010 +0100

    autogen.sh: libtool 2.4 has been released

 autogen.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit eec1a5fb7ad0c5d5f6169abbd1825bd083a940c0
Author: Damien Lespiau <damien.lespiau@gmail.com>
Date:   Thu Oct 7 12:17:33 2010 +0100

    po: Update French localization
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 po/fr.po |  264 +++++++++++++++++++++++++++++++-------------------------------
 1 files changed, 132 insertions(+), 132 deletions(-)

commit 7bdbbe6a8c372e902753151cfacb2a6d7505b96c
Author: Andika Triwidada <andika@gmail.com>
Date:   Tue Oct 5 17:23:37 2010 +0100

    po: Update Indonesian localization
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 po/id.po |  223 +++++++++++++++++++++++--------------------------------------
 1 files changed, 84 insertions(+), 139 deletions(-)

commit 12119ff063f0a7d71c2d7431697004a620d154ab
Author: Damien Lespiau <damien.lespiau@gmail.com>
Date:   Tue Oct 5 17:22:56 2010 +0100

    po: Add French localization
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 po/fr.po | 1836 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1836 insertions(+), 0 deletions(-)

commit 3cb0436c42ca9369e3d804b8519d2dd40dac86e5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Oct 5 14:30:01 2010 +0100

    clutter.modules: Update Cairo and Pixman

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

commit 155bde24650eb613824319f7186bd0a0d690932d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 5 08:35:19 2010 +0100

    texture: Fix the typos in the blurbs and make them not end with '.'
    
    All the nifty things you discover when translating strings not exposed
    to anyone. First the clutter-wide record of the number of typos in one
    string. Second, ClutterTexture happened to have the only property blurbs
    ending with a '.', remove them.

 clutter/clutter-texture.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

commit 2d56ed637c3c71516498c5a9dc11bf521db37f6f
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 5 08:25:06 2010 +0100

    text: Rename the nick of the position property "Cursor Position"
    
    the "position" property of ClutterText is really the position of the
    cursor. Rename the nick accordingly not to confuse it with the position
    of the actor itself and be consistent with all the other cursor-related
    properties.

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

commit a13182c740c9d61e897c8f41d958ca31ebbe6797
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 5 08:03:19 2010 +0100

    cogl: Use Cogl (not COGL) consistently
    
    If I remember correctly, Robert wants to name Cogl, Cogl (not COGL) so
    start by having a consistent naming in the code.

 clutter/clutter-texture.c      |   16 ++++++++--------
 clutter/cogl/cogl/cogl-debug.c |    8 ++++----
 configure.ac                   |    4 ++--
 3 files changed, 14 insertions(+), 14 deletions(-)

commit 24577a053868bfa39c7758dea2173cf090230de2
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Oct 5 07:44:49 2010 +0100

    bin-layer: Fix the property blurbs
    
    The descriptions for the 'y-align' and 'x-align' properties talk about a
    layer and a layer manager. It seems that these properties are the
    alignement factors relative to the BinLayout, so document them
    accordingly.

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

commit 9ae1729f37fde328b738972c39db52673a28999e
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Oct 4 18:35:13 2010 +0100

    box-layout: Fix missing spaces in the blurbs of vertical and homogeneous

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

commit 9258f9bebb33bd7677f11872fa2c928296399832
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Oct 4 17:20:30 2010 +0100

    deform-effect: Fix Horiontal/Horizontal typo

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

commit cd7df1b42133cef69de123986f336767f7a14978
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 4 15:47:53 2010 +0100

    build: Fix the release-message target
    
    Generate the SHA256 checksum file during release-upload and then copy it
    to the build directory.

 build/autotools/Makefile.am.release |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 75e016ac20528c9fded515a620962cae1d96e5f6
Author: Andika Triwidada <andika@gmail.com>
Date:   Mon Oct 4 15:43:54 2010 +0100

    po: Add Indonesian localization

 po/id.po | 2041 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2041 insertions(+), 0 deletions(-)

commit c32c25e4576ef125d83ad74d3ac6c3ae90d098ab
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Mon Oct 4 15:43:16 2010 +0100

    po: Update Polish localization

 po/pl.po |  708 ++++++++++++++++++++++++++++++++------------------------------
 1 files changed, 365 insertions(+), 343 deletions(-)

commit 55121d0f35a8f713973254a4a56ef6cdf79f0ea9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Oct 4 15:20:44 2010 +0100

    Post-release version bump to 1.5.3

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