# Generated by configure.  Do not edit.

commit bd3b8c2349a47e537a48cc3e6d7bc4c54584af5f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 7 23:19:02 2010 +0100

    Release 1.3.4

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

commit 4c22f122e19226ee6338c49fca0da1de50894582
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 7 22:45:34 2010 +0100

    script: Support layout manager properties
    
    Layout properties work similarly to child properties, with the added
    headache that they require the 3-tuple:
    
      ( layout manager, container, actor )
    
    to be valid in order to be inspected, parsed and applied. This means
    using the newly added back-pointer from the container to the layout
    manager and then rejigging a bit how the ScriptParser handles the
    unresolved properties.
    
    Similarly to the child properties, which use the "child::" prefix, the
    layout manager properties use the "layout::" prefix and are defined with
    the child of a container holding a layout manager.

 .gitignore                                  |    1 +
 clutter/clutter-script-parser.c             |  160 ++++++++++++++++++++++++++-
 clutter/clutter-script-private.h            |    1 +
 tests/conform/test-conform-main.c           |    1 +
 tests/conform/test-script-parser.c          |   51 +++++++++
 tests/data/Makefile.am                      |    1 +
 tests/data/test-script-layout-property.json |   16 +++
 7 files changed, 225 insertions(+), 6 deletions(-)

commit ab76584965ce342017052183e3d70553065ff094
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 7 21:34:36 2010 +0100

    layout-manager: Implement set_container()
    
    Store a back pointer of the layout manager inside the container using
    the GObject instance data. This introduces a change in the implementation
    of ClutterLayoutManager, though it's still binary compatible.

 README                           |    6 ++++++
 clutter/clutter-bin-layout.c     |    4 ++++
 clutter/clutter-box-layout.c     |    4 ++++
 clutter/clutter-fixed-layout.c   |    5 +++++
 clutter/clutter-flow-layout.c    |    4 ++++
 clutter/clutter-layout-manager.c |   15 +++++++++++++++
 clutter/clutter-private.h        |    3 +++
 7 files changed, 41 insertions(+), 0 deletions(-)

commit 8583986e16f46c707f8416ac740eaede7f200549
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 7 15:45:24 2010 +0100

    blur-effect: Fix loop unrolling
    
    The box blur shader was not sampling all the points for producing the
    desired effect.

 clutter/clutter-blur-effect.c   |    7 ++++---
 tests/interactive/test-rotate.c |   13 ++++++++++---
 2 files changed, 14 insertions(+), 6 deletions(-)

commit eb3017df7e80d4a202355274f4d5077281cdc373
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sat Jun 5 21:05:23 2010 +0100

    doc: Some fixes for the Cogl documentation
    
     • 3 general fixes (typos, copy/paste),
     • ignore cogl-object-private.h,
     • cogl_fixed_atani() was in reality cogl_fixed_atan(), fixed in commit
       43564f05.
     • Fix the cogl-vector section: sections must have a </SECTION> tag at
       the end. Also the cogl-vector section was added in the middle of the
       cogl-buffer one. Let's shiffle it out and add that </SECTION> tag.

 clutter/cogl/cogl/cogl-types.h       |    6 +++---
 doc/reference/cogl/Makefile.am       |    1 +
 doc/reference/cogl/cogl-sections.txt |   13 +++++++------
 3 files changed, 11 insertions(+), 9 deletions(-)

commit 9a6a2a96dd17d3376ab72fc518300be9caf27e6b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 31 21:04:53 2010 +0100

    animator,state: Mark variadic functions that ends with NULL
    
    GCC can catch errors when it knows that a variadic function must be
    ended with NULL. Let's use the glib macro encapsulating the GCC
    attribute to clutter_animator_set() and clutter_state_set().

 clutter/clutter-animator.h |    2 +-
 clutter/clutter-state.h    |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit f0ded315e43758f1fc1a16a132c63c873d5b5710
Author: Colin Walters <walters@verbum.org>
Date:   Thu Jun 3 23:34:09 2010 -0400

    g_source_set_name on custom sources (if available)
    
    Call g_source_set_name, if the versio of GLib is new enough.
    This aids debugging, using e.g. SystemTap.  See
    https://bugzilla.gnome.org/show_bug.cgi?id=620511
    for more information
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2151
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-frame-source.c  |    4 ++++
 clutter/clutter-master-clock.c  |    3 +++
 clutter/clutter-timeout-pool.c  |    4 ++++
 clutter/x11/clutter-event-x11.c |    4 ++++
 4 files changed, 15 insertions(+), 0 deletions(-)

commit e9c4dfff9064406e1d8d7e8685850a6068ebf7fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jun 7 10:52:32 2010 +0100

    Add test-cogl-object to the ignore file

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

commit cef4c8de769fd76dbcfb9f219b6ee1f2154b13e5
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri Jun 4 17:17:45 2010 +0100

    build: Don't distribute clutter-version.h and cogl-defines.h
    
    As with a351ff2af earlier, distributing headers generated at configure
    time conflicts with out of tree builds as the distributed headers will
    be included first instead of including the generated ones.

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

commit f6078eca83e37a8a7c14c5a96b5d716344301a2f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 19:27:07 2010 +0100

    cogl-object-private.h: white space cleanup
    
    simply replaces tabs with spaces

 clutter/cogl/cogl/cogl-object-private.h |  101 ++++++++++++++++---------------
 1 files changed, 51 insertions(+), 50 deletions(-)

commit 457faaffb7092d56dcee37383a778fae431b6dac
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 17:27:59 2010 +0100

    conform: Adds a test-cogl-object conformance test
    
    This tests the new cogl_object_get/set_user_data API

 tests/conform/Makefile.am         |    1 +
 tests/conform/test-cogl-object.c  |   86 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    1 +
 3 files changed, 88 insertions(+), 0 deletions(-)

commit 2ce0cf3861edf89240ec9a393dee8998f7b6b100
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 18:06:47 2010 +0100

    CoglObject: Adds a COGL_OBJECT macro for casting
    
    This adds a convenience COGL_OBJECT macro for casting CoglObject
    subclasses to (CoglObject *) pointers.

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

commit e7c800dacc23c5b264a2c1e22d6ac44298670b07
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 27 22:24:56 2010 +0100

    CoglObject: Adds cogl_object_{get,set}_user_data
    
    This provides a mechanism for associating private data with any
    CoglObject. We expect Clutter will use this to associate weak materials
    with normal materials.

 clutter/cogl/cogl/Makefile.am           |    3 +
 clutter/cogl/cogl/cogl-handle.h         |    2 +-
 clutter/cogl/cogl/cogl-object-private.h |  205 +++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-object.c         |  246 +++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-object.h         |  245 ++++++++++++-------------------
 clutter/cogl/cogl/cogl-util.c           |   61 --------
 clutter/cogl/cogl/cogl.h                |    1 +
 doc/reference/cogl/cogl-sections.txt    |    6 +
 8 files changed, 554 insertions(+), 215 deletions(-)

commit d131602a6dbd43ccf527346a7703a3639ad36b79
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 17:53:42 2010 +0100

    cogl-path: Adds missing cogl_is_path prototype
    
    This adds a missing cogl_is_path prototype to the public cogl-path.h
    header.

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

commit eca26340504161b660e8a7848a8c852552cd8eac
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 17:34:59 2010 +0100

    cogl-path: Renames cogl_path_get/set cogl_get/set_path
    
    These aren't path methods so aren't consistent with the
    cogl_object_method naming style we are aiming for.

 clutter/cogl/cogl/cogl-clip-state.c  |    2 +-
 clutter/cogl/cogl/cogl-path.c        |   47 +++++++++++++++++----------------
 clutter/cogl/cogl/cogl-path.h        |    8 +++---
 doc/reference/cogl/cogl-sections.txt |    4 +-
 tests/conform/test-cogl-path.c       |   16 ++++++------
 5 files changed, 39 insertions(+), 38 deletions(-)

commit 781a413362013bb8a49d668e44ff9a8c4dc31d30
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 3 15:20:17 2010 +0100

    test-drag: Add desaturation effect
    
    Use a desaturation effect on the drag handle.

 tests/interactive/test-drag.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 582f2ced5fe3eca78f6c9e04543bc622b5858196
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Jun 3 13:48:53 2010 +0100

    build: Fix out of tree gtk-doc generation
    
    Various headers are build in builddirs (clutter-marshal.h, mkenums
    headers and cogl-define.h) so we need to add the corresponding include
    paths for gtk-doc to build its scanner.

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

commit a351ff2afc1ac44f71fabc1219e928d2214f7bf8
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Jun 3 11:59:48 2010 +0100

    build: Do not distribute clutter-json.h
    
    clutter-jon.h is generated at configure time, we should not distribute it.
    
    This caused a build issue when compiling from a tarballs and out of tree
    builds as we ended up with two clutter-json.h one in $(top_srcdir)/json
    and the other in $(top_builddir)/json and picked up the wrong one
    ($(top_srcdir)/json is included first in the include search path).

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

commit 23084b9768ee10502ef01f0c34ae7f2c64888c2b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 3 14:34:41 2010 +0100

    docs: Effects fixes for the API reference

 clutter/clutter-blur-effect.c              |    2 +-
 clutter/clutter-colorize-effect.c          |    4 ++--
 clutter/clutter-desaturate-effect.c        |    2 +-
 clutter/clutter-effect.c                   |    2 +-
 clutter/clutter-effect.h                   |    1 -
 clutter/clutter-shader-effect.c            |    4 ++--
 clutter/clutter-shader-effect.h            |    2 +-
 doc/reference/clutter/clutter-docs.xml.in  |   21 +++++++++------------
 doc/reference/clutter/clutter-sections.txt |   12 ++++++++----
 9 files changed, 25 insertions(+), 25 deletions(-)

commit aef2f805a67cde24746a5d4e90299f877c748e86
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jun 3 14:08:59 2010 +0100

    effects: Fix stacking of offscreen-based effects
    
    Stacking multiple effects sub-classing ClutterOffscreenEffect requires
    a small fix in the code that computes the screen coordinates of the
    actor to position the FBO correctly with regards to the stage.

 clutter/clutter-offscreen-effect.c |   12 ++++++++++++
 tests/interactive/test-rotate.c    |    1 +
 2 files changed, 13 insertions(+), 0 deletions(-)

commit 8ef4d9fe21b8f1ef4d9bad3d8317239ab59e2714
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jun 1 14:45:55 2010 +0100

    actor: Add "effects" to the animatable metas
    
    Since ClutterEffect is an ActorMeta it should be possible to animate the
    properties of named effects using the @effects syntax, just like it
    happens for actions and constraints.

 clutter/clutter-actor.c         |    6 +++++-
 tests/interactive/test-rotate.c |   13 ++++++++-----
 2 files changed, 13 insertions(+), 6 deletions(-)

commit 0e9a1dee6dde18e7fe6d92960987baa933826937
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 17 12:55:46 2010 +0100

    shader-effect: Simplify setting the shader source
    
    Sub-classes of ShaderEffect currently have to get the handle for the
    Cogl shader and call cogl_shader_source(); this makes it awkward to
    implement a ShaderEffect, and it exposes handles and Cogl API that we
    might want to change in the future.
    
    We should provide a ClutterShaderEffect method that allows to (safely)
    set the shader source at the right time for sub-classes to use.

 clutter/clutter-blur-effect.c       |   13 +----
 clutter/clutter-colorize-effect.c   |   15 +---
 clutter/clutter-desaturate-effect.c |   15 +----
 clutter/clutter-shader-effect.c     |  116 +++++++++++++++++++----------------
 clutter/clutter-shader-effect.h     |   25 ++++---
 5 files changed, 82 insertions(+), 102 deletions(-)

commit f2caafa127a42f5b10454407d52eb6b8bd64876d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 21 11:30:06 2010 +0100

    docs: Add Effects API to the reference

 doc/reference/clutter/clutter-docs.xml.in  |   12 +++
 doc/reference/clutter/clutter-sections.txt |  105 ++++++++++++++++++++++++++++
 doc/reference/clutter/clutter.types        |    6 ++
 3 files changed, 123 insertions(+), 0 deletions(-)

commit a3e8e0025a9aed83091d28a8f4fe63cfb81bfd07
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Apr 16 12:33:20 2010 +0100

    effect: Rework the OffscreenEffect painting
    
    The OffscreenEffect should set up the off screen draw buffer so that it
    has the same projection and modelview as if it where on screen; we
    achieve that by setting up the viewport to be the same size of the stage
    but with an initial offset given by the left-most vertex of the actor.
    
    When we paint the texture attached to the FBO we then set up the
    modelview matrix of the on screen draw buffer so that it's the same as
    the stage one: this way, the texture will be painted in screen
    coordinates and it will occupy the same area as the actor would have
    had.

 clutter/clutter-offscreen-effect.c |  304 ++++++++++++++++++++++++++----------
 clutter/clutter-offscreen-effect.h |   14 ++-
 2 files changed, 230 insertions(+), 88 deletions(-)

commit b4f8ba0f737212b9a7b734ab7fcd015f7def9161
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 14 00:40:24 2010 +0100

    effect: Add ColorizeEffect
    
    A copy of DesaturateEffect that converts to grayscale and applies a
    user-defined tint to the render target.

 clutter/Makefile.am               |    2 +
 clutter/clutter-colorize-effect.c |  290 +++++++++++++++++++++++++++++++++++++
 clutter/clutter-colorize-effect.h |   62 ++++++++
 clutter/clutter.h                 |    1 +
 4 files changed, 355 insertions(+), 0 deletions(-)

commit 73a773d37ab3c2ba6772acf6347a82d75a601901
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Apr 9 16:14:21 2010 +0100

    effect: Add DesaturateEffect
    
    A simple shader-based effect that desaturates an actor and its contents
    based on a controllable factor.

 clutter/Makefile.am                 |    2 +
 clutter/clutter-desaturate-effect.c |  309 +++++++++++++++++++++++++++++++++++
 clutter/clutter-desaturate-effect.h |   60 +++++++
 clutter/clutter.h                   |    1 +
 tests/interactive/test-rotate.c     |    2 +-
 5 files changed, 373 insertions(+), 1 deletions(-)

commit 5a5b21446c33d131885832c0b65a2227ad5c6955
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 8 18:46:54 2010 +0100

    effect: Add BlurEffect
    
    A simple, GLSL shader-based blur effect.
    
    The blur shader is taken straight from the test-shader.c interactive
    test case. It's a fairly clunky, inefficient and visually incorrect
    implementation of a box blur, but it's all we have right now until I
    figure out a way to do multi-pass shading with the current API.

 clutter/Makefile.am           |    2 +
 clutter/clutter-blur-effect.c |  244 +++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-blur-effect.h |   56 ++++++++++
 clutter/clutter.h             |    1 +
 4 files changed, 303 insertions(+), 0 deletions(-)

commit c260da79e318d64927ee6fad0cf6bd2e6971d097
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 13 16:40:31 2010 +0100

    effect: Add ShaderEffect
    
    The ShaderEffect class is an abstract base type for shader-based
    effects. GLSL-based effects should be implemented by sub-classing
    ShaderEffect and overriding ActorMeta::set_actor() to set the source
    code of the shader, and Effect::pre_paint() to update the uniform
    values, if any.
    
    The ShaderEffect has a generic API for sub-classes to set the values
    of the uniforms defined by their shaders, and it uses the shader
    types we defined for ClutterShader, to avoid re-inventing the wheel
    every time.

 clutter/Makefile.am             |    2 +
 clutter/clutter-shader-effect.c |  759 +++++++++++++++++++++++++++++++++++++++
 clutter/clutter-shader-effect.h |  101 ++++++
 clutter/clutter.h               |    1 +
 4 files changed, 863 insertions(+), 0 deletions(-)

commit c3ab32ae6887a222472f4fc9025437ab91d0bbce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 17 11:39:27 2010 +0100

    effect: Add OffscreenEffect
    
    The OffscreenEffect class is meant to be used to implement Effect
    sub-classes that create an offscreen framebuffer and redirect the
    actor's paint sequence there. The OffscreenEffect is useful for
    effects using fragment shaders.
    
    Any shader-based effect being applied to an actor through an offscreen
    buffer should be used before painting the resulting target material and
    not for every actor. This means that doing:
    
           pre_paint: cogl_program_use(program)
                      set up offscreen buffer
               paint: [ actors ] → offscreen buffer → target material
          post_paint: paint target material
                      cogl_program_use(null)
    
    Is not correct. Unfortunately, we cannot really do:
    
          post_paint: cogl_program_use(program)
                      paint target material
                      cogl_program_use(null)
    
    Because the OffscreenEffect::post_paint() implementation also pops the
    offscreen buffer and re-instates the previous framebuffer:
    
          post_paint: cogl_program_use(program)
                      change frame buffer ← ouch!
                      paint target material
                      cogl_program_use(null)
    
    One way to fix it is to allow using the shader right before painting
    the target material - which means adding a new virtual inside the
    OffscreenEffect class vtable in additions to the ones defined by the
    parent Effect class.
    
    The newly-added paint_target() virtual allows the correct sequence of
    actions by adding an entry point for sub-classes to wrap the "paint
    target material" operation with custom code, in order to implement the
    case above correctly as:
    
          post_paint: change frame buffer
                      cogl_program_use(program)
                      paint target material
                      cogl_program_use(null)
    
    The added upside is that sub-classes of OffscreenEffect involving
    shaders really just need to override the prepare() and paint_target()
    virtuals, since the pre_paint() and post_paint() do all that's needed.

 clutter/Makefile.am                |    2 +
 clutter/clutter-offscreen-effect.c |  336 ++++++++++++++++++++++++++++++++++++
 clutter/clutter-offscreen-effect.h |   96 ++++++++++
 clutter/clutter.h                  |    1 +
 4 files changed, 435 insertions(+), 0 deletions(-)

commit a86f1b45bbdd1d00b1257ef80c5c60154871bfda
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 8 10:55:15 2010 +0100

    Add the ClutterEffect abstract class
    
    ClutterEffect is an abstract class that should be used to apply effects
    on generic actors.
    
    The ClutterEffect class just defines what an effect should implement; it
    could be defined as an interface, but we might want to add some default
    behavior dependent on the internal state at a later point.
    
    The effect API applies to any actor, so we need to provide a way to
    assign an effect to an actor, and let ClutterActor call the Effect
    methods during the paint sequence.
    
    Once an effect is attached to an actor we will perform the paint in this
    order:
    
      • Effect::pre_paint()
      • Actor::paint signal emission
      • Effect::post_paint()
    
    Since an effect might collide with the Shader class, we either allow a
    shader or an effect for the time being.

 clutter/Makefile.am             |    6 +-
 clutter/clutter-actor.c         |  322 ++++++++++++++++++++++++++++++++++++---
 clutter/clutter-actor.h         |    5 +-
 clutter/clutter-effect.c        |  232 ++++++++++++++++++++++++++++
 clutter/clutter-effect.h        |  110 +++++++++++++
 clutter/clutter-private.h       |    4 +
 clutter/clutter.h               |    1 +
 tests/interactive/test-rotate.c |    4 +-
 8 files changed, 654 insertions(+), 30 deletions(-)

commit 5ffbcbe9ee7d0b74bc5048fafd2ea15ee0486a58
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 19 12:32:15 2010 +0100

    actor: Reset the modelview matrix
    
    When getting the relative modelview matrix we need to reset it to the
    stage's initial state or, at least, initialize it to the identity
    matrix, instead of assuming we have an empty stack.

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

commit 6eba218807b0401c0e12e045ea08cdcfe057350d
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Jun 3 11:33:54 2010 +0100

    build: Distribute cogl-object.h
    
    cogl-object.h is a new public header. Include it in the right list of
    source files to have it distributed.

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

commit 91220c4b46fe75b21b4ebd99a63fd796f6fc56b0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jun 1 14:14:41 2010 +0100

    docs: Miscellaneous fixes to silence gtk-doc

 clutter/clutter-texture.c                  |    3 +-
 clutter/cogl/cogl/cogl.h                   |   29 +++++++++++++--------------
 doc/reference/clutter/clutter-sections.txt |    6 +++++
 3 files changed, 22 insertions(+), 16 deletions(-)

commit 311db34d08a52408f1efec74c9de43f9d153219f
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 28 01:01:28 2010 +0100

    clip_stack: Remove use of CoglHandle in the CoglClipStack API
    
    This replaces the use of CoglHandle with strongly type CoglClipStack *
    pointers instead. The only function not converted for now is
    cogl_is_clip_stack which will be done in a later commit.

 clutter/cogl/cogl/cogl-clip-stack.c |   64 +++++++++++++++--------------------
 clutter/cogl/cogl/cogl-clip-stack.h |   26 ++++++++------
 2 files changed, 41 insertions(+), 49 deletions(-)

commit 29da1d0d3e0d1f3c9a9a965b2b9290faa6d0c3db
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 28 00:51:40 2010 +0100

    bitmap: Remove use of CoglHandle in the CoglBitmap API
    
    This replaces the use of CoglHandle with strongly type CoglBitmap *
    pointers instead. The only function not converted for now is
    cogl_is_bitmap which will be done in a later commit.

 clutter/cogl/cogl/cogl-bitmap-private.h |    4 ++--
 clutter/cogl/cogl/cogl-bitmap.c         |    6 +++---
 clutter/cogl/cogl/cogl-bitmap.h         |    8 +++++---
 3 files changed, 10 insertions(+), 8 deletions(-)

commit f3f268b0cdc9e8113b0dee9eb28eca309823f544
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 28 00:35:47 2010 +0100

    path: Remove use of CoglHandle in the CoglPath API
    
    This replaces the use of CoglHandle with strongly type CoglPath *
    pointers instead. The only function not converted for now is
    cogl_is_path which will be done in a later commit.

 clutter/cogl/cogl/cogl-path-private.h |    5 +--
 clutter/cogl/cogl/cogl-path.c         |   52 +++++++++++++++-----------------
 clutter/cogl/cogl/cogl-path.h         |   41 ++++++++++++++------------
 clutter/cogl/cogl/cogl.c              |   10 +++---
 4 files changed, 53 insertions(+), 55 deletions(-)

commit 250d82cd3fdf4cfa2b8cc5ad93cc4577a1daa2e3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jun 1 11:50:02 2010 +0100

    cogl: avoid ‘_cogl_xyz_handle_new’ defined but not used warnings
    
    This patch makes it so that only the backwards compatibility
    COGL_HANDLE_DEFINE macro defines a _cogl_xyz_handle_new function. The
    new COGL_OBJECT_DEFINE macro only defines a _cogl_xyz_object_new
    function.

 clutter/cogl/cogl/cogl-object.h |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

commit 43564f05a6cc76995ff540b6cb24badd4f1d1710
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 13:30:07 2010 +0100

    analysis: Fix some CoglFixed API
    
    2 functions where not correctly defined/documented, use the actual
    symbol name instead.

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

commit 653a8a78744a6be0ccc69ec7413d6d55cc3940e8
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 13:28:43 2010 +0100

    analysis: Use static functions when possible
    
    It's best to ensure the functions only used in one compilation unit are
    marked as static so GCC can inline them if it feels like it.

 clutter/clutter-bezier.c            |    2 +-
 clutter/cogl/cogl/cogl-clip-stack.c |    2 +-
 clutter/cogl/cogl/cogl-clip-state.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit 3161e92818366aedc106329675a7dd9ac2bffd10
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 12:18:29 2010 +0100

    analysis: Make all function declarations be protoypes
    
    It's valid C to declare a function omitting it prototype, but it seems
    to be a good practise to always declare a function with its
    corresponding prototype.

 clutter/clutter-bezier.c                 |    2 +-
 clutter/cogl/cogl/cogl-context.c         |    4 ++--
 tests/interactive/test-cogl-primitives.c |   14 +++++++-------
 tests/interactive/test-project.c         |    4 ++--
 tests/micro-bench/test-text-perf.c       |    2 +-
 5 files changed, 13 insertions(+), 13 deletions(-)

commit 83b7801e496f13ad7ecd615ce8fcd09c1fef44d4
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 09:23:26 2010 +0100

    analysis: Fix the "key-press-event" callback signature
    
    We were returning FALSE in a function declared as returning a gpointer.
    Turns out that the function should return a gboolea instead.

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

commit ec59af290cfd6813ff4df37994067de5cea2f1c4
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 09:07:11 2010 +0100

    analysis: None used in pointer context
    
    While this is totally fine (None is 0L and, in the pointer context, will
    be converted in the right internal NULL representation, which could be a
    value with some bits to 1), I believe it's clearer to use NULL instead
    of None when we talk about pointers.

 clutter/glx/clutter-backend-glx.c |   16 ++++++++--------
 clutter/x11/clutter-backend-x11.c |    2 +-
 tests/interactive/test-pixmap.c   |    2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)

commit 52a78a7220650f4d8b1da75ff942cfede1248d20
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu May 27 08:28:29 2010 +0100

    analysis: FALSE/0 used in pointer context
    
    While this is totally fine (0 in the pointer context will be converted
    in the right internal NULL representation, which could be a value with
    some bits to 1), I believe it's clearer to use NULL in the pointer
    context.
    
    It seems that, in most case, it's more an overlook than a deliberate
    choice to use FALSE/0 as NULL, eg. copying a _COGL_GET_CONTEXT (ctx, 0)
    or a g_return_val_if_fail (cond, 0) from a function returning a
    gboolean.

 clutter/clutter-actor.c                    |    2 +-
 clutter/clutter-backend.c                  |    4 ++--
 clutter/clutter-path.c                     |    2 +-
 clutter/clutter-script-parser.c            |    2 +-
 clutter/clutter-script.c                   |    4 ++--
 clutter/clutter-shader-types.c             |    6 +++---
 clutter/cogl/cogl/cogl-buffer.c            |    2 +-
 clutter/cogl/cogl/cogl-journal.c           |    2 +-
 clutter/cogl/cogl/cogl-path.c              |    4 ++--
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |    2 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c     |   14 +++++++-------
 clutter/cogl/cogl/driver/gl/cogl-program.c |    2 +-
 clutter/x11/clutter-x11-texture-pixmap.c   |    8 ++++----
 13 files changed, 27 insertions(+), 27 deletions(-)

commit 9d428278f7b073f4221113026a18aaf4a6e25420
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun May 30 15:24:18 2010 +0100

    Update git ignore file

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

commit e2fc489f0849d0295297d5702b815d853ff35135
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 27 23:40:40 2010 +0100

    buffer: Remove use of CoglHandle in the CoglBuffer API
    
    This replaces the use of CoglHandle with strongly type CoglBuffer *
    pointers instead. The only function not converted for now is
    cogl_is_buffer which will be done in a later commit.

 clutter/cogl/cogl/cogl-buffer-private.h |    1 -
 clutter/cogl/cogl/cogl-buffer.c         |   62 ++++++++++++------------------
 clutter/cogl/cogl/cogl-buffer.h         |   58 +++++++++++++++--------------
 3 files changed, 55 insertions(+), 66 deletions(-)

commit a8c8cbee5139427f4daf222e2f3b98276d1507b5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 27 23:31:40 2010 +0100

    Start eradicating the CoglHandle typedef
    
    CoglHandle is a common source of complaints and confusion because people
    expect a "handle" to be some form of integer type with some indirection
    to lookup the corresponding objects as opposed to a direct pointer.
    
    This patch starts by renaming CoglHandle to CoglObject * and creating
    corresponding cogl_object_ APIs to replace the cogl_handle ones.
    
    The next step though is to remove all use of CoglHandle in the Cogl APIs
    and replace with strongly typed pointer types such as CoglMaterial * or
    CoglTexture * etc also all occurrences of COGL_INVALID_HANDLE can just
    use NULL instead.
    
    After this we will consider switching to GTypeInstance internally so we
    can have inheritance for our types and hopefully improve how we handle
    bindings.
    
    Note all these changes will be done in a way that maintains the API and
    ABI.

 clutter/cogl/cogl/cogl-handle.h |  140 ++----------------------------
 clutter/cogl/cogl/cogl-object.h |  183 +++++++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-types.h  |   21 +++++
 clutter/cogl/cogl/cogl-util.c   |   43 +++++++---
 4 files changed, 244 insertions(+), 143 deletions(-)

commit a4fc5074faa3cda9d1c920ac94fe46e310a4ee2d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 28 18:12:53 2010 +0100

    cogl-texture-2d: Regenerate the mipmaps when the texture is modified
    
    When the texture is modified by cogl_texture_set_region, it wasn't
    setting mipmaps_dirty so it would never update the mipmaps.

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

commit d0c743787d9f430e50fdda9df1c3ad4462e79cad
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri May 28 17:11:31 2010 +0100

    texture: don't use a static bool to gate warning
    
    in create_pick_material we were using a static boolean to gate when we
    show a warning, but that would mean if the problem recurs between
    different textures then the warning will only be shown once. We now have
    a private bitfield flag instead, just so we don't spew millions of
    warnings if the problem is recurring.

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

commit 589c8d957934dfa7413395df9cdd153a379402d0
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Sep 25 19:14:40 2009 +0100

    [texture] Support picking textures according to their alpha channel
    
    This adds a boolean "pick-with-alpha" property to ClutterTexture and when
    true, it will use the textures alpha channel to define the actors shape when
    picking.
    
    Users should be aware that it's a bit more expensive to pick textures like
    this (so probably best not to blindly enable it on *all* your textures)
    since it implies rasterizing the texture during picking whereas we would
    otherwise just send a solid filled quad to the GPU.  It will also interrupt
    the internal batching of geometry for pick renders which can otherwise often
    be done in a single draw call.

 clutter/clutter-texture.c            |  243 ++++++++++++++++++++++++++++++----
 clutter/clutter-texture.h            |    4 +
 tests/conform/Makefile.am            |    1 +
 tests/conform/test-clutter-texture.c |   89 +++++++++++++
 tests/conform/test-conform-main.c    |    1 +
 5 files changed, 312 insertions(+), 26 deletions(-)

commit 8ded6663fb7e0155acb72dedbea6d490856ee156
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Sep 25 19:04:13 2009 +0100

    [material] fix _set_alpha_test_function: missing a glEnable(GL_ALPHA_TEST)
    
    Since the default alpha test function of GL_ALWAYS is equivalent to
    GL_ALPHA_TEST being disabled we don't need to worry about Enabling/Disabling
    it when flushing material state, instead it's enough to leave it always
    enabled.  We will assume that any driver worth its salt wont incur any
    additional cost for glEnable (GL_ALPHA_TEST) + GL_ALWAYS vs
    glDisable (GL_ALPHA_TEST).
    
    This patch simply calls glEnable (GL_ALPHA_TEST) in cogl_create_context

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

commit 3f64f57830b835d31c2cbce61eb854d9d055ccdd
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Sep 23 19:04:03 2009 +0100

    [texture] remove redundant if (paint_opacity == 0) bailout
    
    clutter_texture_paint shouldn't need to optimize the case where
    paint_opacity == 0 and bailout, since we've been doing this optimization for
    all actors in clutter_actor_paint for a while now.

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

commit dfe6eb1e5116603f7702e06058550def56df12ad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 27 16:32:32 2010 +0100

    test-scrolling: Use a better looking bounce easing

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

commit aa53dccfce2a425d309d7be99cd2cd6e771c92be
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 27 14:54:14 2010 +0100

    cogl-vertex-buffer: Don't disable any texture coord arrays
    
    The enabled state of the texture coord arrays is cached in the cogl
    context so there is no need to disable them when we've finished
    rendering a vbo.

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

commit 401892af1188073dc3107832b8e2e908c5c0e79e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 27 14:51:44 2010 +0100

    cogl: Record new enabled arrays in _cogl_disable_other_texcoord_arrays
    
    When _cogl_disable_other_texcoord_arrays is called it disables the
    neccessary texcoord arrays and then removes the bits for the disabled
    arrays in ctx->texcoord_arrays_enabled. However none of the places
    that call the function then set any bits in ctx->texcoord_arrays_enabled
    so the arrays would never get marked and they would never get disabled
    again.
    
    This patch just changes it so that _cogl_disable_other_texcoord_arrays
    also sets the corresponding bits in ctx->texcoord_arrays_enabled.

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

commit aab411bde4757340d5d38231d85e44136fc121ad
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 27 12:32:45 2010 +0100

    test-scrolling: Animate intermediate positions
    
    Animating intermediate positions in the viewport panning is a neat
    effect.

 tests/interactive/test-scrolling.c |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

commit b77c0c91d76f56f9c9c032ccec5c04c0ab37aeae
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 27 12:30:22 2010 +0100

    drag-action: Re-use press_button in emit_drag_end()
    
    Since emit_drag_end() can be called from a MOTION event capture we
    cannot call clutter_event_get_button(). We should, instead, use the
    press_button value because if we're emitting ::drag-end it means we
    also emitted ::drag-begin and the value is valid.

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

commit 346ebce57385eeee593ee51796274e7fbb9298e6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 16:09:47 2010 +0100

    actor: Add accessors pair for :clip-to-allocation
    
    We should have an accessors pair for the :clip-to-allocation property,
    to avoid going through the generic GObject accessors.

 clutter/clutter-actor.c                    |   56 +++++++++++++++++++++++++--
 clutter/clutter-actor.h                    |    3 +
 doc/reference/clutter/clutter-sections.txt |    2 +
 tests/interactive/test-scrolling.c         |    4 +-
 4 files changed, 58 insertions(+), 7 deletions(-)

commit 6ea56f11605005175cdbbd532fd7ebbea80c372c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 15:58:15 2010 +0100

    Add a scrolling interactive example
    
    We can use a container with :clip-to-allocation set to TRUE and a
    DragAction to create a panning viewport.

 .gitignore                         |    1 +
 tests/interactive/Makefile.am      |    3 +-
 tests/interactive/test-scrolling.c |  107 ++++++++++++++++++++++++++++++++++++
 3 files changed, 110 insertions(+), 1 deletions(-)

commit 823251c159366a566fbdae7ffff129b61a9acca4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 14:18:19 2010 +0100

    Use ClickAction in test-animation
    
    Instead of using ::button-press-event.

 tests/interactive/test-animation.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 5677cf671cbca78361c3a4606790d8dcc6ddbc40
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 14:16:48 2010 +0100

    actor: Fix a type check thinko in add_action_with_name()

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

commit 09659ea18d0b534ba9645cbf05ca510aa702ebcf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 14:09:24 2010 +0100

    docs: Description fixes for Action and Constraint

 clutter/clutter-action.c     |   14 ++++++++------
 clutter/clutter-actor-meta.c |    1 +
 clutter/clutter-constraint.c |    6 +++++-
 3 files changed, 14 insertions(+), 7 deletions(-)

commit 9510cbbad290cc8edd3b602991e57f98989a86ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 13:43:42 2010 +0100

    state: Minor fixes and documentation additions
    
    Clean up the code a bit, and move common code paths into separate
    function. Also, document clutter_state_set() with examples.

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

commit 7a299e9b470f3feb9e8cb674815ebfd288d638f5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 26 13:40:18 2010 +0100

    introspection: Add --pkg atk
    
    We need to tell the introspection scanner all the dependencies we
    require, including the pkg-config name to use when compiling the
    GIR file into a typelib object.

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

commit e2bbf7f3620899b3283b4d76879d01a599733144
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 13:27:29 2010 +0100

    click-action: Handle the event
    
    In case we did handle the event, we should return TRUE from the ::event
    signal handler.

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

commit cfb05bfb097fc5a9b61fed0f855792b6c8064822
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 13:10:38 2010 +0100

    docs: Fix DragAction documentation
    
    The ::drag-motion signal does not have a ModifierType argument; also,
    there's no need to connect to the ::drag-motion signal any more.

 clutter/clutter-drag-action.c |   34 +++++++++++-----------------------
 clutter/clutter-drag-action.h |    3 +--
 2 files changed, 12 insertions(+), 25 deletions(-)

commit 5a531bd1c9324704bac315bb53e907f9867f5a4e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 13:03:24 2010 +0100

    Fix typo in get_accessible()

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

commit 7bf93e3e84716a486073194e1fc7a87cb483ab8a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 12:54:59 2010 +0100

    actor: Put get_accessible() at the end of the class structure
    
    New virtual functions cannot go wherever they want, if we need to
    preserve the ABI.
    
    Also, the coding style should match the rest of ClutterActor and
    Clutter's own coding style.

 clutter/clutter-actor.c |   29 ++++++++++-------------------
 clutter/clutter-actor.h |    8 ++++----
 2 files changed, 14 insertions(+), 23 deletions(-)

commit b0c0f24bd22aeb8cbb333b99c44a5631966956f0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 11:53:59 2010 +0100

    docs: Add ClickAction to the API reference
    
    And clean up the reference index.

 doc/reference/clutter/clutter-docs.xml.in  |    7 ++-
 doc/reference/clutter/clutter-sections.txt |   20 ++++++++
 doc/reference/clutter/clutter.types        |   74 ++++++++++++++--------------
 3 files changed, 61 insertions(+), 40 deletions(-)

commit 7c627e1e0381082aafc2b8acc1fdc7d149c4b3f5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 11:30:17 2010 +0100

    actor-meta: Disconnect on actor destroy
    
    When destroying an Actor the various ActorMeta instance should already
    be disposed - unless something is holding a reference to them, in which
    case we should use the ::destroy signal to unset the ActorMeta:actor
    back pointer.

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

commit f6fce05ee94320db0ffbf4eab12e5fd86777ac92
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 10:41:19 2010 +0100

    action: Add ClickAction
    
    ClickAction adds "clickable" semantics to an actor. It provides all
    the business logic to emit a high-level "clicked" signal from the
    various low-level signals inside ClutterActor.

 clutter/Makefile.am            |    2 +
 clutter/clutter-click-action.c |  309 ++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-click-action.h |   97 +++++++++++++
 clutter/clutter.h              |    1 +
 4 files changed, 409 insertions(+), 0 deletions(-)

commit 728e2d807102131fa1dedd646016cccb9d4e6128
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 25 11:01:46 2010 +0100

    drag: Add a default drag-motion behaviour
    
    The DragAction should, by default, drag the actor to which it has been
    applied, instead of delegating what to do to the developer. If custom
    code need to override it, g_signal_stop_emission_by_name() can be called
    to stop the default handler to ever running.

 clutter/clutter-drag-action.c |   25 +++++++++++++++++++++++++
 tests/interactive/test-drag.c |   16 ----------------
 2 files changed, 25 insertions(+), 16 deletions(-)

commit d2e91c99351c820787382efc97c3465b5ab1be7f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 16:57:35 2010 +0100

    Post-release version bump to 1.3.3

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

commit cc907a99c9aa03709dd1ee66c461fc6cb6c30e57
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 16:50:36 2010 +0100

    Release 1.3.2 (snapshot)

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

commit 4dd5088fe29253c7479fbc54d22055994a8dd0e5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 16:46:38 2010 +0100

    docs: Add Actor.get_accessible() to the API reference

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

commit 171282bd0f4d39111185bd12854471de4804072c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 16:12:47 2010 +0100

    docs: Update NEWS

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

commit 8f0b70a9eebf760e42d635dfe4b7347d3701debf
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Mon May 24 15:39:01 2010 +0100

    state: replaced test with a more complex one

 tests/interactive/test-state.c |  167 ++++++++++++++++++++++++++++++----------
 1 files changed, 126 insertions(+), 41 deletions(-)

commit 49a4c623197e8d6a639a98b4aa56922c7b9b3255
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Mon May 24 16:10:00 2010 +0100

    state: fix clutter_state_change (state, "state-name", FALSE)
    
    Properties were not being updated correctly.

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

commit 380e7b8b5d0f3a12e8132a24c637151cc0f07261
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 24 12:40:11 2010 +0100

    cogl: Use a CoglBitmask to store the list of used texcoord arrays
    
    Instead of directly using a guint32 to store a bitmask for each used
    texcoord array, it now stores them in a CoglBitmask. This removes the
    limitation of 32 layers (although there are still other places in Cogl
    that imply this restriction). To disable texcoord arrays code should
    call _cogl_disable_other_texcoord_arrays which takes a bitmask of
    texcoord arrays that should not be disabled. There are two extra
    bitmasks stored in the CoglContext which are used temporarily for this
    function to avoid allocating a new bitmask each time.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

 clutter/cogl/cogl/cogl-context.c       |    8 +++++-
 clutter/cogl/cogl/cogl-context.h       |    8 +++++-
 clutter/cogl/cogl/cogl-internal.h      |    5 +++-
 clutter/cogl/cogl/cogl-journal.c       |    7 ++---
 clutter/cogl/cogl/cogl-path.c          |    3 +-
 clutter/cogl/cogl/cogl-primitives.c    |    7 ++---
 clutter/cogl/cogl/cogl-vertex-buffer.c |   10 ++++---
 clutter/cogl/cogl/cogl.c               |   41 ++++++++++++++++++--------------
 8 files changed, 55 insertions(+), 34 deletions(-)

commit 218efd0b6222abf14b48f467bfd3134e5b952fa2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 20 17:31:42 2010 +0100

    cogl: Add an internal CoglBitmask type
    
    This implements a growable array of bits called CoglBitmask. The
    CoglBitmask is intended to be cheap if less than 32 bits are used. If
    more bits are required it will allocate a GArray. The type is meant to
    be allocated on the stack but because it can require additional
    resources it also has a destroy function.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

 clutter/cogl/cogl/Makefile.am    |    2 +
 clutter/cogl/cogl/cogl-bitmask.c |  257 ++++++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-bitmask.h |  223 +++++++++++++++++++++++++++++++++
 3 files changed, 482 insertions(+), 0 deletions(-)

commit 889dcee3844ac0fdfbf19b583e043e1cbb9af4a4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 20 00:40:24 2010 +0100

    cogl-material: Fix the count of the number of layers
    
    Previously the counter for the number of layers was only updated
    whenever the texture handle for a layer changes. However there are
    many other ways for a new layer to be created for example by setting a
    layer combine constant. Also by default the texture on a layer is
    COGL_INVALID_HANDLE so if the application tries to create an explicit
    layer with no texture by calling cogl_material_set_layer with
    COGL_INVALID_HANDLE then it also wouldn't update the count.
    
    This patch fixes that by incrementing the count in
    cogl_material_get_layer instead. This function is called by all
    functions that may end up creating a layer so it seems like the most
    appropriate place.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

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

commit ae0354e9ba6e59a681e27e46c5a2cf98d33687f0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 20 00:16:49 2010 +0100

    cogl-vertex-buffer: Don't disable layers with no texture coords
    
    It should be quite acceptable to use a texture without defining any
    texture coords. For example a shader may be in use that is doing
    texture lookups without referencing the texture coordinates. Also it
    should be possible to replace the vertex colors using a texture layer
    without a texture but with a constant layer color.
    
    enable_state_for_drawing_buffer no longer sets any disabled layers in
    the overrides. Instead of counting the number of units with texture
    coordinates it now keeps them in a mask. This means there can now be
    gaps in the list of enabled texture coordinate arrays. To cope with
    this, the Cogl context now also stores a mask to track the enabled
    arrays. Instead of code manually iterating each enabled array to
    disable them, there is now an internal function called
    _cogl_disable_texcoord_arrays which disables a given mask.
    
    I think this could also fix potential bugs when a vertex buffer has
    gaps in the texture coordinate attributes that it provides. For
    example if the vertex buffer only had texture coordinates for layer 2
    then the disabling code would not disable the coordinates for layers 0
    and 1 even though they are not used. This could cause a crash if the
    previous data for those arrays is no longer valid.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

 clutter/cogl/cogl/cogl-context.c       |    2 +-
 clutter/cogl/cogl/cogl-context.h       |    3 +-
 clutter/cogl/cogl/cogl-internal.h      |    3 ++
 clutter/cogl/cogl/cogl-journal.c       |   14 ++++--------
 clutter/cogl/cogl/cogl-path.c          |    9 +------
 clutter/cogl/cogl/cogl-primitives.c    |   13 +++--------
 clutter/cogl/cogl/cogl-vertex-buffer.c |   21 +++++--------------
 clutter/cogl/cogl/cogl.c               |   33 +++++++++++++++++++++++++------
 8 files changed, 49 insertions(+), 49 deletions(-)

commit 70abe3dd8abab74d86b8a3b90753f822a0507d04
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 19 23:42:40 2010 +0100

    test-cogl-materials: Test invalid layers with a constant color
    
    This adds a test using a layer with no texture but that replaces the
    fragment color with the layer constant. This currently causes the test
    to fail.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

 tests/conform/test-cogl-materials.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

commit ff7ce2c5b290edcd9c44a60eb0bcc9b77f56827d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 19 23:36:18 2010 +0100

    test-cogl-materials: Run the 'all layers' test with different prims
    
    The drawing code from test_invalid_texture_layers which draws a
    rectangle, a polygon and a vertex buffer has been split out to
    separate function. test_using_all_layers now also uses this so that it
    will also test the other two primitives. This causes the test to fail
    when all of the layers are drawn using a vertex buffer.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2132

 tests/conform/test-cogl-materials.c |   47 ++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 22 deletions(-)

commit a59bd4cfbb08501a9ba6ccf8061ee461b2271a17
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date:   Tue Apr 13 13:23:15 2010 +0200

    Implement AtkImplementor on ClutterActor
    
    Implements AtkImplementor interface on ClutterActor, and his method
    atk_implementor_ref_accessible.
    
    More information:
    http://library.gnome.org/devel/atk/stable/AtkObject.html#AtkImplementor

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

commit 6a313ec2e2c227448ee83e6610ef78d1d0fe14a0
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date:   Mon Apr 12 20:10:24 2010 +0200

    Implemented clutter_actor_get_accessible
    
    Added the implementation for clutter_actor_get_accessible, virtual
    ClutterActor function, used to obtain the accessible object of
    any ClutterActor.
    
    As it is defined virtual, it would be possible to redefine it, so
    any custom clutter actor could implement their accessibility object,
    withouth relying totally on a accessibility implementation module.
    
    See gtkiconview as example.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2070

 clutter/clutter-actor.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-actor.h |   10 +++++++++-
 2 files changed, 54 insertions(+), 1 deletions(-)

commit fd584e18418166542c0e75b75a263060c8ce4634
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date:   Mon Apr 12 19:34:06 2010 +0200

    Added Atk dependency
    
    Added Atk dependency, in order to implement a built-in
    accessibility support on Clutter.

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

commit 5f6a3d2543ff583c5f4d07c2b1e668f3cfe10841
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 15:34:43 2010 +0100

    build: Remove shave files from EXTRA_DIST
    
    We don't use Shave any more, and require automake 1.11 instead.

 build/autotools/Makefile.am |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 173e497ff4cf32ee6debbd065e25462b2bc4dbb7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 15:14:09 2010 +0100

    state: Use Interval.compute() instead of compute_value()
    
    Use the newly-added compute() variant to avoid creating a GValue only
    for getting it copied by g_object_set_property().

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

commit af84d97fca671ba5db0bd912eec665f9318aabc3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 15:06:14 2010 +0100

    interval: Add a pointer variant to compute_value()
    
    ClutterInterval.compute_value() computes the new value given a progress
    and copies it to a given GValue. Since most of the time we want to pass
    that very same value to another function that copies it again, we should
    have a compute_value() variant that stores that computed value inside
    ClutterInterval and returns a pointer to it. This way we initialize the
    result GValue just once and we never copy it, as long as the Interval
    instance is valid.

 clutter/clutter-interval.c                 |   73 +++++++++++++++++++++++++---
 clutter/clutter-interval.h                 |    3 +
 doc/reference/clutter/clutter-sections.txt |    3 +-
 3 files changed, 70 insertions(+), 9 deletions(-)

commit 489c16c6a6842084c8bd10597b7b0bbcc69ff5af
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 14:20:23 2010 +0100

    docs: Align parameter names between header and source code

 clutter/clutter-state.c                    |  131 ++++++++++++++--------------
 clutter/clutter-state.h                    |   34 ++++----
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 85 insertions(+), 81 deletions(-)

commit 07ffa015ab388e5f5fdcb41fc0a2fa92fd98e0bc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 12:00:43 2010 +0100

    docs: Add ClutterState to the API reference

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

commit 382bd394b92cd0abcc7cfbfae31dccf162aea7e8
Merge: 254e8d0 9fcbb27
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 24 10:42:03 2010 +0100

    Merge branch 'wip/state-machine'
    
    * wip/state-machine:
      Do not use wildcards in test-state
      script: Implement State deserialization
      state: added a "target-state" property
      state: documented data structures
      Add State interactive tests to the ignore file
      state: Documentation and introspection annotation fixes
      state: Minor coding style fixes
      state: Clean up the header's documentation
      state: Constify StateKey accessors
      Do not include clutter.h from a Clutter header file
      state-machine: made clutter_state_change take a boolean animate argument
      state-machine: use clutter_timeline_get_progress
      state-machine: add completed signal
      state machine: added state machine
    
    Conflicts:
    	.gitignore

commit 254e8d0fe585bb7de0798dd8063470d2aa1c60a5
Merge: 5e3dc55 9ebd5fd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 21 14:38:37 2010 +0100

    Merge branch 'wip/framebuffer-bits'
    
    * wip/framebuffer-bits:
      Implement accessors for the color bits in a framebuffer

commit 9fcbb274e01e4fb5df2d08fddfdfd3b91fe63e4e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 21 14:22:56 2010 +0100

    Do not use wildcards in test-state
    
    Use named states, like in a real case.

 tests/conform/test-state.c   |    6 +++---
 tests/data/test-state-1.json |    4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 6ca425679ea27c7fe2bc8e455b8d55785200841e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 21 14:13:14 2010 +0100

    script: Implement State deserialization
    
    It should be possible to describe ClutterState transitions using
    ClutterScript in a similar way as ClutterAnimator.

 .gitignore                        |    1 +
 clutter/clutter-state.c           |  296 ++++++++++++++++++++++++++++++++++--
 tests/conform/Makefile.am         |    1 +
 tests/conform/test-conform-main.c |    1 +
 tests/conform/test-state.c        |   59 ++++++++
 tests/data/Makefile.am            |    1 +
 tests/data/test-state-1.json      |   33 ++++
 7 files changed, 375 insertions(+), 17 deletions(-)

commit 5e3dc55666c345a6a17dc3ae082c0ee1de3ae82a
Merge: bb2d088 6567800
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 21 10:55:09 2010 +0100

    Merge branch 'wip/constraints'
    
    * wip/constraints: (24 commits)
      Add the Cogl API reference to the fixxref extra directories
      Document the internal MetaGroup class
      Remove the construct-only flag from ActorMeta:name
      doc: Remove gtk-doc annotations from the json-glib copy
      doc: Fix parameter documentation
      Add named modifiers for Action and Constraint
      Remove a redundant animation
      Set the stage resizable in test-constraints
      Use a 9 grid for the constraints test
      Miscellaneous documentation fixes
      docs: Document animating action and constraint properties
      docs: Document BindConstraint and AlignConstraint
      constraint: Rename BindConstraint:bind-axis
      constraints: Add AlignConstraint
      tests: Add a constraints interactive test
      constraint: Add BindConstraint
      actor: Implement Animatable
      animation: Use the new Animatable API for custom properties
      animatable: Add custom properties to Animatable
      constraint: Add ClutterConstraint base class
      ...
    
    Conflicts:
    	configure.ac

commit d156550633a4fc7580d6e06b726845fb414f7196
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Fri May 21 10:37:42 2010 +0100

    state: added a "target-state" property
    
    When set the ClutterState transitions to the new state.

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

commit 9c4467707f13e3f6f780d6f88ee1da5929e39f56
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Thu May 20 23:05:16 2010 +0100

    state: documented data structures

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

commit 84f165b460bcadf83f4174368e047d5c53f95b24
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 18:58:30 2010 +0100

    Add State interactive tests to the ignore file

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

commit ae3dc9bd5ebf0ea3350d458c5560e9cd6aff9fe1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 18:57:27 2010 +0100

    state: Documentation and introspection annotation fixes

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

commit c2abb827a36db1d8db0518ea2b144bc971d23ee0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 18:34:34 2010 +0100

    state: Minor coding style fixes

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

commit 9fafc93c5d241313d70b0451b2529f4fd30acd14
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 17:46:52 2010 +0100

    state: Clean up the header's documentation

 clutter/clutter-state.h |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

commit 3f36b4a8419e1dfbaaf1008e636d18c93fe2cb66
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 17:34:36 2010 +0100

    state: Constify StateKey accessors
    
    Since the accessors do not modify the StateKey we should constify the
    argument.

 clutter/clutter-state.c |  179 ++++++++++++++++++++++++++++++-----------------
 clutter/clutter-state.h |   20 +++---
 2 files changed, 126 insertions(+), 73 deletions(-)

commit 5c74f990d6e388aaa7041469dbed7b4cd80242c3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 17:34:02 2010 +0100

    Do not include clutter.h from a Clutter header file
    
    Clutter header files should just include the needed headers.

 clutter/clutter-state.c |   10 ++++++++--
 clutter/clutter-state.h |   30 ++++++++----------------------
 2 files changed, 16 insertions(+), 24 deletions(-)

commit bb2d088cb1c9c1341dc70c4b779bc6ccb57f10e2
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 20 14:54:44 2010 +0100

    math: Adds an experimental cogl_vector3_* API
    
    This adds a math utility API for handling 3 component, single precision
    float vectors with the following; mostly self explanatory functions:
    
    cogl_vector3_init
    cogl_vector3_init_zero
    cogl_vector3_equal
    cogl_vector3_equal_with_epsilon
    cogl_vector3_copy
    cogl_vector3_free
    cogl_vector3_invert
    cogl_vector3_add
    cogl_vector3_subtract
    cogl_vector3_multiply_scalar
    cogl_vector3_divide_scalar
    cogl_vector3_normalize
    cogl_vector3_magnitude
    cogl_vector3_cross_product
    cogl_vector3_dot_product
    cogl_vector3_distance
    
    Since the API is experimental you will need to define
    COGL_ENABLE_EXPERIMENTAL_API before including cogl.h if you want to use
    the API.

 clutter/cogl/cogl/Makefile.am        |    2 +
 clutter/cogl/cogl/cogl-vector.c      |  284 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-vector.h      |  367 ++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl.h             |    2 +
 doc/reference/cogl/cogl-docs.xml.in  |    1 +
 doc/reference/cogl/cogl-sections.txt |   20 ++
 6 files changed, 676 insertions(+), 0 deletions(-)

commit 1dc8c0ff05f683ae6522e27965571742fc1a4dbf
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Thu May 20 16:13:46 2010 +0100

    state-machine: made clutter_state_change take a boolean animate argument
    
    Most of the time this will be TRUE, pass FALSE to change to the target
    state immediately.

 clutter/clutter-state.c                 |  102 +++----------------------------
 clutter/clutter-state.h                 |    8 +--
 tests/interactive/test-state-animator.c |    6 +-
 tests/interactive/test-state.c          |   10 ++--
 4 files changed, 19 insertions(+), 107 deletions(-)

commit 54bd5412706733e9af576ed3998d87cb138846e7
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Thu May 20 15:41:29 2010 +0100

    state-machine: use clutter_timeline_get_progress

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

commit 8761b279a715167fc87194c14efe00f10bba2bf9
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 12 17:03:25 2010 +0100

    state-machine: add completed signal
    
    Added a completed signal to the animator

 clutter/clutter-state.c        |   54 ++++++++++++++++++++++++++++++++++++---
 clutter/clutter-state.h        |    6 +++-
 tests/interactive/test-state.c |    7 +++++
 3 files changed, 61 insertions(+), 6 deletions(-)

commit fcdc3a8989dee335bec5788c5fbe785e41acd70b
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Tue May 11 15:04:34 2010 +0100

    state machine: added state machine

 clutter/Makefile.am                     |    2 +
 clutter/clutter-state.c                 | 1310 +++++++++++++++++++++++++++++++
 clutter/clutter-state.h                 |  156 ++++
 clutter/clutter.h                       |    1 +
 tests/interactive/Makefile.am           |    2 +
 tests/interactive/test-state-animator.c |  134 ++++
 tests/interactive/test-state.c          |   97 +++
 7 files changed, 1702 insertions(+), 0 deletions(-)

commit 78325a34db372ddcd0c60197645d208108265119
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 16:19:25 2010 +0100

    cookbook: Add a recipe for CairoTexture
    
    The Clutter cookbook has a chapter for textures. It would be useful to
    provide a recipe on simple uses of ClutterCairoTexture as part of that.
    
    Some suggested content is attached.

 doc/cookbook/clutter-cookbook.xml.in |  151 +++++++++++++++++++++++++++++++++-
 1 files changed, 147 insertions(+), 4 deletions(-)

commit 5b2311aed736ac90865f16466d273bf8f9d01a70
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 20 12:37:56 2010 +0100

    cogl-texture-2d: Optimise _cogl_texture_2d_is_pot
    
    This takes the simple algorithm from here:
    
    http://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2
    
    This avoids a loop and is much faster.

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

commit 65678006a8763361d2b9b00b12a0deee90c1d580
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 12:03:47 2010 +0100

    Add the Cogl API reference to the fixxref extra directories

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

commit cc4729d42f9e67d826c4af41b8ac8c50197dcb97
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 12:03:10 2010 +0100

    Document the internal MetaGroup class
    
    Just because it's an internal class, ClutterMetaGroup should not be left
    undocumented.

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

commit 1b0be8e3b98ea9c76155eabe27096f2a559eed5c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 12:02:13 2010 +0100

    Remove the construct-only flag from ActorMeta:name
    
    The ClutterActorMeta:name property should be read-write, and be
    writeable at any time.

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

commit c75a6b1a1d63f5b68a878f1a8724586ad56fd3dd
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 11:45:54 2010 +0100

    doc: Remove gtk-doc annotations from the json-glib copy
    
    There's no need to use gtk-doc annotations: the API is internal to
    Clutter.

 clutter/json/json-array.c     |   52 +++++++++++++++++++-------------------
 clutter/json/json-generator.c |   18 ++++++------
 clutter/json/json-node.c      |   56 ++++++++++++++++++++--------------------
 clutter/json/json-object.c    |   56 ++++++++++++++++++++--------------------
 clutter/json/json-parser.c    |   32 +++++++++++-----------
 5 files changed, 107 insertions(+), 107 deletions(-)

commit 80a8568e0e72db27776f9bdd22cf331ffcd2ba74
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 11:45:25 2010 +0100

    doc: Fix parameter documentation

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

commit 7ce26939447327f8d87be5015ddec48b70c5c442
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu May 20 11:19:51 2010 +0100

    Add named modifiers for Action and Constraint
    
    The ClutterActor API should have modifier methods for adding, removing
    and retrieving Actions and Constraints using the ClutterActorMeta:name
    property - mostly, for convenience.

 clutter/clutter-action.h                   |   19 ++-
 clutter/clutter-actor.c                    |  182 ++++++++++++++++++++++++++++
 clutter/clutter-constraint.h               |   19 ++-
 doc/reference/clutter/clutter-sections.txt |    6 +
 tests/interactive/test-constraints.c       |   12 +--
 5 files changed, 218 insertions(+), 20 deletions(-)

commit 4dc91339c308395997aee5330a2630c57fa8037c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 18:23:29 2010 +0100

    Remove a redundant animation

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

commit 86a773536f9b31db1ac4cd6c74a4e4f790041d8f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 18:20:27 2010 +0100

    Set the stage resizable in test-constraints
    
    To demonstrate that constraints can be used to reposition actors in a
    resizable stage, set the :user-resizable property to TRUE, and spend the
    next 15 minutes playing with the stage size.

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

commit 5d1b18669b94afc68389bd75771f21cedd4e0d88
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 18:17:49 2010 +0100

    Use a 9 grid for the constraints test
    
    Let's complicate the interactive constraints test a little bit by adding
    more actors and animating two constraints at a time.

 tests/interactive/test-constraints.c |  156 ++++++++++++++++++++++------------
 1 files changed, 102 insertions(+), 54 deletions(-)

commit 6457f66976c68abf1b131841356cebbfa7dad655
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 16:10:05 2010 +0100

    Miscellaneous documentation fixes

 clutter/clutter-action.c                   |    2 +-
 clutter/clutter-actor-meta.c               |    2 +-
 clutter/clutter-align-constraint.c         |    2 +-
 clutter/clutter-animatable.c               |   35 +++++++
 clutter/clutter-animatable.h               |   13 ++-
 clutter/clutter-animation.c                |    6 +-
 clutter/clutter-animator.c                 |    2 +-
 clutter/clutter-bind-constraint.c          |    2 +-
 clutter/clutter-box-layout.c               |    2 +-
 clutter/clutter-constraint.c               |   12 +++
 clutter/clutter-constraint.h               |   13 +--
 clutter/clutter-drag-action.c              |    2 +-
 clutter/clutter-event.h                    |    2 +-
 clutter/clutter-media.h                    |    1 +
 clutter/clutter-stage-manager.h            |    4 -
 configure.ac                               |    6 +-
 doc/reference/clutter/Makefile.am          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |   11 ++
 doc/reference/clutter/clutter-sections.txt |  139 +++++++++++++++++++++++++++-
 doc/reference/clutter/clutter.types        |    6 +
 20 files changed, 232 insertions(+), 31 deletions(-)

commit ee7ebe096e3b7c0b0ce5dbadedc7674bb480266e
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 13 15:27:06 2009 +0100

    Stubs out _cogl_xlib_handle_event
    
    This stubs out an xlib event handling mechanism for Cogl. The intention
    is for Clutter to use this to forward all x11 events to Cogl. As we move
    winsys functionality down into Cogl, Cogl will become responsible for
    handling a number of X events: ConfigureNotify events for onscreen
    framebuffers, swap events and Damage events for cogl_x11_texture_pixmap.

 clutter/cogl/cogl/Makefile.am        |    6 ++-
 clutter/cogl/cogl/cogl-internal.h    |   39 ++++++++++++++++++++++++
 clutter/cogl/cogl/winsys/cogl-xlib.c |   54 ++++++++++++++++++++++++++++++++++
 3 files changed, 97 insertions(+), 2 deletions(-)

commit 52acc71161532126d6c67923befadb18c1836932
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 15:09:47 2010 +0100

    docs: Document animating action and constraint properties
    
    Add a refsect for the syntax to be used when animating action and
    constraint properties with ClutterAnimation.

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

commit f2f2e9b7e63fc4087a80a6dfec4a9df7d2f79215
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Oct 8 12:08:21 2009 +0100

    build: expose automake conditionals for cogl winsys
    
    Expose the ./configured window system/backend options to the Cogl
    automake files via some new SUPPORT_XYZ conditionals.

 clutter/Makefile.am           |    4 ++--
 clutter/cogl/cogl/Makefile.am |   38 +++++++++++++++++++++++++-------------
 configure.ac                  |   16 +++++++++++++++-
 3 files changed, 42 insertions(+), 16 deletions(-)

commit a29d1b799aa09ea7a9b85ceabe76fc511df50618
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Oct 13 15:27:06 2009 +0100

    configure.ac: Adds some COGL_HAS_XYZ_SUPPORT defines
    
    This exposes the ./configured window system/backend options to Cogl via
    a set of new COGL_HAS_XYZ_SUPPORT defines:
    
    COGL_HAS_{X11,XLIB,GLX,EGL,EGL_PLATFORM_XYZ,OSX,WIN32,WGL}_SUPPORT

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

commit 9f7e4b2b6412c1733200f50eedaf67b53c19ec54
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 14:46:02 2010 +0100

    docs: Document BindConstraint and AlignConstraint
    
    Add the missing gtk-doc annotations for BindConstraint and
    AlignConstraint, plus the licensing blurb.

 clutter/clutter-align-constraint.c |   78 +++++++++++++++++++++++++++++++++++-
 clutter/clutter-align-constraint.h |   42 +++++++++++++++++++
 clutter/clutter-bind-constraint.h  |   18 ++++++++
 3 files changed, 137 insertions(+), 1 deletions(-)

commit e9b93d5676237e94975fb22824827a8f7153da4d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 14:34:18 2010 +0100

    constraint: Rename BindConstraint:bind-axis
    
    We're not binding an axis: we're really binding a coordinate of an actor
    to the coordinate of another one.

 clutter/clutter-bind-constraint.c    |  126 ++++++++++++++++++++++++++--------
 clutter/clutter-bind-constraint.h    |   38 ++++++++--
 tests/interactive/test-constraints.c |   16 +++--
 3 files changed, 140 insertions(+), 40 deletions(-)

commit f857457b9d01cbbc5b59609e28b2e6a3fd0c3636
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 13:02:43 2010 +0100

    constraints: Add AlignConstraint
    
    AlignConstraint is a simple constraint that keeps an actor's position
    aligned to the width or height of another actor, multiplied by an
    alignment factor.

 clutter/Makefile.am                  |    2 +
 clutter/clutter-align-constraint.c   |  259 ++++++++++++++++++++++++++++++++++
 clutter/clutter-align-constraint.h   |   31 ++++
 clutter/clutter.h                    |    1 +
 tests/interactive/test-constraints.c |   12 --
 5 files changed, 293 insertions(+), 12 deletions(-)

commit 56e8e7d62f782266d510ff52269507a9d7796b93
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 12:27:09 2010 +0100

    tests: Add a constraints interactive test
    
    Show how to use constraints and how to animate them.

 .gitignore                           |    1 +
 tests/interactive/Makefile.am        |    3 +-
 tests/interactive/test-constraints.c |  138 ++++++++++++++++++++++++++++++++++
 3 files changed, 141 insertions(+), 1 deletions(-)

commit 769e964424f4de41b7e875b8a08a2bd17fdd2f70
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 12:25:28 2010 +0100

    constraint: Add BindConstraint
    
    The BindConstraint object is a constraint that binds the current
    position of an actor on a given axis to the actor that has the
    constraint applied.

 clutter/Makefile.am               |    2 +
 clutter/clutter-bind-constraint.c |  267 +++++++++++++++++++++++++++++++++++++
 clutter/clutter-bind-constraint.h |   32 +++++
 clutter/clutter.h                 |    1 +
 4 files changed, 302 insertions(+), 0 deletions(-)

commit 29257af30c08eeb06089aebb460baacbfd78a052
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 12:23:57 2010 +0100

    actor: Implement Animatable
    
    By implementing the newly added support for custom animatable
    properties, we can allow addressing action and constraint properties
    from ClutterAnimation and clutter_actor_animate().

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

commit d9a05ac94b453ec2a4e6313aa587d2194e46cfb1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 12:22:48 2010 +0100

    animation: Use the new Animatable API for custom properties
    
    The Animation class should use the Animatable API for custom properties
    to override finding a property definition, getting the initial state and
    setting the final state of an object.

 clutter/clutter-animation.c |  154 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 122 insertions(+), 32 deletions(-)

commit 3a1162cbcffd4147f3022b3241101e3269a54169
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 19 12:21:54 2010 +0100

    animatable: Add custom properties to Animatable
    
    Like ClutterScriptable, it would be good to have the Animatable
    interface allow defining custom properties that can be animated.

 clutter/clutter-animatable.c |   63 ++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-animatable.h |   51 ++++++++++++++++++++++++---------
 2 files changed, 100 insertions(+), 14 deletions(-)

commit b842f0ad8edacae353facf33b9ad3d43b02a60af
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 14 12:13:49 2010 +0100

    constraint: Add ClutterConstraint base class
    
    The Constraint base, abstract class should be used to implement Actor
    modifiers that affect the way an actor is sized or positioned inside a
    fixed layout manager.

 clutter/Makefile.am          |    2 +
 clutter/clutter-actor.c      |  138 +++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-constraint.c |   21 ++++++
 clutter/clutter-constraint.h |  100 ++++++++++++++++++++++++++++++
 clutter/clutter-types.h      |    5 +-
 clutter/clutter.h            |    1 +
 6 files changed, 264 insertions(+), 3 deletions(-)

commit b0cc98fdceb7f2ba8bc377c085216cabc6232980
Author: Brian Tarricone <brian@kakai.com>
Date:   Thu Mar 25 20:55:31 2010 -0700

    eglx: implement cogl_get_proc_address()
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2124

 clutter/cogl/cogl/winsys/cogl-eglx.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 36903dfdcc0c549972a95056b6d7e417d207ca24
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 18 17:25:25 2010 +0100

    eglx: Rename EGLNative{Window,Display}Type back to Native{Window,Display}Type
    
    Commit e2a990d renamed these types to new names from EGL 1.3. However
    it still works to use the old names under EGL 1.3 so let's just use
    those to keep compatibility.

 clutter/eglx/clutter-backend-egl.c |    4 ++--
 clutter/eglx/clutter-stage-egl.c   |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 4b239e1fe89d6f9c20c930f1cad4bdfcca88aa32
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 18 17:08:12 2010 +0100

    clutter-backend-egl: Chain up in dispose before destroying the context
    
    clutter_backend_egl_dispose now chains up before disposing its own
    resources so that ClutterBackendX11 will destroy all of the stages
    before we destroy the egl context. Otherwise the actors may try to
    make GL calls during destruction which causes a crash.

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

commit 6c3d1cfab9d21cd638854e0900d8bc17c4ebce9e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 18 16:51:46 2010 +0100

    clutter-stage-egl.c: Don't call eglWait*()
    
    According to the docs, eglSwapBuffers performs an implicit glFlush
    before swapping so there should be no need to wait.

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

commit 871683abd3699716e04f54b8f4e0693599b19907
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 18 15:52:05 2010 +0100

    test-cogl-materials: Fix compilation under GLES 2
    
    GLES 2 doesn't have GL_MAX_TEXTURE_UNITS. Instead the cogl backend
    uses GL_MAX_TEXTURE_IMAGE_UNITS with a maximum limit of 16. The same
    restriction is now used in the test.

 tests/conform/test-cogl-materials.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit c4ae1a55fa88cb01839b939220f7d1bd8a251ace
Author: Brian Tarricone <brian@kakai.com>
Date:   Thu Mar 25 19:44:37 2010 -0700

    fix case when EGL driver doesn't support EGL_NATIVE_VISUAL_ID
    
    Some EGL drivers, such as the PowerVR simulator (and some proprietary drivers)
    return zero when the EGLConfig is queried for the EGL_NATIVE_VISUAL_ID
    attribute via eglGetConfigAttrib().
    
    This patch detects and attempts to work around that situation by picking a
    visual with the same color depth.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2123

 clutter/eglx/clutter-backend-egl.c |   37 +++++++++++++++++++++++++++++------
 1 files changed, 30 insertions(+), 7 deletions(-)

commit 26b061c3a80a81ec1fb19f61770ad4f6c3df40c1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 5 17:30:00 2010 +0100

    clutter-backend-egl: Create a dummy X window and EGL surface
    
    After the EGL context is created it now also creates an invisible 1x1
    window and a corresponding surface so that the context can be
    immediately made current. This is similar to changes for the GLX
    backend introduced in d2c091e62.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2056

 clutter/eglx/clutter-backend-egl.c |   80 ++++++++++++++++++++++++++++++++++--
 clutter/eglx/clutter-backend-egl.h |    2 +
 2 files changed, 78 insertions(+), 4 deletions(-)

commit e2a990dfd54761d147aec8b751ca6f5c29233652
Author: Brian Tarricone <brian@kakai.com>
Date:   Thu Mar 25 19:37:26 2010 -0700

    update backend to use lazy context/stage creation
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2056

 clutter/eglx/clutter-backend-egl.c |  171 +++++++++++++++++------
 clutter/eglx/clutter-backend-egl.h |    3 +-
 clutter/eglx/clutter-stage-egl.c   |  278 ++++++++++++-----------------------
 clutter/eglx/clutter-stage-egl.h   |    3 +
 4 files changed, 229 insertions(+), 226 deletions(-)

commit 07880d8b7426c84ace18cb1dceda6998cfc84f99
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue May 18 13:55:18 2010 +0100

    configure: Check the result of AM_PATH_GLIB_2_0
    
    The AM_PATH_GLIB_2_0 doesn't automatically cause the configure script
    to fail if the test fails. This wouldn't usually cause any problems
    because we later check for the right glib version using
    PKG_CHECK_MODULES directly. However AM_PATH_GLIB_2_0 is more thorough
    when checking because it also tries to run a program against the
    library to read the version. If the macro fails but the pkg-config
    check passes then nothing will define GLIB_GENMARSHAL and the build
    step will fail in a confusing way.
    
    This adds a check for the result and gives an AC_MSG_ERROR if it
    fails. The glib dependencies have been moved out of CLUTTER_DEPS to
    AM_PATH_GLIB_2_0.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2127

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

commit 354d003860ff28322f01f736555d16079420235b
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Mon May 17 18:05:19 2010 +0100

    animator: fix issue of dropped frames towards end of animations

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

commit c007b7489b240af4fc7b3c24cdf62252757c6aa7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 17 14:34:31 2010 +0100

    action: Warn if set_name() is called multiple times

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

commit 4fd74e71e640b0762f883a7f7c2f996c54379fee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 12 12:00:33 2010 +0100

    action: Add DragAction, an action implementing drag capabilities
    
    DragAction is an Action sub-class that provides dragging capabilities to
    any actor. DragAction has:
    
      • drag-begin, drag-motion and drag-end signals, relaying the event
        information like coordinates, button and modifiers to user code;
    
      • drag-threshold property, for delaying the drag start by a given
        amount of pixels;
    
      • drag-handle property, to allow using other actors as the drag
        handle.
    
      • drag-axis property, to allow constraining the dragging to a specific
        axis.
    
    An interactive test demonstrating the various features is also provided.

 .gitignore                    |    1 +
 clutter/Makefile.am           |    2 +
 clutter/clutter-drag-action.c |  813 +++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-drag-action.h |  148 ++++++++
 clutter/clutter-marshal.list  |    2 +
 clutter/clutter.h             |    1 +
 tests/interactive/Makefile.am |    3 +-
 tests/interactive/test-drag.c |  189 ++++++++++
 8 files changed, 1158 insertions(+), 1 deletions(-)

commit 0e0db0d6242f84c8fb44ba57ec46d6dff5f265b3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue May 11 17:09:13 2010 +0100

    action: Add ClutterAction
    
    ClutterAction is an abstract class that should be used as the ancestor
    for objects that change how an actor behaves when dealing with events
    coming from user input.

 clutter/Makefile.am      |    2 +
 clutter/clutter-action.c |   61 +++++++++++++++++
 clutter/clutter-action.h |   94 +++++++++++++++++++++++++++
 clutter/clutter-actor.c  |  160 ++++++++++++++++++++++++++++++++++++++++++++--
 clutter/clutter-types.h  |    1 +
 clutter/clutter.h        |    1 +
 6 files changed, 312 insertions(+), 7 deletions(-)

commit c075d26fb2abcd53821c816fe1feb20e0578cce1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri May 14 16:42:50 2010 +0100

    actor: Add ActorMeta, a base class for actor modifiers
    
    ClutterActorMeta is a base, abstract class that can be used to derive
    classes that are attached to a ClutterActor instance in order to modify
    the way an actor is painted, sized/positioned or responds to events.
    
    A typed container for ActorMeta instances is also provided to the
    sub-classes can be attached to an Actor.

 clutter/Makefile.am                  |    3 +
 clutter/clutter-actor-meta-private.h |   42 ++++
 clutter/clutter-actor-meta.c         |  413 ++++++++++++++++++++++++++++++++++
 clutter/clutter-actor-meta.h         |   84 +++++++
 clutter/clutter-types.h              |    4 +
 clutter/clutter.h                    |    1 +
 6 files changed, 547 insertions(+), 0 deletions(-)

commit 7caa10160dce6b7d8001421331133c4a00dfde52
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 12 18:57:52 2010 +0100

    cogl-material: Set the blend equation even if blend funcs are the same
    
    Previously it would only try to set the blend equation if the RGB and
    alpha blending functions were different. However it's completely valid
    to use a non-standard blending function when the functions are the
    same. This patch moves the blending equation to outside the if
    statement.

 clutter/cogl/cogl/cogl-material.c |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

commit dd9e7853ece631be48ac85e3a984bfb93a127b43
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 12 15:19:09 2010 +0100

    cogl-material: Set blend constant even if alpha and rgb factors are the same
    
    Previously it would only set the blend constant if glBlendFuncSeparate
    was used but it is perfectly acceptable to use the blend constant when
    the same factor is used for each. It now sets the blend constant
    whenever one of the factors would use the constant.

 clutter/cogl/cogl/cogl-material.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

commit 502446ed8dc56ab9dccacbdd68f54306fe4d3558
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 12 17:56:25 2010 +0100

    cogl-blend-string: Don't split combined blend statements into two
    
    When a single statement is used to specify the factors for both the
    RGB and alpha parts it previously split up the statement into
    two. This works but it ends up unnecessarily using glBlendFuncSeparate
    when glBlendFunc would suffice.
    
    For example, the blend statement
    
     RGBA = ADD(SRC_COLOR*(SRC_COLOR), DST_COLOR*(1-SRC_COLOR))
    
    would get split into the two statements
    
     RGBA = ADD(SRC_COLOR*(SRC_COLOR[RGB]), DST_COLOR*(1-SRC_COLOR[RGB]))
     A    = ADD(SRC_COLOR*(SRC_COLOR[A]), DST_COLOR*(1-SRC_COLOR[A]))
    
    That translates to:
    
     glBlendFuncSeparate (GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR,
                          GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    
    This patch makes it so that arg_to_gl_blend_factor can handle the
    combined RGBA mask instead. That way the single statement gets
    translated to the equivalent call:
    
     glBlendFunc (GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR);

 clutter/cogl/cogl/cogl-material.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)

commit 47d54930164f3c3478ccba66a01aadd0e72802d0
Author: Chris Lord <chris@linux.intel.com>
Date:   Thu May 13 15:51:42 2010 +0100

    text: Fix typos that were causing false-positive cache hits
    
    If a cached layout didn't actually match the layout we're looking for,
    it would be returned anyway. Remove this return so that it can correctly
    continue looking and get a cache miss if appropriate.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2109

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

commit acea83d7ae088ef3d0422de7cd1d01836c5ef8f4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 22 11:58:52 2010 +0100

    cogl-path: Use true copy-on-write semantics
    
    Previously a path copy was implemented such that only the array of
    path nodes was shared with the source and the rest of the data is
    copied. This was so that the copy could avoid a deep copy if the
    source path is appended to because the copy keeps track of its own
    length. This optimisation is probably not worthwhile because it makes
    the copies less cheap. Instead the CoglPath struct now just contains a
    single pointer to a new CoglPathData struct which is separately
    ref-counted. When the path is modified it will be copied if the ref
    count on the data is not 1.

 clutter/cogl/cogl/cogl-path-private.h |   20 +--
 clutter/cogl/cogl/cogl-path.c         |  249 +++++++++++++++-----------------
 2 files changed, 125 insertions(+), 144 deletions(-)

commit a12a2e591b0ce00b918578abfce832490a8c1d6d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 10 17:43:17 2010 +0100

    Add a conformance test for ClutterCairoTexture
    
    This adds a simple test for ClutterCairoTexture that draws two
    rectangles to the cairo surface in an idle callback and then verifies
    that they appeared at the right colours in the paint callback. If that
    succeeds then the second time the idle callback is invoked it will
    replace one of the rectangles with a sub region update and the
    following paint callback will again verify the rectangles.

 .gitignore                                 |    1 +
 tests/conform/Makefile.am                  |    1 +
 tests/conform/test-clutter-cairo-texture.c |  196 ++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c          |    1 +
 4 files changed, 199 insertions(+), 0 deletions(-)

commit 4ef041371ce4ebedfe73e014aecb1f33d22aa8df
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat May 8 13:38:37 2010 -0400

    text: correct caching logic
    
    This patch combines a number of fixes and improvements to the
    layout caching logic in ClutterText.
    
     * Fix: The width must always be set on the PangoLayout when painting.
       This is necessary because the layout aligns in the width, and
       even when we think we are left-aligned, the auto-dir feature
       of PangoLayout may result in right-alignment.
    
     * Fix: We should only ever try to reuse a cached layout based
       on its logical width if layout.width was -1 when computing
       that logical width. If the layout was already ellipsized,
       then comparing the logical width to the new width we are
       trying to wrap to doesn't make sense. (If "abc" ellipsizes
       to a 15-pixel wide "..." for a width of 1 pixel, that doesn't
       mean that we should use "..." for a width of 15 pixels. Maybe
       "abc" itself is 15 pixels wide.)
    
     * Improvement: rather than looking up cached layouts based on the
       input allocation_width/allocation_height, look them up based
       on the actual width/height/ellipsize that we pass to create
       a layout. This is simpler and improves the chance we'll get
       a cache hit when appropriate even if there are small floating
       point differences.
    
    Note because of the first fix this is less aggressive than dd40732
    in caching layouts; get_preferred_width() and painting can't share
    a layout since get_preferred_width() needs to pass a width of -1
    to Pango and painting needs to pass the real width.
    
    The patch has been updated from the clutter-1.2 branch to current
    master; using the profiling instrumentation it is possible to verify
    with test-text-field that the hit/miss counters go from:
    
       Name                                   Total Per Frame
       ----                                   ----- ---------
       Text layout cache hit counter          13    6
       Text layout cache miss counter         11    5
    
    before applying the patch, to:
    
       Name                                   Total Per Frame
       ----                                   ----- ---------
       Text layout cache miss counter         4     2
       Text layout cache hit counter          3     1
    
    after applying the patch.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=618104
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2109
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 16680c74f36d64b3fb9e1e3f3985c7e757dafdf3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon May 10 15:33:05 2010 +0100

    Revert "clutter-cairo-texture: Use the new cogl_pixel_buffer API"
    
    This reverts commit 716ec82db8bec57e35d51e8dee5468435fc9e59e.
    
    The Cogl pixel buffer API currently has problems if an atlas texture
    is created or the format needs to be converted. The atlas problem
    doesn't currently show because the atlas rejects BGR textures anyway
    but we may want to change this soon. The problem with format
    conversion would happen under GLES because that does not support BGR
    textures at all so Cogl has to do the conversion. However it doesn't
    currently show either because GLES has no support for buffer objects
    anyway.
    
    It's also questionable whether the patch would give any performance
    benefit because Cairo needs read/write access which implies the buffer
    can't be put in write-optimised memory.
    
    Conflicts:
    
    	clutter/clutter-cairo-texture.c
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1982

 clutter/clutter-cairo-texture.c |  204 +++++++++++++++++++++++++--------------
 1 files changed, 131 insertions(+), 73 deletions(-)

commit af37a1029ff86d082b55cebef6f59d227ab22da8
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Sat May 8 16:58:14 2010 -0400

    cogl-framebuffer: Flush journal when creating fbo
    
    Since framebuffer state is not flushed prior to replaying the journal,
    the trick of marking the framebuffer dirty prior to calling
    glBindFramebuffer() doesn't work... the outstanding journal entries
    will get replayed to the newly created framebuffer.
    
    Fix this by flushing the journal as well.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2110
    
    Signed-off-by: Robert Bragg <robert@linux.intel.com>

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

commit b3de036c97c8b527e1993dd8788bdfa6581888ee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon May 10 14:28:21 2010 +0100

    Add tests/conform/wrappers to the ignore file

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

commit 4c850d39c59bc1d88f527f99485882fa2399afbf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun May 9 00:13:16 2010 +0100

    Fix annotation typos

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

commit 493041c505adb01876599d4dded62f3f8f8b2d02
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 7 18:03:39 2010 +0100

    clutter-cairo-texture: Fix destroying the old texture
    
    In clutter_cairo_texture_create_region it tries to destroy the old
    texture before mapping the PBO by setting the texture on the first
    layer of the material to COGL_INVALID_HANDLE. However it was using the
    material API incorrectly so it ended up showing a warning and doing
    nothing.

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

commit 6228082e14b11301d63443837ffe744e8b340ab3
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu May 6 14:53:50 2010 +0100

    conform: Make gtester run a list of wrappers
    
    Instead of asking gtester to run ./test-conformance directly we now tell
    it to run a list of wrapper scripts. This results in each test being
    spawned in a separate process avoiding leakage of state between tests
    which has been a big problem with the conformance tests for quite a
    while now.

 tests/conform/Makefile.am      |   38 ++++++++++++++++++++++++--------------
 tests/conform/run-tests.sh     |   14 ++++++++++++++
 tests/conform/test-launcher.sh |    5 +++--
 3 files changed, 41 insertions(+), 16 deletions(-)

commit 0120abe5b071ec38a897d55f00d48cfec71b2877
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri May 7 15:58:26 2010 +0100

    test-cogl-multitexture: Set linear filters on the two textures
    
    Otherwise it seems that rounding errors will cause the fragments at
    the edge of the quad to blend with neighbouring quarters of the
    texture which cause the test to fail.

 tests/conform/test-cogl-multitexture.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 21117bb7a9cc4e0341da990f88b798ad2c8e59a0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 6 14:21:53 2010 +0100

    test-conform-common: Disconnect all paint handlers on the stage
    
    A few of the tests connected to the paint signal but never
    disconnected it. Most of these handlers had a call to g_main_quit in
    them which meant that it could sometimes cause subsequent tests to
    exit after the first frame is painted. Most of the tests don't
    validate any of the results until after a couple of frames have been
    rendered so this ended up skipping out the test entirely.
    
    To workaround this the test setup function now disconnects all
    handlers for the paint signal on the default stage before the test is
    run.

 tests/conform/test-conform-common.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit 61ae7c6df72a802a06da934623aa97d71e562b43
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 6 14:18:32 2010 +0100

    test-cogl-readpixels: Reset the viewport and matrices
    
    The on_paint function for test-cogl-readpixels tries to temporarily
    set the projection, modelview and viewport to its own values. However
    it was never restoring the saved values so it could affect the results
    of subsequent tests.

 tests/conform/test-cogl-readpixels.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit b9c7051484f062f958b8e3ddc333e3b0c3509acf
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 6 14:16:33 2010 +0100

    test-cogl-path: Initialise state.frame
    
    state.frame was left unitialized so it would be left to happenstance
    which of the first three frames would be used for validating the test.

 tests/conform/test-cogl-path.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 0021b4aee0205057c9522a734dc1205e920d38d8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu May 6 14:15:04 2010 +0100

    cogl-clip-stack: Set *stencil_used_p when the stack is empty
    
    If the clip stack is empty then _cogl_clip_stack_flush exits
    immediately. This was missing out the assignment of *stencil_used_p at
    the bottom of the function. If a path is then used after the clip is
    cleared then it would think it needs to merge with the clip so the
    stencil would not be cleared correctly.

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

commit f4ee7dc0e185e7b5348539513a7fb7705a168849
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 8 00:20:18 2010 +0100

    clutter-color: Don't directly read the contents of GValue structs
    
    The code for implementing ClutterColor as GParamSpec and the
    color↔string transformation functions were assuming that ClutterColor
    owns the data in the GValue struct and directly reading
    data[0].v_pointer to get a pointer to the color. However ClutterColor
    is actually a boxed type and the format of the data array is meant to
    be internal to GObject so it is not safe to poke around in it
    directly. This patch changes it to use g_value_get_boxed to get the
    pointer.
    
    Also, boxed types allow a NULL value to be stored and not all of the
    code was coping with this. This patch also attempts to fix that.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2068

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

commit fa1638c0ab5e825830f987ac9ed8d1adcdff3859
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 8 00:17:48 2010 +0100

    clutter-color: Remove the value table
    
    ClutterColor has long had a GTypeValueTable struct around and the
    functions defined to be implemented as a fundamental type. However the
    struct was never actually used anywhere and ClutterColor is actually
    defined as a boxed type. This patch removes the table because it is
    very confusing to have code lying around that is not used.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2068

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

commit 452cb1abbfed4adb7e3d802765df9e27775adc4f
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 5 18:15:12 2010 +0100

    animator: fix looping when doing cubic interpolation
    
    When using interpolation and the last key is not at 1.0 a bouncing
    artifact could be observed after the keys.

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

commit e4089efb4c36abe2c743eefef0c960cb9453ae85
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 5 16:55:16 2010 +0100

    animator: only keys that are removed due to actors disappearing are inert

 clutter/clutter-animator.c |   58 ++++++++++++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 20 deletions(-)

commit 0f8ca38e594ac829b246b2107e20f68e29dbe75c
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 5 13:48:34 2010 +0100

    animator: refactoring
    
    renamed KeyAnimator to PropertyIter

 clutter/clutter-animator.c |  167 ++++++++++++++++++++++----------------------
 1 files changed, 84 insertions(+), 83 deletions(-)

commit 8afb091f56c8f4c15c587f79bb683cfcdb998f5a
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 5 13:58:15 2010 +0100

    animator: retain ease-in/interpolation when changing first key
    
    Duplicate the existing ease-in/interpolation mode for the property when
    removing, replacing the first key for a property or adding a new first
    key for a property.

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

commit d45395d78bf033cb9895092f77bdd81b9802fb2f
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed May 5 13:34:06 2010 +0100

    animator: fix crash when setting keys on running animator
    
    When inserting or modifying keys of a running animator the internal
    iterators per property could go out of sync. Reinitializing the
    iterators if the timeline is running avoids this.

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

commit 9ebd5fd935e6695acfbebfe479e56c20b0a92a15
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 26 18:08:45 2010 +0100

    Implement accessors for the color bits in a framebuffer
    
    Instead of using cogl_get_bitmasks() to query the GL machinery for the
    size of the color bits, we should store the values inside the
    CoglFramebuffer object and query them the first time we set the framebuffer
    as the current one.
    
    Currently, cogl_get_bitmasks() is re-implemented in terms of
    cogl_framebuffer_get_*_bits(). As soon as we are able to expose the
    CoglOnscreen framebuffer object in the public API we'll be able to
    deprecate cogl_get_bitmasks() altogether.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2094

 clutter/cogl/cogl/cogl-context.c             |    1 +
 clutter/cogl/cogl/cogl-framebuffer-private.h |   18 ++++++++
 clutter/cogl/cogl/cogl-framebuffer.c         |   57 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl.c                     |   24 +++--------
 clutter/cogl/cogl/cogl.h                     |   52 +++++++++++++++++++++++
 5 files changed, 135 insertions(+), 17 deletions(-)

commit 0ff02d18d2741adbb79d479a34325f0d63a05c26
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed May 5 12:05:15 2010 +0100

    gles: Fix the functions names for the GL_OES_framebuffer_object ext
    
    In 91cde78a7 I accidentally changed the function names that get looked
    up for the framebuffer extension under GLES so that they didn't have
    any suffix. The spec for extension specifies that they should have the
    OES suffix.

 .../cogl/cogl/driver/gles/cogl-feature-functions.h |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

commit d8e1bd989c0ccd95a6c0cea20d567da9a3bc6d79
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Apr 30 14:56:07 2010 -0400

    Ignore unexpected GLX_BufferSwapComplete
    
    A server that supports GLX_BufferSwapComplete will always send
    these events, so we should just silently ignore them if we've
    chosen not to take advantage of the INTEL_swap_event GLX
    extension.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2102
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 21914eaead44447e5ee4e0ffef205be9d4ba7524
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 5 11:53:51 2010 +0100

    docs: Update the dependencies in the README

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

commit 755625c75897a17da971d2252224a10bb39b1cf2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 5 11:52:20 2010 +0100

    build: Clean up build dependencies
    
    • Depend on autoconf 2.63
    • Depend on automake 1.11
    • Depend on gobject-introspection 0.6.7
    • Depend on gtk-doc 1.13
    • Remove Shave from the build

 build/autotools/Makefile.am.silent |    6 ---
 build/autotools/shave-libtool.in   |   69 --------------------------------
 build/autotools/shave.in           |   76 ------------------------------------
 build/autotools/shave.m4           |   73 ----------------------------------
 configure.ac                       |   38 +++++-------------
 5 files changed, 10 insertions(+), 252 deletions(-)

commit 33642757f5a82418b71600c758babc2b86577b1d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed May 5 11:32:39 2010 +0100

    animation: Use 'guint' for set_duration() parameter
    
    The :duration property and the get_duration() method use unsigned int,
    but the setter using a signed integer for no apparent reason.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2089

 clutter/clutter-animation.c |    2 +-
 clutter/clutter-animation.h |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 0835e27380e2de484c0bd330ab0163d5df63b902
Author: Jussi Kukkonen <jku@linux.intel.com>
Date:   Sun Apr 18 10:47:14 2010 +0300

    container: use CLUTTER_IS_ACTOR on correct parameter
    
    clutter_container_create_child_meta() uses CLUTTER_IS_ACTOR on the
    container parameter instead of the actor parameter.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2087
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 71f942d03a42e9f0c2a88823aaa20d375f392163
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon May 3 20:41:17 2010 +0200

    debug: Use G_UNLIKELY in the tests
    
    Debugging code is not meant to be run in the nominal code path. Use
    G_UNLIKELY to be reduce the number of bubbles in the instruction
    pipeline.
    
    Took the opportunity to re-indent the macros.

 clutter/clutter-debug.h        |   52 ++++++++++++++++++++--------------------
 clutter/cogl/cogl/cogl-debug.h |   20 +++++++-------
 2 files changed, 36 insertions(+), 36 deletions(-)

commit f9072b8663728994610d3a26ae41718c94cdcbc7
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Apr 30 14:50:11 2010 -0400

    Call backend handle_event from clutter_x11_handle_event()
    
    Whether events come from the main loop source or from
    clutter_x11_handle_event(), we need to feed them to the backend
    virtual handle_event function. This fixes problems with clients
    using clutter_x11_handle_event() hanging because
    GLXBufferSwapComplete events aren't received.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2101

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

commit d6dbd62021b9a8e711a1c34865920959051329fb
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Apr 30 12:10:16 2010 +0100

    debug: wrap glClear calls with the GE macro
    
    This adds a GE macro wrapper around our calls to glClear so we can
    print a warning for any errors reported by the driver.

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

commit e477768bd859550930c57a72318c952076b67158
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 26 12:41:26 2010 +0100

    cogl-texture-2d-sliced: Use the converted bitmap when uploading
    
    When uploading texture data the cogl-texture-2d-sliced backend was
    using _cogl_texture_prepare_for_upload to create a bitmap suitable for
    upload but then it was using the original bitmap instead of the new
    bitmap for the data. This was causing any format conversions performed
    by cogl_texture_prepare_for_upload to be ignored.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2059

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

commit 405d529f449bb3cfa7f156510a98e70e38c9e1b5
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 26 12:30:37 2010 +0100

    cogl-texture: Don't attempt to use GL to convert formats under GLES
    
    In commit abe91784c4b I changed cogl-texture so that it would use the
    OpenGL mechanism to specify a different internal texture format from
    the image format so that it can do the conversion instead of
    Cogl. However under GLES the internal format and the image format must
    always be the same and it only supports a limited set of formats. This
    patch changes _cogl_texture_prepare_for_upload so that it does the
    conversion using the cogl bitmap code when compiling for GLES.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2059

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

commit 8530b7946a862abdbcd4890ba8a444799b75986d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 27 16:38:07 2010 +0100

    cogl-material: Fix the check to prevent using too many layers
    
    There was a check at the bottom of the loop which sets up the state
    for each of the layers so that it would break from the loop when the
    maximum number of layers is reached. However after doing this it would
    not increment 'i'. 'i' is later used to disable the remaining layers
    so it would end up disabling the last layer it just set up.
    
    This patch moves the check to be part of the loop condition so that
    the check is performed after incrementing 'i'.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2064

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

commit 3c2bb33cbd129a474bd59cf9efa8275617eb06fa
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 27 16:35:35 2010 +0100

    cogl-material: Fix the warning for when too many layers are used
    
    The warning displayed when too many layers are used had an off-by-one
    error so that it would display even if exactly the maximum number is
    used. There was also a missing space at the end of the line in the
    message which looked wrong when displayed on the terminal.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2064

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

commit a3bc4a6009086a92f1abc448a52865654d553993
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 27 16:34:59 2010 +0100

    test-cogl-materials: Add a test using the maximum number of layers
    
    This adds a test which creates a material using the maximum number of
    layers. All of the layers are assigned a white texture except the last
    which is set to red. The default combine mode is used for all of the
    layers so the final fragment should end up red.
    
    Currently Cogl doesn't provide a way to query the maximum number of
    layers so it just uses glGetIntegerv instead. This might cause
    problems on GLES 2 because that adds additional restrictions on the
    number of layers.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2064

 tests/conform/test-cogl-materials.c |   62 +++++++++++++++++++++++++++++++++++
 1 files changed, 62 insertions(+), 0 deletions(-)

commit ce261025f6dfd34153382cb69bcb7fb11b8e2561
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 28 16:19:37 2010 +0100

    Fix clutter_event_get_coords() for crossing events
    
    The ClutterCrossingEvent data structure contains the coordinates
    of the crossing; they are regularly filed out by Clutter and by
    the backend event processing code. And yet clutter_event_get_coords()
    returns (0, 0) because it thinks that CLUTTER_ENTER and CLUTTER_LEAVE
    events do not have coordinates.

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

commit b7098563c26bb6e0f1992bb7c4cb711fbe0424ac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Apr 27 10:12:25 2010 +0100

    actor: Make consistent use of the name in error reporting
    
    Whenever we are warning inside ClutterActor we prefer the actor's name
    to its type, if the name is set. The current code is made less readable
    by the use of the ternary operator:
    
      priv->name != NULL ? priv->name : G_OBJECT_TYPE_NAME (self)
    
    This looks like a job for a simple convenience function.

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

commit 9024cd9f7c32b30f1ca5a4d5c53569af7c72da48
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 26 12:58:17 2010 +0100

    Clean up the Texture private data structure

 clutter/clutter-texture.c |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)

commit 48b8510a0688baef86db5b808e458c5295aee819
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sun Apr 25 16:20:39 2010 +0100

    mingw-cross-compile.sh: Write the build environment to a script
    
    The script now writes out a separate script that can be used to set up
    the build environment to $ROOT_DIR/share/env.sh. This can be sourced
    in a shell to set up the build environment or it can be given a
    command to directly execute in the environment. This makes it easier
    to build Clutter from your own source rather than checking it out from
    git directly.

 build/mingw/mingw-cross-compile.sh |   88 ++++++++++++++++++++++++-----------
 1 files changed, 60 insertions(+), 28 deletions(-)

commit eb22ab9bf2b6837b33911bd3962d09b757139366
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sun Apr 25 16:09:16 2010 +0100

    mingw-cross-compile.sh: Update the package versions
    
    This updates to the latest binaries from Tor Lillqvist. zlib and iconv
    are now taken from the Tor deps instead of the gnuwin32 project. SDL
    is no longer downloaded because the SDL backend has been removed from
    Clutter. The GL headers are downloaded from the Mesa cgit rather than
    downloading the whole Mesa package. glext.h is taken directly from
    khronos.org.

 build/mingw/mingw-cross-compile.sh |  101 ++++++++++-------------------------
 1 files changed, 29 insertions(+), 72 deletions(-)

commit a881c8b07e73325749bb2ab6c0d4d5710507b016
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 22 18:14:40 2010 +0100

    cogl-path: Make cogl_path_arc_rel static
    
    cogl_path_arc_rel was never in any public headers so it isn't part of
    the public API. It also has a slightly inconsistent name because the
    rest of the relative path functions are called cogl_path_rel_*. This
    patch makes it static for now to make it more obvious that it isn't
    public. The name has changed to _cogl_path_rel_arc.

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

commit e16f05326e72484a38c5154ecdf973de2c35445a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 22 18:03:57 2010 +0100

    cogl-path: Add documentation for the angles of cogl_path_arc
    
    This adds documentation for how Cogl interprets the angles given to
    cogl_path_arc.

 clutter/cogl/cogl/cogl-path.h |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 73e4d49053b8cf79d0d5694e2b077e0e7ab05dfe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 22 17:54:05 2010 +0100

    profile: Add profiling points for Text
    
    Add a static timer for the text layout code, and two counters for the
    layout cache hit and miss conditions.

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

commit 5608a54708c3ab1665840c24bdfcb9c2b38fa78b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 22 17:52:13 2010 +0100

    profile: Fix the report generation
    
    Timers and counters might not exist, so make every section of the
    profile report depend on the object that it is querying.
    
    This fixes the profile report generation that was broken by commit
    8146d8d08deafd6cf86238a4a8c2fa6149e5c691.

 clutter/clutter-profile.c |   31 +++++++++++++++++--------------
 1 files changed, 17 insertions(+), 14 deletions(-)

commit b13eb77e05670367b99caa4d4cb6a9f24e9b15aa
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 22 17:51:56 2010 +0100

    Add uprof to the jhbuild moduleset

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

commit 05cf570570879fe5d699a07ad19a27168b57c23b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Apr 22 16:49:57 2010 +0100

    actor: Add an internal variant of get_stage()
    
    For internal use we should have a get_stage_internal() variant that
    avoids type checks and calls to public functions. The implementation
    is trivial enough, and it will avoid (scene graph depth + 1) type
    checks and (scene graph depth) function calls.

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

commit 1355c19f66a029247dab775b8c9d52aa44889a6e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 21 11:30:54 2010 +0100

    docs: Fix gtk-doc warnings

 clutter/clutter-behaviour-opacity.h |    2 +-
 clutter/clutter-behaviour.c         |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 3196658b8ca648655815a61a04e09c479084b1f2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 21 22:36:43 2010 +0100

    cogl-path: Fix the truncation when adding to a copied path
    
    If a path is copied and then appended to, the copy needs to have the
    last sub path truncated so that it fits in the total path size in case
    the original path was modified. However the path size check was broken
    so if the copied path had more than one sub path it would fail.

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

commit fddd3169865f1ad623453d8fc9490277325ed105
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 21 18:58:18 2010 +0100

    test-cogl-path: Test sub paths and intersections
    
    This changes the original tests so that it splits the original path
    into two sub paths. When adding a new block to the copied path it also
    adds another sub path. This further stresses the path copying
    mechanism and exposes a bug.
    
    It also tests intersections by drawing a self-intersecting path and a
    path with two sub-paths that overlap. Where the path overlaps it
    should be inverted.

 tests/conform/test-cogl-path.c |   33 ++++++++++++++++++++++++++++-----
 1 files changed, 28 insertions(+), 5 deletions(-)

commit abc64a2c671a4eeafa374ceb91482e058705f6fb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Apr 20 14:58:57 2010 +0100

    cogl-clip-stack: Use orientation of the polygon to set clip planes
    
    Previously the clip stack code was trying to detect when the
    orientation of the on-screen rectangle had changed by checking if the
    order of the y-coordinates on the left edge was different from the
    order the x-coordinates on the top edge. This doesn't work for some
    rotations which was causing the clip planes to clip the wrong side of
    the line. This patch makes it detect the orientation by calculating
    the signed area which is a standard computer graphics algorithm.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2079

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

commit 7f2b2e13641c146f4b62631ed89638aba610ae07
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 21 11:49:57 2010 +0100

    cogl-path: Document how a shape is filled
    
    This adds some documentation to cogl_path_fill() describing the fill
    rule Cogl uses.

 clutter/cogl/cogl/cogl-path.h    |   28 +++++++++++++++++++++++-----
 doc/reference/cogl/Makefile.am   |    6 +++++-
 doc/reference/cogl/fill-rule.png |  Bin 0 -> 3121 bytes
 3 files changed, 28 insertions(+), 6 deletions(-)

commit 44c86fceadf4e770fa93df1605cf93f16103b195
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 19 18:54:40 2010 +0100

    cogl-path: Don't try to union sub paths
    
    When drawing a path with only a single sub path, Cogl uses the
    'even-odd' fill rule which means that if a part of the path intersects
    with another part then the intersection would be inverted. However
    when combining sub paths it treats them as separate paths and then
    unions them together. This doesn't match the semantics of the even-odd
    rule in SVG and Cairo. This patch makes it so that a new sub path is
    just drawn as another triangle fan so that it will continue to invert
    the stencil buffer. This is also much simpler and more efficient as
    well as being more correct.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2088

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

commit 78dc59b34859686c89e9b96dc0fc78f453031262
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Mar 26 23:09:11 2010 +0000

    picking: Read the colour value using COGL_PIXEL_FORMAT_RGBA_8888_PRE
    
    In commit c0a553163b I changed the format used to read the picking
    pixel to COGL_PIXEL_FORMAT_RGB_888 because it was convenient to avoid
    the premult conversion. However this broke picking on GLES on some
    platforms because for that glReadPixels is only guaranteed to support
    GL_RGBA with GL_UNSIGNED_BYTE. Since the last commit cogl_read_pixels
    will always use that format but it will end up with a conversion back
    to RGB_888. This patch avoids that conversion and avoids the premult
    conversion by reading in RGBA_8888_PRE.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2057

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

commit 0cb09cd40d6b031a5514038af73a13d4e7bf2f82
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Mar 26 22:40:53 2010 +0000

    cogl_read_pixels: Always use GL_RGBA/GL_UNSIGNED_BYTE under GLES
    
    Under GLES glReadPixels is documented to only support GL_RGBA with
    GL_UNSIGNED_BYTE and an implementation specfic format which can be
    fetched with glGet, GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES and
    GL_IMPLEMENTATION_COLOR_READ_TYPE_OES. This patch makes it always read
    using GL_RGBA and GL_UNSIGNED_BYTE and then convert the results if
    neccessary.
    
    This has some room for improvement because it doesn't attempt to use
    the implementation specific format. Also the conversion is somewhat
    wasteful because there are currently no cogl_bitmap_* functions to
    convert without allocating a new buffer so it ends up doing an
    intermediate copy.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2057

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

commit 9750b90f37127c85f7092c16ca64fb0b63501882
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Mar 26 22:34:56 2010 +0000

    cogl-bitmap: Fix converting formats with and without alpha channels
    
    _cogl_bitmap_convert_format_and_premult was failing when converting
    from RGBA to RGB and vice versa. _cogl_bitmap_fallback_convert
    converts without altering the premult status so when choosing a new
    format it would copy over the premult bit. However, it did this
    regardless of whether the new format had an alpha channel so when
    converting from RGBA_8888_PRE to RGB_888 it would end up inventing a
    new meaningless format which would be RGB_888_PRE. This patch makes it
    avoid copying the premult flag if the destination has no alpha. It
    doesn't matter if it copies when the source format has no alpha
    because it will always be unset.
    
    _cogl_bitmap_convert_format_and_premult was also breaking when
    converting from RGBA_8888_PRE to RGB_888 because it would think
    RGB_888 is unpremultiplied and try to convert but then
    _cogl_bitmap_fallback_premult wouldn't know how to do the conversion.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2057

 clutter/cogl/cogl/cogl-bitmap-fallback.c |    8 ++++++--
 clutter/cogl/cogl/cogl-bitmap.c          |   10 +++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

commit 05afe139a508a26a93af787a7eb19d76b45acd9c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Apr 19 17:55:37 2010 +0100

    Require GLib >= 2.18
    
    We use g_signal_override_class_handler(), which was added in GLib 2.18,
    so we should bump up our requirements.

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

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

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

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

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

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

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

commit 716ec82db8bec57e35d51e8dee5468435fc9e59e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 3 20:58:32 2010 +0000

    clutter-cairo-texture: Use the new cogl_pixel_buffer API
    
    ClutterCairoTexture now stores the surface image data in a Cogl pixel
    buffer object. When clutter_cairo_texture_create is called the buffer
    is mapped and a new Cairo surface is created to render directly to the
    PBO. When the surface is destroyed the buffer is unmapped and a Cogl
    texture is recreated from the buffer. This should enable slightly
    faster uploads when using Cairo because it avoids having to copy the
    surface data to the texture.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1982
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-cairo-texture.c |  208 ++++++++++++++------------------------
 1 files changed, 77 insertions(+), 131 deletions(-)

commit 1a1e7d35730b510f2a32e25bb34ae7ab0e2be349
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Apr 16 11:11:50 2010 +0100

    text: Increase the size of the Layout cache
    
    Currently, each ClutterText caches 3 Pango layouts:
    
      » one for the preferred, unbounded width
      » one for the preferred height for a given width
      » one for the allocated size
    
    Some layout managers do a double pass that could flush the whole cache
    before it has a chance of actually storing relevant data, resulting in
    a continuous series of misses.
    
    We can try to counteract this by doubling the size of the cache, from
    three slots to six. More than six would be pointless, as well as too
    memory consuming; but we might get down to a number between 3 and 6 at
    any later point.

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

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

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

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

commit 708bbc72e1121022e577c25a799489e193ca535a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 15 10:58:28 2010 +0100

    cogl: Implement retained clip stacks
    
    This adds three new internal API functions which can be used to retain
    the clip stack state and restore it later:
    
     _cogl_get_clip_stack
     _cogl_set_clip_stack
     _cogl_clip_stack_copy
    
    The functions are currently internal and not yet used but we may want
    to make them public in future to replace the cogl_clip_stack_save()
    and cogl_clip_stack_restore() APIs.
    
    The get function just returns the handle to the clip stack at the top
    of the stack of stacks and the set function just replaces it.
    
    The copy function makes a cheap copy of an existing stack by taking a
    reference to the top stack entry. This ends up working like a deep
    copy because there is no way to modify entries of a stack but it
    doesn't actually copy the data.

 clutter/cogl/cogl/cogl-clip-stack.c |   26 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-clip-stack.h |   19 +++++++++++++++++++
 clutter/cogl/cogl/cogl-clip-state.c |   34 ++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-clip-state.h |   28 ++++++++++++++++++++++++++++
 4 files changed, 107 insertions(+), 0 deletions(-)

commit 3a58bc440b2e5dd0af15c65849e2baed170835f8
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 15 10:27:43 2010 +0100

    cogl-clip-stack: Convert to be a CoglHandle
    
    CoglClipStacks can now be reference counted via a CoglHandle. The
    ClipClipState now stores handles in the list rather than CoglClipStack
    pointers.

 clutter/cogl/cogl/cogl-clip-stack.c |   28 +++++++++++++++++++++-------
 clutter/cogl/cogl/cogl-clip-stack.h |   17 ++++++-----------
 clutter/cogl/cogl/cogl-clip-state.c |   16 ++++++++--------
 3 files changed, 35 insertions(+), 26 deletions(-)

commit aba7fb63cb2b190e3878e2be2e8818fcecfdeb2b
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 14 19:41:08 2010 +0100

    Separate out CoglClipStackState from cogl-clip-stack.c
    
    CoglClipStackState has now been renamed to CoglClipState and is moved
    to a separate file. CoglClipStack now just maintains a stack and
    doesn't worry about the rest of the state. CoglClipStack sill contains
    the code to flush the stack to GL.

 clutter/cogl/cogl/Makefile.am                |    2 +
 clutter/cogl/cogl/cogl-clip-stack.c          |  349 ++--------------------
 clutter/cogl/cogl/cogl-clip-stack.h          |   37 ++-
 clutter/cogl/cogl/cogl-clip-state.c          |  405 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-clip-state.h          |   50 ++++
 clutter/cogl/cogl/cogl-framebuffer-private.h |    6 +-
 clutter/cogl/cogl/cogl-framebuffer.c         |   10 +-
 clutter/cogl/cogl/cogl-path.c                |    4 +-
 clutter/cogl/cogl/cogl.c                     |    2 +-
 9 files changed, 519 insertions(+), 346 deletions(-)

commit 732223074be151e543a30ffff858104dee1ac60d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 14 18:47:25 2010 +0100

    cogl-slip-stack: Store clip window rect entries in Cogl coordinates
    
    When glScissor is called it needs to pass coordinates in GL's
    coordinate space where the origin is the bottom left. Previously this
    conversion was done before storing the window rect in the clip
    stack. However this might make it more difficult if we want to be able
    to grab a handle to a clip stack and use it in different circumstances
    later. This patch moves the coordinate conversion to inside the clip
    state flushing code.

 clutter/cogl/cogl/cogl-clip-stack.c |   57 +++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 25 deletions(-)

commit e9aa5d807cb29e1cdc9b8a7b627de914352e4fc1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 14 15:42:57 2010 +0100

    cogl-clip-stack: Store window rect entries as ints not floats
    
    The window rectangles are passed in as integers so there is no point
    in converting them to floats when storing a stack entry for them.

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

commit a0e19c94696a0ba0627fd125e4a5285d355c1d80
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Apr 14 13:17:26 2010 +0100

    cogl-clip-stack: Use reference counted stack entries
    
    The stack is now stored as a list of reference counted entries.
    Instead of using a GList, each entry now contains a link with a
    reference to its parent. The idea is that this would allow copying
    stacks with a shared ancestry.
    
    Previously the code flushed the state by finding the bottom of the
    stack and then applying each entry by walking back up to the top. This
    is slightly harder to do now because the list is no longer
    doubly-linked. However I don't think it matters which order the
    entries are applied so I've just changed it to apply them in reverse
    order.
    
    There was also a restriction that if ever the stencil buffer is used
    then we could no longer use clip planes for any subsequent entries. I
    don't think this makes sense because it should always work as long as
    it doesn't attempt to use the clip planes more than once. I've
    therefore removed the restriction.

 clutter/cogl/cogl/cogl-clip-stack.c |  207 +++++++++++++++++++++++++----------
 1 files changed, 149 insertions(+), 58 deletions(-)

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

    docs: Clean up ClutterActor's long description
    
    The Actor's long description is a bit cluttered; it contains a section
    on the actor's box semantics, on the transformation order and on the
    event handling.
    
    We should use <refsect2> tags to divide the Actor's description into
    logically separated sections.
    
    We should also add a section about the custom Scriptable properties that
    ClutterActor defines, and the special handling of unit-based properties.

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

commit 2d4ddc1b11acbc2b82be713cb48bbd81864844f9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Apr 14 00:52:23 2010 +0100

    Add test-cogl-wrap-mode to the ignore list

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

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

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

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

commit 30f43c6cda98a1dcf3a6cca10cf23212bfb2b503
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 1 18:35:32 2010 +0100

    cogl-material: Use CLAMP_TO_EDGE for WRAP_AUTOMATIC unless overriden
    
    CoglMaterial now sets GL_CLAMP_TO_EDGE if WRAP_MODE_AUTOMATIC is used
    unless it is overridden when the material is flushed. The primitives
    are still expected to expose repeat semantics so no user visible
    changes are made. The idea is that drawing non-repeated textures is
    the most common case so if we make clamp_to_ege the default then we
    will reduce the number of times we have to override the
    material. Avoiding overrides will become important if the overriding
    mechanism is replaced with one where the primitive is expected to copy
    the material and change that instead.

 clutter/cogl/cogl/cogl-material.c      |    6 +-
 clutter/cogl/cogl/cogl-primitives.c    |  104 ++++++++++++++++++++++++-------
 clutter/cogl/cogl/cogl-vertex-buffer.c |   35 ++++++++++-
 3 files changed, 115 insertions(+), 30 deletions(-)

commit 08a4995383d3169746e8454ba2272b4f2f29c44a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 31 18:54:34 2010 +0100

    tests: Add a conformance test for the wrap modes of a cogl material
    
    This renders a texture using different combinations of wrap modes for
    the s and t coordinates and then verifies that the expected wrapping
    is acheived. The texture is drawn using rectangles, polygons and
    vbos. There is also code to test a rectangle using an atlased texture
    (which should test the manual repeating) however the validation for
    this is currently disabled because it doesn't work.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2063

 tests/conform/Makefile.am            |    1 +
 tests/conform/test-cogl-wrap-modes.c |  332 ++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c    |    1 +
 3 files changed, 334 insertions(+), 0 deletions(-)

commit 75f1dc90b05badc9aa9798985c23ac1489ddf535
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 1 11:31:33 2010 +0100

    cogl-material: Add support for setting the wrap mode for a layer
    
    Previously, Cogl's texture coordinate system was effectively always
    GL_REPEAT so that if an application specifies coordinates outside the
    range 0→1 it would get repeated copies of the texture. It would
    however change the mode to GL_CLAMP_TO_EDGE if all of the coordinates
    are in the range 0→1 so that in the common case that the whole texture
    is being drawn with linear filtering it will not blend in edge pixels
    from the opposite sides.
    
    This patch adds the option for applications to change the wrap mode
    per layer. There are now three wrap modes: 'repeat', 'clamp-to-edge'
    and 'automatic'. The automatic map mode is the default and it
    implements the previous behaviour. The wrap mode can be changed for
    the s and t coordinates independently. I've tried to make the
    internals support setting the r coordinate but as we don't support 3D
    textures yet I haven't exposed any public API for it.
    
    The texture backends still have a set_wrap_mode virtual but this value
    is intended to be transitory and it will be changed whenever the
    material is flushed (although the backends are expected to cache it so
    that it won't use too many GL calls). In my understanding this value
    was always meant to be transitory and all primitives were meant to set
    the value before drawing. However there were comments suggesting that
    this is not the expected behaviour. In particular the vertex buffer
    drawing code never set a wrap mode so it would end up with whatever
    the texture was previously used for. These issues are now fixed
    because the material will always set the wrap modes.
    
    There is code to manually implement clamp-to-edge for textures that
    can't be hardware repeated. However this doesn't fully work because it
    relies on being able to draw the stretched parts using quads with the
    same values for tx1 and tx2. The texture iteration code doesn't
    support this so it breaks. This is a separate bug and it isn't
    trivially solved.
    
    When flushing a material there are now extra options to set wrap mode
    overrides. The overrides are an array of values for each layer that
    specifies an override for the s, t or r coordinates. The primitives
    use this to implement the automatic wrap mode. cogl_polygon also uses
    it to set GL_CLAMP_TO_BORDER mode for its trick to render sliced
    textures. Although this code has been added it looks like the sliced
    trick has been broken for a while and I haven't attempted to fix it
    here.
    
    I've added a constant to represent the maximum number of layers that a
    material supports so that I can size the overrides array. I've set it
    to 32 because as far as I can tell we have that limit imposed anyway
    because the other flush options use a guint32 to store a flag about
    each layer. The overrides array ends up adding 32 bytes to each flush
    options struct which may be a concern.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2063

 clutter/cogl/cogl/cogl-journal-private.h   |    2 +
 clutter/cogl/cogl/cogl-journal.c           |    7 +
 clutter/cogl/cogl/cogl-material-private.h  |   56 ++++++--
 clutter/cogl/cogl/cogl-material.c          |  221 +++++++++++++++++++++++++++-
 clutter/cogl/cogl/cogl-material.h          |  104 +++++++++++++
 clutter/cogl/cogl/cogl-primitives.c        |  174 ++++++++++++++++++----
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |    4 -
 clutter/cogl/cogl/cogl-texture-2d.c        |    4 -
 doc/reference/cogl/cogl-sections.txt       |    5 +
 9 files changed, 524 insertions(+), 53 deletions(-)

commit 463ebc8220122c9d424b2d091a33df376f9837f1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Mar 25 17:29:22 2010 +0000

    Split the wrap mode of _cogl_texture_set_wrap_mode into three
    
    GL supports setting different wrap modes for the s, t and r
    coordinates so we should design the backend interface to support that
    also. The r coordinate is not currently used by any of the backends
    but we might as well have it to make life easier if we ever add
    support for 3D textures.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2063

 clutter/cogl/cogl/cogl-atlas-texture.c             |   13 ++++++--
 clutter/cogl/cogl/cogl-primitives.c                |   16 +++++++--
 clutter/cogl/cogl/cogl-sub-texture.c               |   13 ++++++--
 clutter/cogl/cogl/cogl-texture-2d-private.h        |    3 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |    3 +-
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |   31 +++++++++++++-------
 clutter/cogl/cogl/cogl-texture-2d.c                |   26 ++++++++++------
 clutter/cogl/cogl/cogl-texture-private.h           |   13 ++++++--
 clutter/cogl/cogl/cogl-texture.c                   |   11 +++++--
 9 files changed, 87 insertions(+), 42 deletions(-)

commit 774f5e0bdf0ad61a3bcecb53fd109e79f95b0419
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 1 20:06:30 2010 +0100

    cogl: Make private members really hard to accidentally use
    
    CoglColor and CoglMatrix have public declarations with private members
    so that we are free to change the implementation but the structures
    could still be allocated on the stack in applications. However it's
    quite easy not to realise the members are private and then access them
    directly. This patch wraps the members in a macro which redefines the
    symbol name when including the header outside of the clutter source.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2065

 clutter/cogl/cogl/cogl-matrix.h |    9 +++++----
 clutter/cogl/cogl/cogl-types.h  |   24 +++++++++++++++++-------
 2 files changed, 22 insertions(+), 11 deletions(-)

commit 3fea5051db58ed376275621b56fbaaba75bb7ea1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 12 15:16:58 2010 +0100

    CoglMatrix: Don't make the matrix fields private
    
    The xx, yx, zx etc fields are meant to be read-only but they were
    marked as private with the gtk-doc annotation. This patch moves the
    private marker so that the 16 float member fields are public but the
    type, inverted matrix, flags and padding are not.

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

commit 94465cfe3996d9d039cd3e55de10bc1ceab93a1a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Apr 12 12:06:03 2010 +0100

    Fix indentation in CoglMatrix
    
    The members of CoglMatrix were indented by 4 characters instead of 2.

 clutter/cogl/cogl/cogl-matrix.h |   54 +++++++++++++++++++-------------------
 1 files changed, 27 insertions(+), 27 deletions(-)

commit e0f41fa166665e099d894cc367346b6cafcd4634
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sat Apr 10 17:02:42 2010 +0100

    actor: Flag the color argument of the ::pick signal as being constant
    
    When emitting signals, one can mark arguments as being "static", ie an
    indication this argument will not change during the signal emission.
    This allows the signal marshalling code to create static GValues, in
    this case not to copy the Color.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2073

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

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

    actor: Do not use G_UNLIKELY in paint()
    
    We decide whether the paint() should be a real paint or a paint in pick
    mode depending on the global pick_mode value. Using G_UNLIKELY() on an
    operation that most likely is going to be executed once every frame is
    going to blow a lot of cache lines and frak with the CPU branch
    prediction. Not good.

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

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

    tests: Fix test-script.json
    
    A trailing comma is breaking the validity of test-script.json

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

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

    win32: Use GCLP_* instead of GCL_* when calling GetClassLongPtr
    
    (commit message by Neil)
    
    GetClassLongPtr expects a different constant when retrieving handles
    or pointers. This fixes problems using Win64.

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

commit f2776ea32b2656e14de393773c4c5457d4176a5e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Apr 9 14:10:11 2010 +0100

    Add tests/conform/test-cogl-path to .gitignore

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

commit 10b16b4b7e06d7592a3d83ef209a39ba26eedbad
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 8 17:18:40 2010 +0100

    Add a test case for cogl_path
    
    This tests various paths drawing rectangles and verifies that the
    expected pixels are filled in. Some of the paths are drawn by copying
    an existing path and modifying it which should test the copy-on-write
    code.

 tests/conform/Makefile.am         |    1 +
 tests/conform/test-cogl-path.c    |  179 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    1 +
 3 files changed, 181 insertions(+), 0 deletions(-)

commit 9ee6dd240b58cbbbfcfcfc269152fb3065f9a935
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Apr 8 17:43:27 2010 +0100

    cogl: Support retained paths
    
    This adds three new API calls:
    
      CoglHandle cogl_path_get()
      void cogl_path_set(CoglHandle path)
      CoglHandle cogl_path_copy(CoglHandle path)
    
    All of the fields relating to the path have been moved from the Cogl
    context to a new CoglPath handle type. The cogl context now just
    contains a CoglPath handle. All of the existing path commands
    manipulate the data in the current path handle. cogl_path_new now just
    creates a new path handle and unrefs the old one.
    
    The path handle can be stored for later with cogl_path_get. The path
    can then be copied with cogl_path_copy. Internally it implements
    copy-on-write semantics with an extra optimisation that it will only
    copy the data if the new path is modified, but not if the original
    path is modified. It can do this because the only way to modify a path
    is by appending to it so the copied path is able to store its own path
    length and only render the nodes up to that length. For this to work
    the copied path also needs to keep its own copies of the path extents
    because the parent path may change these by adding nodes.
    
    The clip stack now uses the cogl_path_copy mechanism to store paths in
    the stack instead of directly copying the data. This should save some
    memory and processing time.

 clutter/cogl/cogl/Makefile.am         |    1 +
 clutter/cogl/cogl/cogl-clip-stack.c   |   37 +---
 clutter/cogl/cogl/cogl-context.c      |    8 +-
 clutter/cogl/cogl/cogl-context.h      |    7 +-
 clutter/cogl/cogl/cogl-internal.h     |   28 ---
 clutter/cogl/cogl/cogl-path-private.h |   96 ++++++++++
 clutter/cogl/cogl/cogl-path.c         |  333 +++++++++++++++++++++++++--------
 clutter/cogl/cogl/cogl-path.h         |   46 +++++
 doc/reference/cogl/cogl-sections.txt  |    3 +
 9 files changed, 413 insertions(+), 146 deletions(-)

commit 45885850d27aede5383e4aad84690e5fb9002fa5
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Apr 8 14:37:01 2010 +0100

    cogl: renames cogl_multiply_matrix to cogl_transform
    
    Although cogl_multiply_matrix was consistent with OpenGL, after further
    consideration it was agreed that cogl_transform is a better name. Given
    that it's in the global cogl_ namespace cogl_transform seems more self
    documenting.

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

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

    docs: This improves the documentation for cogl_push_framebuffer
    
    This adds an example of how to setup a Clutter style 2D coordinate space
    and clarifies what state is owned by a framebuffer. (projection,
    modelview, viewport and clip stack)
    
    When we expose more cogl_framebuffer API this example will hopefully be
    migrated into a more extensive introduction to using framebuffers.

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

commit d2d890a33ebbde2e4a4e5fb7b90b75ed33a5af05
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Mar 3 16:37:59 2010 +0000

    test-cogl-offscreen: Setup a clutter style modelview/projection
    
    This updates test-cogl-offscreen to give an example of setting up a
    CoglFramebuffer with a Clutter style 2D coordinate system with (0,0) top
    left and (framebuffer_width, framebuffer_height) bottom right.

 tests/interactive/test-cogl-offscreen.c |  109 ++++++++++++++++++++++++++++++-
 1 files changed, 108 insertions(+), 1 deletions(-)

commit 6f6ab8692911e0d0cdfd76bc7a90bd95af5063b1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 19 09:55:30 2010 +0000

    cogl: move cogl_set_source* funcs into cogl.c
    
    Previously cogl_set_source and cogl_set_source_texture were in
    cogl-material.c and the cogl_set_source_color* funcs were in
    cogl-color.c. Originally this was because cogl.c was duplicated between
    the GL and GLES backends and we didn't want to add to the amount of
    duplicated code, but these files have since been consolidated into one
    cogl.c.

 clutter/cogl/cogl/cogl-color.c    |   24 ---------------
 clutter/cogl/cogl/cogl-material.c |   36 ----------------------
 clutter/cogl/cogl/cogl.c          |   60 ++++++++++++++++++++++++++++++++++++-
 3 files changed, 59 insertions(+), 61 deletions(-)

commit a678e9f62737994d42ea0d2066ff97464b00ba16
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 19 09:30:59 2010 +0000

    cogl: adds convenience cogl_multiply_matrix function
    
    Quite often it's desirable to be able to multiply the current modelview
    matrix by an arbitrary matrix. Currently though you have to first
    explicitly call cogl_get_modelview_matrix to get the current modelview
    into a temporary variable, then you need to multiply it with your matrix
    using cogl_matrix_multiply and finally use cogl_set_modelview_matrix to
    make the result be the new modelview. This new convenience function lets
    more efficiently skip the first get and last set steps.

 clutter/cogl/cogl/cogl.c |    8 ++++++++
 clutter/cogl/cogl/cogl.h |   11 +++++++++++
 2 files changed, 19 insertions(+), 0 deletions(-)

commit 1dd70aff731ae8eba747d0dc914021067b1adadc
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Mar 19 09:16:08 2010 +0000

    cogl: rename cogl_enable to _cogl_enable
    
    Every now and then someone sees the cogl_enable API and gets confused,
    thinking its public API so this renames the symbol to be clear that it's
    is an internal only API.

 clutter/cogl/cogl/cogl-context.c       |    2 +-
 clutter/cogl/cogl/cogl-internal.h      |    4 +-
 clutter/cogl/cogl/cogl-journal.c       |    6 ++--
 clutter/cogl/cogl/cogl-material.c      |    2 +-
 clutter/cogl/cogl/cogl-path.c          |   10 +++---
 clutter/cogl/cogl/cogl-primitives.c    |    2 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c |    2 +-
 clutter/cogl/cogl/cogl.c               |   52 ++++++++++++++++----------------
 8 files changed, 40 insertions(+), 40 deletions(-)

commit fdf608af4c01511699e5108da8e3ad639e0ee405
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 31 19:03:02 2010 +0100

    test-cogl-tex-polygon: Actually use the material it creates
    
    test-cogl-tex-polygon creates a separate material so that it can set
    the texture filters. However in the paint functions that use
    cogl_polygon it was calling cogl_set_source_texture which replaces the
    material and ends up always using GL_LINEAR. This patch makes the
    paint functions assume the correct source is set up instead of trying
    to select a new source.

 tests/interactive/test-cogl-tex-polygon.c |   35 +++++++++++-----------------
 1 files changed, 14 insertions(+), 21 deletions(-)

commit 53cf25ef11fc8bab5dc3c541c77ced4b714d4ce3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 31 15:14:09 2010 +0100

    Add jhbuild moduleset
    
    Clutter should provide a moduleset for JHBuild, to allow building the
    whole Clutter stack within a separate prefix.

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

commit 6fcc8c5bce08296151de418e472d2777c8b2abca
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Mar 26 00:41:46 2010 +0000

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

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

commit 8df4a0b8fdbbff580aab4377dec9878c693d2440
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Mar 26 00:35:36 2010 +0000

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

 clutter/clutter-actor.c                    |   32 ++++++++++++++++++++++++++++
 clutter/clutter-actor.h                    |    2 +
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 35 insertions(+), 0 deletions(-)

commit 7483f82566cad0359d305a4096f4263d91d4991a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 25 09:45:59 2010 +0000

    docs: Add 1.4 index to the API references
    
    Now that master has branched for the 1.3 development cycle.

 doc/reference/clutter/clutter-docs.xml.in |    5 +++++
 doc/reference/cogl/cogl-docs.xml.in       |    5 +++++
 2 files changed, 10 insertions(+), 0 deletions(-)

commit 7b63da69cf294b4d076e405e0af5c8afe47c2253
Author: José Dapena Paz <jdapena@igalia.com>
Date:   Wed Mar 17 16:16:09 2010 +0100

    Add "homogeneous" mode to ClutterBoxLayout.
    
    Added new "homogeneous" mode to ClutterBoxLayout, that makes layout children
    get all the same size.
    
    This is heavily inspired in the "homogeneous" attribute available in GtkBox,
    but simplified as we don't have padding nor borders in box layout, only
    spacing.
    
    Also added to test-box-layout a key to set/unset homogeneous mode.
    
    * Coding style fixes.
    * Added proper test for homogeneous mode in box layout.
    * Fix in homogeneous mode.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2034
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-box-layout.c        |  122 +++++++++++++++++++++++++++++++++--
 clutter/clutter-box-layout.h        |    3 +
 tests/interactive/test-box-layout.c |    6 ++
 3 files changed, 126 insertions(+), 5 deletions(-)

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

    Use begin/end macros in cogl-primitives.h
    
    Protect the people using a C++ compiler from the dark abyss of C code.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2049

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

commit 6a8e1087576c295807835d877c87fcb79971b2eb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 24 15:32:28 2010 +0000

    clutter-actor: Rename y1 to y_1 to avoid a compiler warning
    
    Somebody somewhere decided it would be ok to define 'y1' as a global
    function in math.h thus condemning us to repeatedly making commits to
    fix these obnoxious compiler warnings about aliasing.

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

commit 5de85051c324449b813adc43186f249f75289858
Author: Adel Gadllah <adel.gadllah@gmail.com>
Date:   Sun Mar 21 13:12:58 2010 +0100

    Make sure GLX_SGI_swap_control is set up correctly
    
    glXSwapIntervalSGI only affects buffer swaps to the
    current GLX drawable.
    
    That means that calling it once in clutter_backend_glx_get_features
    isn't sufficent, so set it up in clutter_backend_glx_ensure_context to
    make sure it affects buffer swaps for the current drawable.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2044
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 2fc8ecdb92e80e16510048c56bb07e5b87427f26
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Fri Mar 19 18:18:17 2010 +0000

    glx: Clean up the clip area conditions
    
    Move the size check after the NULL check, add the clip height into the
    check logic and fix up the comment.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2040
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

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

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

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

commit a39cef41b85ca6f38f3e9c95fbd18de990f73b7f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 19 11:39:23 2010 +0000

    glx: Do not access stage_clip without checking it
    
    The stage_clip parameter for add_redraw_clip() can be NULL, so we need
    to check before accessing its members.

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

commit 913c187f4e611aac71360863ca67640e4cfd1d41
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Tue Mar 16 20:38:53 2010 -0400

    Switch texture units before calling _cogl_texture_set_filters()
    
    When setting up the state for a layer, we need to switch texture
    units before we do anything that might bind the texture, or
    we'll bind the wrong texture to the previous unit.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2033
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 66e0f187533f5ee322967cff8996c9f1e22d8361
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 19 11:13:04 2010 +0000

    json: Update JsonParser
    
    Add another fix from upstream, to clean up the code.

 clutter/json/json-parser.c |   28 +++++++++++++---------------
 1 files changed, 13 insertions(+), 15 deletions(-)

commit 295bc517f8a8789b335c7d8d7643cee8519b0ce3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 19 10:40:12 2010 +0000

    json: Update the internal copy of JsonGenerator
    
    The JsonGenerator we have inside Clutter as a fallback for a missing
    system copy of JSON-GLib is way out of date.

 clutter/json/json-generator.c |  177 +++++++++++++++++++++++++++++++++--------
 1 files changed, 143 insertions(+), 34 deletions(-)

commit d21b7522f825d913317a8e62b86314a7737c7e43
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Thu Mar 18 13:55:01 2010 -0400

    Fix errors in keeping track of the stage bounding rectangle
    
    * Add new clutter_geometry_union(), because writing union intersection
      is harder than it looks. Fixes two problems with the inline code in
      clutter_stage_glx_add_redraw_clip().
    
      1) The ->x and ->y of were reassigned to before using them to
         compute the new width and height.
      2) since ClutterGeometry has unsigned width, x + width is unsigned,
         and comparison goes wrong if either rectangle has a negative
         x + width. (We fixed width for GdkRectangle to be signed for GTK+-2.0,
         this is a potent source of bugs.)
    
    * Use in clutter_stage_glx_add_redraw_clip()
    
    * Account for the case where the incoming rectangle is empty, and don't
      end up with the stage being entirely redrawn.
    
    * Account for the case where the stage already has a degenerate
      width and don't end up with redrawing only the new rectangle and not
      the rest of the stage.
    
    The better fix here for the second two problems is to stop using a 0
    width to mean the entire stage, but this should work for now.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2040
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 clutter/clutter-actor.c         |   29 +++++++++++++++++++++++++++++
 clutter/clutter-types.h         |    4 ++++
 clutter/glx/clutter-stage-glx.c |   26 +++++++-------------------
 3 files changed, 40 insertions(+), 19 deletions(-)

commit bfd2b19290dc021862ee542c80ddd4e21a20cfef
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Wed Mar 17 15:39:55 2010 -0400

    Set pixel store parameters before calling glGetTexImage
    
    We need to set up the rowstride and alignment properly in
    CoglTexture2D before reading texture data.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2036
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 9e0385304f7cff494c41ced5805393845f1e423a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 20:36:02 2010 +0000

    build: Mark --with-json=internal as experimental
    
    The system JSON-GLib installation should be the preferred way of parsing
    JSON in Clutter. The internal copy is limited by re-synchronization from
    upstream, and by the fact that upstream contains a fork of GScanner that
    allows parsing escaped UTF-8. We should warn users compiling Clutter
    with the internal copy, just like we warn about the internal image
    backend.

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

commit e1ad78ee183c973a210244ef845605ba9f11a373
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 20:29:59 2010 +0000

    docs: Update the README
    
    Add a "requirements" section and detail all the build requirements for
    Clutter, depending on the platform.

 README |   38 +++++++++++++++++++++++++++++---------
 1 files changed, 29 insertions(+), 9 deletions(-)

commit 7e700be7b8589e71255b9df601fcdc5bb35337a7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 20:27:18 2010 +0000

    build: Require xcomposite
    
    The X11TexturePixmap actor uses XComposite API directly, without guards.
    It has been doing so for a while, against the fact that we do check for
    the XComposite extension - but we don't depend on it. As soon as you try
    building Clutter on X11 without the XComposite extension available all
    hell breaks loose.
    
    The obvious fix is to make Clutter depend on XComposite - basically
    ratifying what's the current state of things.

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

commit a8595aec13a48e449db15bcc65cc65fe8f3ecfaf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 20:20:09 2010 +0000

    script: Add more comments and annotations
    
    Detail why we are adding a fake id, and under which circumstances that
    happens. Also be more verbose with the debug annotations.

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

commit 203847d03c551ea13f87a78e636e0a74dc13c5fb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 17:44:14 2010 +0000

    script: Skip empty nodes
    
    If we get an empty node then we should skip it; this is really a
    workaround for something that is broken in JSON-GLib or in our use
    of JSON-GLib.

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

commit d2bb57c3b2bc4ef7700735dcc4c6386b67fb4cc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Mar 18 14:15:33 2010 +0000

    Emit a critical warning if features are not initialized
    
    If you forgot to call clutter_init() then you currently end up with a
    warning saying that the stage cannot be initialized because the backend
    does not support multiple stages. Clearly not useful.
    
    We can catch some of the missing initialization in the features API,
    since we will likely end up asking for a feature at some point.

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

commit 54504b7ac46c92d996a08fa3957b702aea70af68
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 17 17:41:52 2010 +0000

    glx: Remove unnecessary call to create_stage()
    
    If we are in the stage realization sequence we already have a GLX
    context set in the backend; there is no need to call create_backend().

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

commit bf7e6ae587adaf3321ed56ec407ed2d432805f57
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 17 17:28:20 2010 +0000

    Add error reporting for create_context() failures
    
    We kind of assume that stuff will break well before during the
    ClutterBackend::create_context() implementation if we fail to create a
    GL context. We do, however, have error reporting in place inside the
    Backend API to catch those cases. Unfortunately, since we switched to
    lazy initialization of the Stage, there can be a case of GL context
    creation failure that still leads to a successful initialization - and a
    segmentation fault later on. This is clearly Not Good™.
    
    Let's try to catch a failure in all the places calling create_context()
    and report back to the user the error in a meaningful way, before
    crashing and burning.

 clutter/clutter-backend.c |   20 +++++++++++++++++++-
 clutter/clutter-feature.c |   11 +++++++----
 clutter/clutter-main.c    |    3 ++-
 clutter/clutter-private.h |    2 +-
 4 files changed, 29 insertions(+), 7 deletions(-)

commit d735ac4807b556e3444ed9611691e44b00ddd915
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 17 17:14:08 2010 +0000

    model: Let get_n_columns() return a sane value
    
    If you call get_n_columns() during the instance initialization phase but
    before set_name()/set_types() have been called, you'll get a (guint) -1.
    This is less than ideal.
    
    If columns haven't been initialized we should just return 0, which was
    the intent of the API since the beginning.
    
    Based on a patch by: Bastian Winkler <buz@netbuz.org>
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 0a6497a3b6c4219e6a6a9310849159b00c864671
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 16 18:57:28 2010 +0000

    model: Add a comment on the n_columns field type
    
    To avoid another bug report like:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=2017
    
    with a patch that gets applied without a proper review, resulting in a
    bug like:
    
      http://bugzilla.openedhand.com/show_bug.cgi?id=2032
    
    I should probably add a comment on why on earth we're using an integer
    as the n_columns member of the ClutterModelPrivate structure, and why it
    is important that it is initialized as -1.

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

commit de4abfac955641de9218d272e6aea1a8c618a577
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 16 18:53:24 2010 +0000

    Revert "model: Use guint for the n_columns field"
    
    The int storage, and the initial value of -1, is used as a guard when
    subclassing ClutterListModel to allow the sub-class to call
    clutter_model_set_names() and clutter_model_set_types().
    
    This reverts commit c274118a8f7ed18e5bc703e614a9ea0a7cdb553c.

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

commit 035d571e95b65437a6aeebe7c095d76807b95765
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 16 10:44:40 2010 +0000

    Branch master for 1.3

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

commit 4e946f538ca2871346a0fa3e918de439ac74ecc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 15 16:40:50 2010 +0000

    Post-release version bump to 1.2.3

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

commit 7b5692f8b362d8c39a165d7457fe4e88a67db9df
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 15 16:25:46 2010 +0000

    Release 1.2.2

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

commit 7a3fe4c056a64bcf04905b12cc35dd03f8c120fc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Mar 15 16:04:34 2010 +0000

    Update NEWS file

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

commit 60d8369a1afaba4efdd64688e4157bc4b48b7525
Author: Colin Walters <walters@verbum.org>
Date:   Fri Mar 12 17:39:27 2010 -0500

    Return and warn if a handle's refcount is <= 0
    
    This makes it more likely consumers notice invalid unreferences.
    GObject has the same assertion.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2029
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit c274118a8f7ed18e5bc703e614a9ea0a7cdb553c
Author: Bastian Winkler <buz@netbuz.org>
Date:   Tue Mar 2 09:26:57 2010 +0100

    model: Use guint for the n_columns field
    
    clutter_model_get_n_columns is supposed to return a guint, so the
    n_columns field needs to be a guint with the initial value set to 0.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2017
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit c2faaa4f39d3ad69523e806bffe4651545c0bdea
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Mar 9 16:37:52 2010 -0800

    cogl-texture-2d: Determine format before checking texture support
    
    When entering cogl_texture_2d_new_from_bitmap the internal format can
    be COGL_PIXEL_FORMAT_ANY. This was causing _cogl_texture_2d_can_create
    to use an invalid GL format type. Mesa apparently ignores this but it
    was causing errors when Cogl is compiled with debugging under NVidia.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2026

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

commit a25885edf294be0bc4a6710cc3fd7dec4b3ef013
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Mar 1 16:49:04 2010 -0500

    Fix checks for out-of-bounds coordinates and repeats
    
    Add a return result from CoglTexture.transform_quad_coords_to_gl(),
    so that we can properly determine the nature of repeats in
    the face of GL_TEXTURE_RECTANGLE_ARB, where the returned
    coordinates are not normalized.
    
    The comment "We also work out whether any of the texture
    coordinates are outside the range [0.0,1.0]. We need to do
    this after calling transform_coords_to_gl in case the texture
    backend is munging the coordinates (such as in the sub texture
    backend)." is disregarded and removed, since it's actually
    the virtual coordinates that determine whether we repeat,
    not the GL coordinates.
    
    Warnings about disregarded layers are used in all cases where
    applicable, including for subtextures.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2016
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

 clutter/cogl/cogl/cogl-atlas-texture.c     |    2 +-
 clutter/cogl/cogl/cogl-primitives.c        |   40 ++++++++++------------------
 clutter/cogl/cogl/cogl-sub-texture.c       |    9 +++---
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |   22 +++++++++++++--
 clutter/cogl/cogl/cogl-texture-2d.c        |   15 ++++++++--
 clutter/cogl/cogl/cogl-texture-private.h   |   18 ++++++++++--
 clutter/cogl/cogl/cogl-texture.c           |    2 +-
 7 files changed, 66 insertions(+), 42 deletions(-)

commit 382b38c0f7fa79ed1679875db4c7b10e26fff039
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 10 00:25:26 2010 +0000

    test-paint-wrapper: Request ARGB visuals on GLX
    
    If we are on GLX we have to request ARGB visuals, otherwise Clutter will
    not do it by itself.

 tests/interactive/test-paint-wrapper.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

commit 6bd1846d6c39d27863a6fc89356324c0cb3a57ce
Author: José Dapena Paz <jdapena@igalia.com>
Date:   Mon Mar 8 15:37:36 2010 +0100

    Fix argb initialisation.
    
    Fix clutter initialisation if argb visuals are enabled, setting a border
    color on creating the dummy window. This should avoid BadMatch happening
    when the depth of the root window visual is not the same of the depth
    of the argb visual.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2011
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 3d2d932835bd74d497fcbec6695208be155924d0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Mar 7 23:46:59 2010 +0000

    actor: Remove some double indirection
    
    Use an intermediate variable to avoid a double indirection when accessing
    the instance private data structure.

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

commit 9ad1197cb21552cd0db03158eae0ce2742c52ede
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Mar 7 20:54:33 2010 +0000

    json: Improve strictness of the JSON parser
    
    Backport of the upstream JSON-GLib commit that improved the strictness
    of JsonParser.
    
    The original upstream commit is:
    
      29881f03468db08bfb404cfcd5b61b4cdc419a87

 clutter/json/json-parser.c |   98 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 79 insertions(+), 19 deletions(-)

commit 7c6567704d0adc3a5456d5ac3bedb85fb6b55709
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 5 11:39:32 2010 +0000

    Add test-cogl-texture-rectangle to the ignore file

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

commit ac074bc0f06658a59f05d1e1d0b149ccf5117448
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Mar 5 08:48:52 2010 +0000

    eglnative: Connect StageWindow.show and .hide
    
    The show() and hide() methods of the StageWindow interface are
    implemented but not assigned when initializing the interface
    vtable.

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

commit dbe2acc2b1dcba44964f7fafcb242dd346de5f40
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 18:17:15 2010 +0000

    docs: Update the HACKING.backends file
    
    The create_context() and ensure_context() sections should be more clear
    on the role of the functions, and their eventual caveats, like being
    called multiple times.

 doc/HACKING.backends |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit c3a942abdec57583d0fc917b7578d574e5c1573d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Mar 2 15:18:00 2010 +0000

    Add a conformance test for rectangle textures
    
    The test creates a GL_TEXTURE_RECTANGLE_ARB texture using
    cogl_texture_new_from_foreign and confirms that rendering it works
    correctly. If the rectangle texture extension isn't available then
    this test always succeeds.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2015

 tests/conform/Makefile.am                   |    1 +
 tests/conform/test-cogl-texture-rectangle.c |  268 +++++++++++++++++++++++++++
 tests/conform/test-conform-main.c           |    1 +
 3 files changed, 270 insertions(+), 0 deletions(-)

commit f13a42793a979cb514ea86121b3450e2e0a2e05e
Author: Owen W. Taylor <otaylor@fishsoup.net>
Date:   Mon Mar 1 14:04:20 2010 -0500

    CoglTexture2DSliced: Handle TEXTURE_RECTANGLE_ARB
    
    In _cogl_texture_2d_sliced_foreach_sub_texture_in_region(), don't
    assert that the target is GL_TEXTURE_2D; instead conditionalize
    normalization on the target.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2015

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

commit 40b43fd64a7d5563d6b8b736c0ede625311934c2
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Mar 3 18:08:33 2010 +0000

    eglnative: Don't create a context if there already is one
    
    If the EGL context is already created then we shouldn't try to create
    another one. This was causing problems where one context would be
    created from calling _clutter_feature_init and the other was created
    from _clutter_backend_get_features. Cogl would set up its state using
    the first context and then assume the state was still valid when the
    second context became used so blending was not working correctly.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=2020

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

commit 169ce1508b29e7133f5033fa3f473b3d9ffdf577
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 17:46:53 2010 +0000

    x11-texture-pixmap: Move signal handler override
    
    The signal handling override for the ::queue-damage-redraw should be
    done in the class initialization function, not in the instance one.

 clutter/x11/clutter-x11-texture-pixmap.c |   31 ++++++++++++++---------------
 1 files changed, 15 insertions(+), 16 deletions(-)

commit 1b57800208fe1f34640c5001127eb570a24491f9
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 17:02:51 2010 +0000

    Update stb_image.c
    
    Upstream "released" 1.18.

 clutter/cogl/cogl/stb_image.c | 1605 ++++++++++++++++++++++-------------------
 1 files changed, 862 insertions(+), 743 deletions(-)

commit b19332a0bec7bb121ec62285b942ce880e547a95
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed Mar 3 15:45:43 2010 +0000

    animator: compare floating point values with an epsilon
    
    Direct comparisons with doubles are error prone.

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

commit 4168b216a3c062cc9d038e6ab71db4452ec116e4
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Wed Mar 3 15:46:19 2010 +0000

    animator: fix a crash in clutter_animator_compute_value
    
    Fix a crasher when there is only one key in the animator.

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

commit 824cd9a7ff20a764a031982317f38beb6fe135c2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 15:31:01 2010 +0000

    eglnative: Compilation fixes
    
    We should include <errno.h>, if we plan to use errno.
    
    Why, yes: I am that stupid.

 clutter/eglnative/clutter-backend-egl.c |    4 +++-
 clutter/eglnative/clutter-backend-egl.h |    2 +-
 clutter/eglnative/clutter-event-egl.c   |   11 +++--------
 3 files changed, 7 insertions(+), 10 deletions(-)

commit 52f8cd30cea1ac3b62c82d026a1d2d581c38e1c1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 10:49:34 2010 +0000

    docs: Fix gtk-doc annotation for ClutterStageManageClass
    
    Remove the semi-colon and use a colon for declaring the type.

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

commit a2f444ccbe4255e4386a9df40415a04637a296e2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Mar 3 10:47:42 2010 +0000

    box: Fix allow-none annotation
    
    The syntax for allowing NULL is "allow-none", not "allow none".

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

commit fa6070ec1a2bdbf5b5bd182b663ad5bdbdefb98d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Mar 2 19:41:44 2010 +0000

    Post-release version bump to 1.2.1

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