commit a2889ed0772503dce504ab260fbbf662a0ad25d8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:57:48 2010 +0000

    Release Clutter 1.1.8

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

commit a139bf9c40f88b46055e4cd9754ba51acca97c87
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:56:35 2010 +0000

    test-animator: Do not use mid-function blocks
    
    The test_animator_properties unit is so small that declaring a
    mid-function block for two variables is not that clever.

 tests/conform/test-animator.c |   57 ++++++++++++++++++++---------------------
 1 files changed, 28 insertions(+), 29 deletions(-)

commit 4d9327bbe14c2771896999844df3eac28da75347
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:55:29 2010 +0000

    animator: Zero the AnimatorKey:value member
    
    The test suite is showing random segfaults because the GValue member of
    AnimatorKey is not zero-ed on creation.

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

commit d62ddc374f88448fbde6db11ed4b10a594ecc5c4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:37:00 2010 +0000

    docs: Fixes for ClutterAnimator

 clutter/clutter-animator.c                 |    2 +-
 clutter/clutter-animator.h                 |   16 ++++++++--------
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 10 insertions(+), 9 deletions(-)

commit 9806f78905eea6e7c3b5b1f35b35650a823cb295
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:34:11 2010 +0000

    Merge me

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

commit 814d3acd0730f2e418ccc44d550e1fa369c142fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:27:20 2010 +0000

    docs: Update NEWS

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

commit 419afc01e8f2c96f7cf5c0962e5c421f8f3a476f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 17:27:13 2010 +0000

    docs: Update the release notes

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

commit c02dded0f6793ad377b566360371c23dbe61b4bc
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Feb 8 17:11:43 2010 +0000

    cogl-buffer: Use TEXTURE as the only value for CoglBufferUsageHint
    
    We should try to use more explicit defines than GL for our hints. For
    now we only support using a CoglBuffer to generate textures.

 clutter/cogl/cogl/cogl-buffer.c        |   38 +++++++------------------------
 clutter/cogl/cogl/cogl-buffer.h        |   12 ++-------
 clutter/cogl/cogl/cogl-pixel-buffer.c  |    2 +-
 tests/conform/test-cogl-pixel-buffer.c |   12 +++++-----
 4 files changed, 19 insertions(+), 45 deletions(-)

commit 54a6df22b038b047931dc108df35bc9e097d4e5e
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Feb 2 16:44:16 2010 +0000

    cogl-buffer: make sure the code compiles on GL ES
    
    OpenGL ES has no PBO extension, so we fallback to using a malloc'ed
    buffer. Make sure the OpenGL-only defines don't leak into the OpenGL ES
    compilation.

 clutter/cogl/cogl/cogl-buffer.c       |   28 ++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-pixel-buffer.c |    7 +++++++
 clutter/cogl/cogl/cogl-texture.c      |    5 ++++-
 3 files changed, 39 insertions(+), 1 deletions(-)

commit d0fe4795368ddc55411fb081832bfcdfdfeb4314
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Feb 2 12:59:51 2010 +0000

    cogl-pixel-buffer: Add a fallback path
    
    First, let's add a new public feature called, surprisingly,
    COGL_FEATURE_PBOS to check the availability of PBOs and provide a
    fallback path when running on older GL implementations or on OpenGL ES
    
    In case the underlying OpenGL implementation does not provide PBOs, we
    need a fallback path (a malloc'ed buffer). The CoglPixelBufer
    constructors will instanciate a subclass of CoglBuffer that handles
    map/unmap and set_data() with a malloc'ed buffer.
    
    The public feature is useful to check before using set_data() on a
    buffer as it will mean doing a memcpy() when not supporting PBOs (in
    that case, it's better to create the texture directly instead of using a
    CoglBuffer).

 clutter/cogl/cogl/cogl-pixel-buffer.c              |   56 ++++++++++++++++++-
 clutter/cogl/cogl/cogl-texture.c                   |   38 +++++++++----
 clutter/cogl/cogl/cogl-types.h                     |    4 +-
 .../cogl/cogl/driver/gl/cogl-feature-functions.h   |    5 ++
 4 files changed, 88 insertions(+), 15 deletions(-)

commit b5d5821304e8ca15ee4411bf7ff8f26a6a23c855
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri Jan 22 15:38:31 2010 +0000

    tests: Add a test for CoglPixelBuffers
    
    Exercise the whole public CoglBuffer / CoglPixelBuffer and
    cogl_texture_new_from_buffer API.

 .gitignore                             |    1 +
 tests/conform/Makefile.am              |    1 +
 tests/conform/test-cogl-pixel-buffer.c |  337 ++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c      |    3 +
 4 files changed, 342 insertions(+), 0 deletions(-)

commit b7f049495b527547d093ca337588ceb289c9cb2b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Fri Jan 22 15:07:27 2010 +0000

    cogl-texture: Add a new constructor to turn CoglBuffers into textures
    
    The only goal of using COGL buffers is to use them to create
    textures. cogl_texture_new_from_buffer() is the new symbol to create
    textures out of buffers.

 clutter/cogl/cogl/cogl-texture.c     |   55 +++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-texture.h     |   60 ++++++++++++++++++++++++++++++++++
 doc/reference/cogl/cogl-sections.txt |    3 ++
 3 files changed, 118 insertions(+), 0 deletions(-)

commit abbb668163537598790cb3eca564ea19b1e010ad
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Jan 10 18:04:29 2010 +0000

    cogl-pixel-buffer: add a pixel buffer object class
    
    This subclass of CoglBuffer aims at wrapping PBOs or other system
    surfaces like DRM buffer objects. Two constructors are available:
    
    cogl_pixel_buffer_new() with a size when you only care about the size of
    the buffer (such a buffer can be used to store several texture data such
    as the three planes of a I420 frame).
    
    cogl_pixel_buffer_new_full() is more a 1:1 mapping between the data and
    an underlying surface, with the possibility of having access to a low
    level memory buffer that may have a stride.

 clutter/cogl/cogl/Makefile.am                 |    3 +
 clutter/cogl/cogl/cogl-pixel-buffer-private.h |   72 ++++++
 clutter/cogl/cogl/cogl-pixel-buffer.c         |  317 +++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-pixel-buffer.h         |  165 +++++++++++++
 clutter/cogl/cogl/cogl.h                      |    1 +
 doc/reference/cogl/cogl-sections.txt          |    6 +
 6 files changed, 564 insertions(+), 0 deletions(-)

commit b5e9710cdf5795f532fe46b9dfcc704a07d99ac9
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Jan 10 17:28:24 2010 +0000

    cogl-buffer: add an abstract class around openGL's buffer objects
    
    Buffer objects are cool! This abstracts the buffer API first introduced
    by GL_ARB_vertex_buffer_object and then extended to other objects.
    
    The coglBuffer abstract class is intended to be the base class of all
    the buffer objects, letting the user map() buffers. If the underlying
    implementation does not support buffer objects (or only support VBO but
    not FBO for instance), fallback paths should be provided.

 clutter/cogl/cogl/Makefile.am           |    3 +
 clutter/cogl/cogl/cogl-buffer-private.h |  102 +++++++++++
 clutter/cogl/cogl/cogl-buffer.c         |  282 ++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-buffer.h         |  287 +++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-context.c        |    2 +
 clutter/cogl/cogl/cogl-context.h        |    5 +
 clutter/cogl/cogl/cogl.h                |    4 +
 doc/reference/cogl/cogl-docs.xml.in     |   21 +++
 doc/reference/cogl/cogl-sections.txt    |   17 ++
 9 files changed, 723 insertions(+), 0 deletions(-)

commit de8a6314f12854e748de515afb487af56eaac845
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Jan 25 11:21:05 2010 +0000

    cogl: new textures sould have GL_TEXTURE_MIN_FILTER set to GL_LINEAR
    
    The only way the user has to set the mipmap filters is through the
    material/layer API. This API defaults to GL_LINEAR/GL_LINEAR for the max
    and min filters. With the main use case of cogl being 2D interfaces, it
    makes sense do default to GL_LINEAR for the min filter.
    
    When creating new textures, we did not set any filter on them, using
    OpenGL defaults': GL_NEAREST_MIPMAP_LINEAR for the min filter and
    GL_LINEAR for the max filter. This will make the driver allocate memory
    for the mipmap tree, memory that will not be used in the nominal case
    (as the material API defaults to GL_LINEAR).
    
    This patch tries to ensure that the min filter is set to GL_LINEAR
    before any glTexImage*() call is done on the texture by setting the
    filter when generating new OpenGL handles.

 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |    9 +++---
 clutter/cogl/cogl/cogl-texture-2d.c                |    9 +++---
 clutter/cogl/cogl/cogl-texture-driver.h            |    9 ++++++
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |   27 ++++++++++++++++++++
 .../cogl/cogl/driver/gles/cogl-texture-driver.c    |   27 ++++++++++++++++++++
 5 files changed, 72 insertions(+), 9 deletions(-)

commit c0f65212baee25dd4e66f4366a54bd847c782eb3
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Jan 11 00:15:25 2010 +0000

    cogl: Introduce the GE_RET() debug macro
    
    Some GL functions have a return value that the GE() macro is not able to
    handle. Let's define a new Ge_RET() macro which will be able to handle
    functions such as glMapBuffer().
    
    While at it, removed the unused variadic dots to the GE() macro.

 clutter/cogl/cogl/cogl-internal.h |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 069ba6daf9d39b471eb5c1de6e621f1343d5f00c
Merge: cc6aefa 6ab9089
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 16:53:11 2010 +0000

    Merge branch 'animator-parser'
    
    * animator-parser:
      docs: Describe the Animation definition syntax
      animator: Provide a ClutterScript parser
      animator: Allow retrieving type property type from a key
      script: Use a node when resolving an animation mode

commit 6ab90899badf7820ffc4f40f23bf18c979762577
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 16:50:29 2010 +0000

    docs: Describe the Animation definition syntax
    
    The ClutterAnimator documentation needs a section on the syntax of its
    ClutterScript definition, possibly with an example.

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

commit 4dd11d6915f75ba62b8292c3138d4cc11a28fb21
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 15:52:18 2010 +0000

    animator: Provide a ClutterScript parser
    
    The whole point of having the Animator class is that the developer can
    describe a complex animation using ClutterScript. Hence, ClutterAnimator
    should hook into the Script machinery and parse a specific description
    format for its keys.

 .gitignore                        |    2 +
 clutter/clutter-animator.c        |  303 ++++++++++++++++++++++++++++++++++---
 tests/conform/Makefile.am         |    1 +
 tests/conform/test-animator.c     |   88 +++++++++++
 tests/conform/test-conform-main.c |    2 +
 tests/data/Makefile.am            |    2 +
 tests/data/test-animator-1.json   |    5 +
 tests/data/test-animator-2.json   |   29 ++++
 8 files changed, 409 insertions(+), 23 deletions(-)

commit 790a13c0d9d2249747cfb81dcb13f83c6cc2cec1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 15:47:46 2010 +0000

    animator: Allow retrieving type property type from a key
    
    When asking a key for its target value we also ask the developer to pass
    in an initialized GValue - but we don't make it easy to know the type of
    the GValue. A developer has to ask the GObject class for the GParamSpec
    and then initialize the GValue, instead.
    
    Since we know the type of the GValue we should provide a getter for it.
    
    We should also allow developers to throw at us GValue with compatible and
    transformable types.
    
    Finally, all the accessors should be constified.

 clutter/clutter-animator.c |   93 ++++++++++++++++++++++++++++++++------------
 clutter/clutter-animator.h |   13 +++---
 2 files changed, 75 insertions(+), 31 deletions(-)

commit 09f91ff6eab3d617be88e11bd17c226fa4d23aed
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 15:45:43 2010 +0000

    script: Use a node when resolving an animation mode
    
    Instead of taking a string and duplicating the "is it a string or an
    integer" check in both Alpha and Animation, the function in
    ClutterScript that resolves the animation mode values should take a
    JsonNode and do all the checks it needs.

 clutter/clutter-alpha.c          |   21 ++++-------------
 clutter/clutter-animation.c      |   25 ++++----------------
 clutter/clutter-script-parser.c  |   47 ++++++++++++++++++++++++-------------
 clutter/clutter-script-private.h |    2 +-
 4 files changed, 41 insertions(+), 54 deletions(-)

commit cc6aefad345f4490f59f33eaef6f7589de1f3f9b
Author: Robert Bragg <robert@linux.intel.com>
Date:   Thu Jan 14 18:11:57 2010 +0000

    cogl path: make sure marking the clip state dirty takes affect
    
    When we trashed the contents of the stencil buffer during
    _cogl_path_fill_nodes we marked the clip stack state as dirty and expected
    the clip stack code would clean up our glStencilFunc state.
    
    The problem is that we only try and update the clip state during
    _cogl_journal_init (when we flush the framebuffer state) which is only
    called when the journal first gets something logged in it.
    
    To make sure the stencil state is cleaned up we now also flush the journal
    so _cogl_journal_init will be called for the next logged rectangle.

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

commit 24338a7511cd09298695f0a0b51ea6a97fa6786a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 5 21:56:31 2010 +0000

    clutter-master-clock: Don't wait for a frame if time goes backwards
    
    If we aren't syncing to vblank or if the last dispatch didn't cause a
    redraw then the master clock will try to wait at least a small amount
    of time before dispatching again. However if time goes backwards then
    it would not do a dispatch until time catches up again. To fix this it
    know just runs a dispatch immediately if time goes backwards.
    
    This is related to Moblin bug #3839. There was a similar fix for this
    in 9dc012c07, however that only fixed the case where timelines
    wouldn't update. If there are no animations running then the master
    clock won't even try updating timelines until time catches up.
    
    http://bugzilla.o-hand.com/show_bug.cgi?id=1974

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

commit 8ac27e60707b2dfd13ba978b81421423e37ebf98
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 10:40:39 2010 +0000

    test-flow-layout: Remove unneeded Stage sizing
    
    The bug with resizable stages getting a 1, 1 window on X11 has been
    fixed by Chris.

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

commit 6106010b6f20980fc51d1431b623567eed10853d
Merge: 4cc269a c82c94e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 8 10:34:22 2010 +0000

    Merge remote branch 'origin/cwiiis-stage-resize'
    
    * origin/cwiiis-stage-resize:
      [stage-x11] Set the default size differently
      [stage] Set default size correctly
      Revert "[x11] Don't set actor size on ConfigureNotify"
      [x11] Don't set actor size on ConfigureNotify
      [stage] Now that get_geometry works, use it
      [stage-x11] make get_geometry always get geometry
      [stage] Get the current size correctly
      [stage] Set minimum width/height to 1x1
      [stage] Add set/get_minumum_size

commit 4cc269a4687f6ca4fcd88ada134cfa00e2b13a1a
Author: Øyvind Kolås <pippin@linux.intel.com>
Date:   Fri Feb 5 12:32:00 2010 +0000

    Add ClutterAnimator
    
    ClutterAnimator is a class for managing the animation of multiple
    properties of multiple actors over time with keyframing of values.
    
    The Animator class is meant to be used to effectively describe
    animations using the ClutterScript definition format, and to construct
    complex implicit animations from the ground up.
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 .gitignore                                 |    1 +
 clutter/Makefile.am                        |    2 +
 clutter/clutter-animator.c                 | 1435 ++++++++++++++++++++++++++++
 clutter/clutter-animator.h                 |  166 ++++
 clutter/clutter-types.h                    |    1 +
 clutter/clutter.h                          |    1 +
 doc/reference/clutter/clutter-docs.xml.in  |    4 +-
 doc/reference/clutter/clutter-sections.txt |   48 +
 doc/reference/clutter/clutter.types        |    1 +
 tests/interactive/Makefile.am              |    1 +
 tests/interactive/test-animator.c          |  134 +++
 11 files changed, 1793 insertions(+), 1 deletions(-)

commit c82c94e6205eda962faf5a51e663680c313be062
Author: Chris Lord <chris@linux.intel.com>
Date:   Sun Feb 7 19:17:43 2010 +0100

    [stage-x11] Set the default size differently
    
    We want to set the default size without triggering the layout machinary,
    so change the window creation process slightly so we start with a
    640x480 window.

 clutter/clutter-stage.c         |    3 ---
 clutter/glx/clutter-stage-glx.c |    4 +++-
 clutter/x11/clutter-stage-x11.c |    4 ++--
 3 files changed, 5 insertions(+), 6 deletions(-)

commit b968defae92f3fbd5a4a762b4c817ab58989ee82
Author: Chris Lord <chris@linux.intel.com>
Date:   Sun Feb 7 14:18:14 2010 +0100

    [stage] Set default size correctly
    
    Due to the way the new sizing works, clutter stage must set its size in
    init (to maintain old behaviour) and the properties on the X11 stage
    must be initialised to 1x1 so that it actually goes ahead with the
    resize.
    
    Fixes stages that aren't user resizable and have no size set from
    appearing at 1x1.

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

commit 8083dc418b3c2b069a9b0db9323650050a3f63b1
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 16:57:37 2010 +0100

    Revert "[x11] Don't set actor size on ConfigureNotify"
    
    This reverts commit 29cc027f069c9ad900b9044cd40075c2d17be736.
    
    I misunderstood the problem, this commit breaks resizes coming from
    outside of Clutter.

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

commit 29cc027f069c9ad900b9044cd40075c2d17be736
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 16:47:22 2010 +0100

    [x11] Don't set actor size on ConfigureNotify
    
    Calling clutter_actor_set_size in response to ConfigureNotify makes
    setting the size of the stage racy - the most common result of which
    seems to be that you can't set the stage dimensions to anything less
    than 640x480.
    
    Instead, add a first_allocation bit to the private structure of the X11
    stage and force the first resize (necessary or the default stage will be
    a 1x1 window).

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

commit cea9de7f047cb8c2b1d54f41ca1d77c3aff882e0
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 15:41:01 2010 +0100

    [stage] Now that get_geometry works, use it
    
    We want the actual window geometry in clutter_stage_set_minimum_size,
    not the set size. Now that the geometry function has been changed to do
    what it says, use it.

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

commit 4887707bb34faca0d7ad92f6628d18345163f5e0
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 15:34:55 2010 +0100

    [stage-x11] make get_geometry always get geometry
    
    Now that we have a minimum size getter on the stage object, change
    get_geometry to actually always return the geometry. This fixes stages
    that are set as user-resizable appearing at 1x1 size.
    
    This will need changing in other back-ends too.

 clutter/x11/clutter-stage-x11.c |   57 +++++++++++++++-----------------------
 1 files changed, 23 insertions(+), 34 deletions(-)

commit 27e33aa14ff5d14f6066da74922c960a037b5089
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 14:59:51 2010 +0100

    [stage] Get the current size correctly
    
    Get the current size of the stage correctly in
    clutter_stage_set_minimum_size. The get_geometry StageWindow function is
    not equivalent of the current size, use clutter_actor_get_size().

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

commit be11564b556a1b1c08b7b9e7a0a94bc00c4e6550
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 14:04:47 2010 +0100

    [stage] Set minimum width/height to 1x1
    
    Whoops, to maintain the old behaviour, make sure the default minimum
    width/height are 1x1.

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

commit fd11d3098f0182f24666ed77973269111cb0a8f5
Author: Chris Lord <chris@linux.intel.com>
Date:   Sat Feb 6 11:23:37 2010 +0000

    [stage] Add set/get_minumum_size
    
    Add two functions to set/get the minimum stage size. This takes effect
    when a stage is set to user resizable.

 clutter/clutter-stage.c                    |   75 ++++++++++++++++++++++++++++
 clutter/clutter-stage.h                    |    7 +++
 clutter/x11/clutter-stage-x11.c            |    6 +-
 doc/reference/clutter/clutter-sections.txt |    2 +
 4 files changed, 87 insertions(+), 3 deletions(-)

commit f973b73208bad266a2362e22e5aed1a0780d096d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sat Feb 6 11:00:50 2010 +0000

    Add cogl-subtexture test to the Git ignore file

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

commit e55966d675e57d516ea5aff36b03fde63d4839d3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 5 16:22:09 2010 +0000

    Deprecate clutter_util_next_p2()
    
    The next_p2() function should have never been publicly exposed by
    Clutter.

 clutter/clutter-util.c          |   15 ++++++++-------
 clutter/clutter-util.h          |    9 ++++++---
 tests/interactive/test-shader.c |   19 +++++++++++++++++--
 3 files changed, 31 insertions(+), 12 deletions(-)

commit bbaf6b233d0120e3199d779eeb2829e56ecc279b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 5 15:31:18 2010 +0000

    docs: Fix whitespace in the App manual stub

 doc/manual/clutter-manual.xml.in |  185 +++++++++++++++++---------------------
 1 files changed, 81 insertions(+), 104 deletions(-)

commit dcdb97006b563407d43f19779ac47f0330052541
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Feb 5 14:47:39 2010 +0000

    build: Add suppressions file to EXTRA_DIST

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

commit 830f2402d4f49b7173eb7fa0bda5762a4c430c9a
Merge: 1bdc3db 6b1b27d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Feb 6 00:20:07 2010 +0000

    Merge branch 'more-texture-backends'
    
    This adds three new texture backends.
    
    - CoglTexture2D: This is a trimmed down version of CoglTexture2DSliced
      which only supports a single texture and only works with the
      GL_TEXTURE_2D target. The code is a lot simpler so it has a less
      overheads than dealing with slices. Cogl will use this wherever
      possible.
    
    - CoglSubTexture: This is used to get a CoglHandle to represent a
      subregion of another texture. The texture can be used as if it was a
      standalone texture but it does not need to copy the resources.
    
    - CoglAtlasTexture: This collects RGB and RGBA textures into a single
      GL texture with the aim of reducing texture state changes and
      increasing batching. The backend will try to manage the atlas and
      may move the textures around to close gaps in the texture. By
      default all textures will be placed in the atlas.

commit 6b1b27d4f894cbefc90601eaf6214b55a71834b7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Feb 6 00:12:10 2010 +0000

    cogl-bitmap: Update the format after (un)premultiplying
    
    The pixel format of the bitmap needs to have its premult flag cleared
    or set after the premult conversion otherwise it may get converted
    again.

 clutter/cogl/cogl/cogl-bitmap-fallback.c |    4 ++++
 clutter/cogl/cogl/cogl-texture.c         |    3 +--
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 191d20eb56f31786660cd04aacc710344eb8df7a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Feb 5 17:03:04 2010 +0000

    cogl-atlas-texture: Fix a cut and paste error when getting the height
    
    There was a typo in getting the height of the full texture to check
    whether the sub region fits so that it was using the width
    instead. This was causing crashes when debugging is enabled for some
    apps.

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

commit 1bdc3db9ab54316f5f313dc3e991f3a621e83586
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Thu Feb 4 21:10:02 2010 +0000

    docs: Use % for defines not #
    
    Some links to defines in the gtk-doc annotations were using '#' instead
    of '%'.

 clutter/clutter-actor.c        |    4 ++--
 clutter/clutter-path.c         |   10 +++++-----
 clutter/cogl/cogl/cogl-fixed.c |    4 ++--
 3 files changed, 9 insertions(+), 9 deletions(-)

commit 1b94cc9268e57cc49e3bac914c4b979aec955f77
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Jan 27 16:03:28 2010 +0000

    docs: fix new line in the cogl xml top level document
    
    A comma in the FSF address is wrong. Supreme Offence.

 doc/reference/cogl/cogl-docs.xml.in |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 0ea25d661b887c27beaf0bd848dfda994d88782f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 4 18:29:47 2010 +0000

    event: Do not generate click count for SCROLL events
    
    The ClutterScrollEvent structure does not have a click count field,
    so Clutter should not generate the click count for events of type
    CLUTTER_SCROLL.

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

commit 15c6fef7e3e426764bafc316794a195a086e0d03
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 4 16:49:06 2010 +0000

    tests: Add a Valgrind suppression file
    
    When running tests under Valgrind it would be useful to pass a
    suppression file for the known one-off allocations done by Clutter
    and by its dependencies. This trims the output of Valgrind and
    improves the ability to actually spot leaks.

 tests/README                        |   35 ++++++-
 tests/data/clutter-1.0.suppressions |  173 +++++++++++++++++++++++++++++++++++
 2 files changed, 203 insertions(+), 5 deletions(-)

commit 1f70da62a73e3a10fe1ceb33d11f79fc29586fcf
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Feb 4 16:28:29 2010 +0000

    glx: Create a colormap for the dummy window
    
    Otherwise X will fail to create the window and throw a BadMatch error
    at least on NVidia.

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

commit 466b00a8064ad09f0574f8f46c6df0390d7c7d00
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 4 13:59:39 2010 +0000

    glx: Clarify *why* we need the dummy window
    
    The reason why we have a dummy, offscreen Window when we create the
    GLX context is that GLX does not like it when you ask the context for
    features if it's not made current to a Drawable. Maybe in the future
    it will allow us to do so, but right now we have to make do with what
    GLX offers us.

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

commit ea5e33cf3a38edddef88ec30131c35bb8ab4bfaf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Feb 4 13:56:33 2010 +0000

    glx: Do not leak a XVisualInfo
    
    The XVisualInfo we retrieve for the dummy window should be freed after
    we used it.

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

commit e6a3b6ebe75a2c0c3709fbe12cf04c4357b54fdd
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 3 23:08:30 2010 +0000

    cogl-texture: Avoid copying the bitmap when premultiplying from a file
    
    In cogl_texture_new_from_file we create and own a temporary
    bitmap. There's no need to copy this data if we need to do a premult
    conversion so instead it just does conversion before passing it on to
    cogl_texture_new_from_bitmap.

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

commit 59198b8ab8a6a7c1c3dbfa5c72abf36f8d66c543
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 3 22:54:44 2010 +0000

    cogl-texture: Split out _cogl_texture_prepare_for_upload
    
    The Cogl atlas code was using _cogl_texture_prepare_for_upload with a
    NULL pointer for the dst_bmp to determine the internal format of the
    texture without converting the bitmap. It needs to do this to decide
    whether the texture will go in the atlas before wasting time on the
    conversion. This use of the function is a little confusing so that
    part of it has been split out into a new function called
    _cogl_texture_determine_internal_format. The code to decide whether a
    premult conversion is needed has also been split out.

 clutter/cogl/cogl/cogl-atlas-texture.c   |   11 +---
 clutter/cogl/cogl/cogl-texture-private.h |    7 +++
 clutter/cogl/cogl/cogl-texture.c         |   81 ++++++++++++++++++------------
 3 files changed, 57 insertions(+), 42 deletions(-)

commit 5063f4669c2c94d7288405005f4df14e73a4f578
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 3 19:54:12 2010 +0000

    cogl-atlas: Make the cogl_atlas_* API internal
    
    This just adds an underscore to every entry point for the CoglAtlas
    API so that it's not exported.

 clutter/cogl/cogl/cogl-atlas-texture.c |   89 ++++++++++----------
 clutter/cogl/cogl/cogl-atlas.c         |  140 ++++++++++++++++----------------
 clutter/cogl/cogl/cogl-atlas.h         |   32 ++++----
 clutter/cogl/cogl/cogl-context.c       |    2 +-
 4 files changed, 132 insertions(+), 131 deletions(-)

commit cd3c5155d879782a6e6e1d7fa56043e03712b727
Author: Jussi Kukkonen <jku@linux.intel.com>
Date:   Wed Feb 3 17:04:38 2010 +0000

    text: implement del_word_next/del_word_prev()
    
    Bind ctrl-backspace and ctrl-del to functions that delete a word before
    or after the cursor, respectively.
    
    Selection does not affect the deletion, but current selection is
    preserved. This mimicks GTK+ functionality in GtkTextView and GtkEntry.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1767
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit d8d728a8d7ac4bc56f058379d76f4539d01189de
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 00:50:33 2009 +0000

    Remove the SDL backend
    
    The SDL API is far too limited for the windowing system needs of
    Clutter; the status of the SDL backend was always experimental, and
    since the Windows platform is supported by a native backend there is
    no point in having the SDL backend around any more.

 README                            |    8 +-
 clutter/Makefile.am               |    2 +-
 clutter/sdl/Makefile.am           |   26 ---
 clutter/sdl/clutter-backend-sdl.c |  207 --------------------
 clutter/sdl/clutter-backend-sdl.h |   70 -------
 clutter/sdl/clutter-event-sdl.c   |  377 -------------------------------------
 clutter/sdl/clutter-sdl.h         |   39 ----
 clutter/sdl/clutter-stage-sdl.c   |  197 -------------------
 clutter/sdl/clutter-stage-sdl.h   |   34 ----
 configure.ac                      |   41 +----
 10 files changed, 5 insertions(+), 996 deletions(-)

commit ae188d203c63d680dc58ba1e19f333719a6916d4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 20 16:41:25 2010 +0000

    win32: Use a dummy window to support delayed stage creation
    
    The Win32 backend now implements the create_context method which
    creates a context and binds it to a 1x1 invisible window. That way
    there will always be a context bound and the features can be retrieved
    without creating the default stage. This reflects the changes in
    1c6ffc8..b245d55 to the GLX backend.

 clutter/win32/clutter-backend-win32.c |  194 +++++++++++++++++++++++++++++++--
 clutter/win32/clutter-backend-win32.h |    2 +
 clutter/win32/clutter-stage-win32.c   |   84 ++------------
 3 files changed, 198 insertions(+), 82 deletions(-)

commit 479fdffc7d4f37f9ff104403dd7de685df97e0d5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Dec 6 18:56:14 2009 +0000

    glx: Fix error messages and debug notes
    
    Instead of using g_critical() inside the create_context() implementation
    of the ClutterBackendGLX we should use the passed GError, so that the
    error message can bubble up to the caller.

 clutter/glx/clutter-backend-glx.c |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

commit ede2cbfab05035247b2a6a2ca837cb8f71871c5d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 21:07:45 2009 +0000

    stage: Create the default stage on demand
    
    Instead of creating the default stage during initialization we can
    now safely create it whenever clutter_stage_get_default() is called.
    
    To maintain the invariant, the default stage is immediately realized
    by Clutter itself.

 clutter/clutter-main.c  |   28 ----------------------------
 clutter/clutter-stage.c |   15 ++++++++++-----
 2 files changed, 10 insertions(+), 33 deletions(-)

commit d2c091e62d4b9e897e8f8ef5de99f20417cc6682
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 20:49:54 2009 +0000

    glx: Create the dummy Window with the GLX context
    
    Since we must guarantee that Cogl has a GL context to query, it is too
    late to use the "dummy Window" trick from within the get_features()
    virtual function implementation.
    
    Instead, we can create a dummy Window from create_context() itself and
    leave it around - basically trading a default stage with a dummy X
    window.
    
    We need to have the dummy X window around all the time so that the
    GLX context can be selected and made current.

 clutter/clutter-main.c            |   16 ++--
 clutter/glx/clutter-backend-glx.c |  169 ++++++++++++++++++-------------------
 clutter/glx/clutter-backend-glx.h |    1 +
 3 files changed, 95 insertions(+), 91 deletions(-)

commit 5eb6fb74b660d22e7f31867b16997ee9f63bef4b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 20:48:55 2009 +0000

    feature: Make sure we have a GL context
    
    Before asking Cogl and ClutterBackend for the list of features we must
    have a GL backend ready.

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

commit a8daaa8222c9b4aaf7e46b1bb13a2ce8097153f1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 20:47:48 2009 +0000

    stage: Move default title in Stage.init
    
    The default title should be set from within clutter_stage_init(); at
    that point clutter_init() must have been called.

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

commit 38f26634eec3c81d61bb3b88b24563d7e4719f67
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 17:36:03 2009 +0000

    Lazily create the Pango fontmap
    
    The Pango fontmap needed by Clutter should be initialized the first
    time we need a PangoContext, not on initialization.

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

commit 6fbed66add4b8c03a0ba0f4edc1c2f0044608998
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 17:13:44 2009 +0000

    Delay default stage creation
    
    The default stage creation should be delayed as much as possible,
    ideally at the end of the init() process.

 clutter/clutter-backend.c         |    8 +++
 clutter/clutter-main.c            |   67 ++++++++++++-------------
 clutter/clutter-stage.c           |    6 +-
 clutter/cogl/cogl/cogl-journal.c  |    3 +
 clutter/glx/clutter-backend-glx.c |   98 ++++++++++++++++++++++++++++---------
 clutter/glx/clutter-stage-glx.c   |    5 ++
 6 files changed, 126 insertions(+), 61 deletions(-)

commit 3191ea1195d5e1d55facc147760b273efca76867
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Dec 3 17:35:19 2009 +0000

    cogl-debug: Remove redundant newlines
    
    The debugging notes wrapping g_debug() already have an implicit newline
    at the end of the passed message.

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

commit 16a5911cff90a2bba1b283ccd9a9ce6d0f435924
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Feb 3 15:05:37 2010 +0000

    tests: Clean up the cairo-flowers interactive test

 tests/interactive/test-clutter-cairo-flowers.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

commit cb52581a24c157e2bedb74c32d522dc56d9a91a2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Feb 3 14:35:45 2010 +0000

    text: Add :font-description
    
    High level toolkits might wish to construct a PangoFontDescription and
    then set it directly on a ClutterText actor proxy or sub-class.
    ClutterText should have a :font-description property to set (and get)
    the PangoFontDescription.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1960

 clutter/clutter-text.c                     |  131 +++++++++++++++--
 clutter/clutter-text.h                     |  225 ++++++++++++++--------------
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 234 insertions(+), 124 deletions(-)

commit 74c0170ccc80504018f2aab849a6a311c64052a6
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Feb 3 14:31:12 2010 +0000

    cogl-vertex-buffer: Refix disabling texture coord arrays
    
    Commit 92a375ab4 changed the initial value of max_texcoord_attrib_unit
    to -1 so that it could disable the texture coord array for the first
    texture unit when there are no texture coords used in the vbo. However
    max_texcoord_attrib_unit was an unsigned value so this actually became
    G_MAXUINT. The disabling loop at the bottom still worked because
    G_MAXUINT+1==0 but the check for whether any texture unit is greater
    than max_texcoord_attrib_unit was failing so it would always end up
    disabling all texture units. This is now fixed by changing
    max_texcoord_attrib_unit to be signed.

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

commit 301863d43bc79e792f8fe3ea5e9185d87cb74069
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Feb 2 17:07:22 2010 +0000

    text: Fixes for selection bound
    
    The commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730 exposed some issues
    when positioning the cursor with the mouse pointer: the selection is
    not moved along with the cursor when inserting a single character or a
    string.
    
    Also, some freeze_notify() are called too early, leading to decoupling
    from their respective thaw_notify().
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1955

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

commit 5bec49aea931e6835b97e549e23458a6214548ce
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Wed Jan 27 12:55:18 2010 -0500

    Use ClutterTimeline in test-clutter-cairo-flowers.c
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1969
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

 tests/interactive/test-clutter-cairo-flowers.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

commit c9a6e63fa4d1d710d9efeb850f3fc336933ee2a8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Feb 2 14:50:03 2010 +0000

    docs: Clarify Group's sizing semantics
    
    The documentation for ClutterGroup behaviour when setting an explicit
    size is not accurate - or, actually, it was accurate by the time
    ClutterGroup was first written but has been neglected in the following
    release cycles.
    
    To avoid confusion for new users of Clutter the documentation should be
    slightly expanded, mentioning the exact semantics of ClutterGroup with
    regards to: preferred size, explicitly set size and how to constrain the
    visible area of a ClutterGroup to an explicitly set size.
    
    Based on a patch by: Neil Roberts <neil@linux.intel.com>

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

commit 12b004b0e7e13ca64d7d35cd3fe083f582b7aa09
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Feb 2 12:56:04 2010 +0000

    tests: Add an initial Behaviour conformance suite
    
    The coverage of the Behaviour sub-classes is currently abysmal. An
    initial test suite for Behaviours should at least verify that the
    accessors and the constructors are doing the right thing.
    
    This initial test suite just verifies the BehaviourOpacity sub-class,
    but it already bumps up the overall coverage by 2%.

 .gitignore                        |    1 +
 tests/conform/Makefile.am         |    1 +
 tests/conform/test-behaviours.c   |   87 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    2 +
 4 files changed, 91 insertions(+), 0 deletions(-)

commit f94e6911510b5376dd490c1f8724e616aaf2e5dc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Feb 2 12:54:51 2010 +0000

    behaviour: Clean up BehaviourOpacity
    
    • Use a consistent coding style
    
    • Call set_bounds() from set_property(), because we need proper
      notification on the modified property

 clutter/clutter-behaviour-opacity.c |   56 ++++++++++++++++++++---------------
 1 files changed, 32 insertions(+), 24 deletions(-)

commit 521d71d4bc4ca4b06343365c71c9520b1ebfdc7f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 15:47:50 2010 +0000

    event: Unify the off-stage motion events delivery behaviour
    
    When we disable the per-actor events delivery Clutter replicates the X11
    implicit soft grab for motion events with off-stage. The implicit grab
    is done whenever the pointer of a device leaves a window with a button
    still pressed; with the implicit grab in place the window still receives
    motion events even after the LeaveNotify - until the button is released.
    
    The implicit grab is not honoured in the per-actor event deliver case,
    though, so we have a mismatch between two in theory equivalent cases.
    
    Luckily, the fix is pretty trivial: when we check for a motion event
    with a stage set but without an actor set, and that has off-stage
    coordinates, we arbitrarily set the source to be the stage of the event
    and emit the pointer event.

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

commit 46d6697b9170ba110439cbf61d152890b35a3837
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 14:53:13 2010 +0000

    build: -Wformat is required for -Wformat-security
    
    GCC will ignore -Wformat-security without -Wformat on the same compiler
    flags.

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

commit 157a0cf9364a9e60b29e5e88ca1783d9e174a635
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 14:48:50 2010 +0000

    build: Retrieve X11 cflags and libraries
    
    When using pkg-config to check for the x11 package compiler flags and
    libraries we actually need to retrieve those values from the pc file.
    
    This should also fix the issue with non-canonical installations of the
    X11 headers and shared objects.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1966

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

commit 145cc9d3dfd1dc51f254eefde35042fc20a6375e
Merge: aa6731e 5f1c8a1
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 1 13:37:19 2010 +0000

    Merge remote branch 'master' into texture-debugging
    
    Conflicts:
    	clutter/cogl/cogl/cogl-context.h

commit aa6731e338a88d03e718980604ac8f2393391a9f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 1 13:25:19 2010 +0000

    cogl-material: Compare GL texture numbers for material layer textures
    
    When deciding if a material layer is equal it now compares the GL
    target and texture number if the textures are not sliced. This is
    needed to get batching across atlased textures.

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

commit abe91784c4ba98417eabe0649bf73381afbd6fc7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Feb 1 12:11:58 2010 +0000

    cogl: Let GL do the format conversion when uploading texture data
    
    Cogl accepts a pixel format for both the data in memory and the
    internal format to be used for the texture. If they do not match then
    it would convert them using the CoglBitmap functions before uploading
    the data. However, GL also lets you specify both formats so it makes
    more sense to let GL do the conversion. The driver may need the
    texture in a specific format so it may end up being converted anyway.
    
    The cogl_texture_upload_data functions have been removed and replaced
    with a single function to prepare the bitmap. This will only do the
    premultiplication conversion because that is the only part that GL
    can't do directly.

 clutter/cogl/cogl/cogl-atlas-texture.c     |  111 +++++++-------
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |  220 +++++++++++++++-------------
 clutter/cogl/cogl/cogl-texture-2d.c        |   92 +++++-------
 clutter/cogl/cogl/cogl-texture-private.h   |   44 ++----
 clutter/cogl/cogl/cogl-texture.c           |  134 ++++++++---------
 5 files changed, 289 insertions(+), 312 deletions(-)

commit e83ffb1fa3436bf1506c32856b2a3ba23254e068
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 29 15:15:08 2010 +0000

    cogl: Do the premult conversion in-place rather than copying to a new buffer
    
    The premult part of _cogl_convert_premult has now been split out as
    _cogl_convert_premult_status. _cogl_convert_premult has been renamed
    to _cogl_convert_format to make it less confusing. The premult
    conversion is now done in-place instead of copying the
    buffer. Previously it was copying the buffer once for the format
    conversion and then copying it again for the premult conversion. The
    premult conversion never changes the size of the buffer so it's quite
    easy to do in place. We can also use the separated out function
    independently.

 clutter/cogl/cogl/cogl-atlas-texture.c     |    6 +-
 clutter/cogl/cogl/cogl-bitmap-fallback.c   |  142 +++++++++++-----------------
 clutter/cogl/cogl/cogl-bitmap-pixbuf.c     |    6 +-
 clutter/cogl/cogl/cogl-bitmap-private.h    |   22 ++--
 clutter/cogl/cogl/cogl-bitmap.c            |  102 ++++++++-------------
 clutter/cogl/cogl/cogl-texture-2d-sliced.c |   12 +-
 clutter/cogl/cogl/cogl-texture-2d.c        |   12 +-
 clutter/cogl/cogl/cogl-texture.c           |    6 +-
 8 files changed, 123 insertions(+), 185 deletions(-)

commit 72fba19eac68ffa30c3f60aeecfdbfa6a2da7bd4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 29 12:19:42 2010 +0000

    cogl-atlas-texture: Use a single atlas for both RGB and RGBA textures
    
    The internal format of the atlas texture is still set to the
    appropriate format so Cogl will disable blending for textures that are
    intended to be RGB. This should end up ignoring the alpha channel from
    the texture in the atlas. This makes the code slightly easier to
    maintain and should also improve the chances of batching.

 clutter/cogl/cogl/cogl-atlas-texture.c |  134 ++++++++++++--------------------
 clutter/cogl/cogl/cogl-context.c       |   18 ++---
 clutter/cogl/cogl/cogl-context.h       |    8 +--
 3 files changed, 57 insertions(+), 103 deletions(-)

commit ad6bd2ee88770c2ce86f81f7a64b6b121c3418d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 12:18:10 2010 +0000

    actor: Reword the allocation cycle warning
    
    Since we're allowing allocation cycles saying that calling
    queue_relayout() inside an allocation cycle "is not allowed" is kind of
    confusing. We should say that "it is not recommended".

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

commit 5f1c8a17e4f81ead1747b47939d593c80246bf06
Merge: ecbb7ce 8a4b647
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 11:26:56 2010 +0000

    Merge branch 'device-manager'
    
    * device-manager: (37 commits)
      x11: Re-enable XI1 extension keyboards
      x11: Always handle core device events before XI events
      docs: Documentation fixes for DeviceManager
      device-manager: Fix the signals definition
      docs: Add sections for InputDevice and DeviceManager
      docs: Add clutter_input_device_get_device_name()
      tests: Print out the device details on motion
      Always register core devices
      device: Remove unused is_default member
      win32: Experimental implementation of device support
      tests: Print the device name, as well as its Id
      x11: Fill out the :name property of the InputDevices
      device: Add the :name property to InputDevice
      x11: Store core devices on the X11 Backend singleton
      device: Unset the cursor actor when leaving the stage
      device: Add pointer actor getter
      x11: Discard the LeaveNotify for off-stage ButtonRelease
      device: Do not overwrite the stage for an InputDevice
      event: Off-stage button releases have a click count of 1
      event: Scroll events do not have click count
      ...

commit ecbb7ce41a1a759e246fce07f146b8bed5e3d730
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date:   Mon Jan 25 16:13:58 2010 +0100

    Fix problems with "position" and "selection-bound" change notification
    
    Added a "selection-bound" notify on clutter_text_clear_selection as it
    changes the value.
    
    Added utility function clutter_text_set_positions, in order to
    change both cursor position and selection bound inside a
    g_object_[freeze/thaw]_notify block
    
    Added g_object_[freeze/thaw]_notify in other functions that changes
    both cursor position and selection bound
    
    Solves http://bugzilla.openedhand.com/show_bug.cgi?id=1955

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

commit 579a9a2665b402405820585dacba137984700110
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Feb 1 11:04:59 2010 +0000

    stage: Add :key-focus property
    
    ClutterStage has both set_key_focus() and get_key_focus() methods, but
    there is no :key-focus property. This means that it is not possible to
    get notifications when the key-focus has changes except by connecting to
    both the ::key-focus-in and ::key-focus-out signals and do additional
    bookkeeping.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1956
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit 95712f9897db7f06a6ca34661f20b388dd5a5f77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 29 10:13:57 2010 +0000

    docs: Update the README
    
    Clean up the grammar and some wrinkles in the text.

 README |   91 ++++++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 58 insertions(+), 33 deletions(-)

commit 5b9259ba807f4151d08bf2ea868c2cdeed97e975
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 29 09:31:13 2010 +0000

    docs: Update the configure switches in the README

 README |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit 763fcabd8b287445d32eadb6086b0438e3962294
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 29 09:29:53 2010 +0000

    build: Warn with --disable-conformance and --enable-gcov
    
    When building Clutter without conformance test suite we ought to warn
    the user that the coverage report is not going to be accurate.

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

commit 21d21adbc45a6e0023e4a21b357fbf392b469fb2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 29 09:29:37 2010 +0000

    Remove tabs from configure.ac

 configure.ac |   51 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 28 insertions(+), 23 deletions(-)

commit 5f5f6d825f6460f532f0c0448fc403cdb95e4697
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 29 09:26:47 2010 +0000

    build: Allow disabling the conformance test suite
    
    When building Clutter for packaging on headless boxes it's pointless to
    allow building the conformance test to be built (and run on 'make
    check').

 configure.ac      |   14 +++++++++++++-
 tests/Makefile.am |   25 ++++++++++++++++++++-----
 2 files changed, 33 insertions(+), 6 deletions(-)

commit 7a1ebcbced45c21937c4407e28274fdb4a92af52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 27 21:26:26 2010 +0000

    Whitespace fixes in cogl-util

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

commit 578e83e463d4d681de27f1b4e5d64dea8161f0f7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 27 21:16:28 2010 +0000

    Whitespace fixes

 clutter/clutter-frame-source.c     |    3 +-
 clutter/clutter-timeout-interval.c |   38 +++++++++++++++++++++--------------
 clutter/clutter-timeout-pool.c     |    5 ++-
 3 files changed, 28 insertions(+), 18 deletions(-)

commit 2d5eeba5d89c129f991f367f0e80c3a152f19e52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 27 21:14:43 2010 +0000

    docs: Fixes for TimeoutPool and Frame sources
    
    The TimeoutPool is not used by ClutterTimeline any more, so we need to
    remove a sentence from its description. We also need to fix the gtk-doc
    syntax errors.

 clutter/clutter-frame-source.c |   25 +++++++++++++------------
 clutter/clutter-timeout-pool.c |    8 +-------
 2 files changed, 14 insertions(+), 19 deletions(-)

commit 046a4b80476794bebdfd9005c826a64b7c8c9f81
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 22 18:14:57 2010 +0000

    cogl: Use the colours of COGL_DEBUG=rectangles to debug batching
    
    Instead of assigning a new colour to each quad of a batch, the
    rectangle debugging code now assigns a new colour to each batch so
    that it can be used to visually see what is being batched. The colour
    is stored in a global variable that is reset during cogl_clear. This
    improves the chances that the same colour will be used for a batch in
    the next frames to avoid flickering.

 clutter/cogl/cogl/cogl-context.h |    6 ++++
 clutter/cogl/cogl/cogl-journal.c |   54 ++++++++++++++++++++++++++------------
 clutter/cogl/cogl/cogl.c         |   11 +++++++
 3 files changed, 54 insertions(+), 17 deletions(-)

commit 92a375ab47296a81d739ca29b0972c7abe6eda16
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 26 13:46:27 2010 +0000

    cogl-vertex-buffer: Fix disabling the texture arrays from previous prim
    
    When setting up the state for the vertex buffer,
    enable_state_for_drawing_buffer tries to keep track of the highest
    numbered texture unit in use. It then disables any texture arrays for
    units that were previously enabled if they are greater than that
    number. However if there is no texturing in the VBO then the max used
    unit would be left at 0 which it would later think meant unit 0 is
    still in use so it wouldn't disable it. To fix this it now initialises
    the max used unit to -1 which it should interpret as ‘no units are in
    use’ so it will later disable the arrays for all units.
    
    Thanks to Jon Mayo for reporting the bug.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1957

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

commit f288eae0fc454876c2beb87b1205681a338d7f65
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 27 12:06:22 2010 +0000

    docs: Add some notes about the CoglPixelFormat enums
    
    The pixel format enums didn't explain what order in memory the
    components should be so it was difficult to use them.

 clutter/cogl/cogl/cogl-types.h |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

commit da392e24a55ad34bdc8fe9ac0841eca574f76194
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Jan 27 11:02:34 2010 +0000

    docs: Fix some of the examples for the animation docs
    
    In the example for clutter_actor_animate the "x" and "y" properties
    are floats so they need to be passed float values in the var args
    otherwise it will crash. There was also a missing comma.
    
    There were some other minor problems with the behaviours example which
    would cause it not to compile.

 .../clutter/clutter-animation-tutorial.xml         |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

commit 52cb54f5fa665fdf06270fc58121617b44877639
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Jan 26 18:47:25 2010 +0000

    cogl: Fix checks of the number of available texture units
    
    We were checking the number of texture units against the GL enum that is
    used in glGetInteger() to query that number. Let's abstract this in a
    little function.
    
    Took the opportunity to dig a bit on the usage of GL limits for the
    number of texture (image) units and document our use of them. We'll need
    something finer grained if we want to fully exploit texture image units
    with a programmable pipeline.

 clutter/cogl/cogl/cogl-internal.h |    2 ++
 clutter/cogl/cogl/cogl-material.c |   10 ++--------
 clutter/cogl/cogl/cogl.c          |   30 ++++++++++++++++++++++++++++++
 3 files changed, 34 insertions(+), 8 deletions(-)

commit 87d19b8d182c2524a5d3c30921fe2c3d4d120606
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Nov 15 20:17:47 2009 +0000

    cogl: Fix gl equivalent of blend string
    
    An example of what could be the equivalent of
        "RBG = REPLACE(TEXTURE)
         A   = MODULATE(PREVIOUS,TEXTURE)"
    using the ARB_texture_env_combine extension was given, but it seems that
    a few typo were left:
        * remove a spurius GL_COMBINE_ALPHA
        * use the _ALPHA variant of SRCN and OPERANDN when setting up the
          alpha combiner

 doc/reference/cogl/blend-strings.xml |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

commit afb30f4013fdcb58ee35af919fdb739ab587683c
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Nov 18 01:13:11 2009 +0000

    tests: blend-string: use g_assert_cmpint
    
    It's very useful to see the actual number the reference value is
    compared too when the test fails. GTest has g_assert_cmp$type()
    functions for that, so make good use of them.

 tests/conform/test-cogl-blend-strings.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit de31cbf4f7932f8d48583a476c5af9f6eed6adbd
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Tue Jan 26 16:59:50 2010 +0000

    test-cogl-multitexture: use several materials with texture matrices
    
    A small doubt has risen about the use of CoglTextureUnit in materials:
    will texture matrices still work if we have several materials, each of
    them having at texture on the same texture unit? The answer is yes!
    
    test-cogl-multitexture has been extended to use 2 materials with about
    the same setup except a little difference: the texture matrices for the
    lightmaps rotate in opposite directions.
    
    While at it, changed the rotation behaviour by an implicit animation
    with a small additional bonus bling.

 tests/interactive/test-cogl-multitexture.c |  143 ++++++++++++++++++++--------
 1 files changed, 102 insertions(+), 41 deletions(-)

commit 06d8ebb0ba2d468d492eeb94dede095a14eec909
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Sun Nov 15 19:54:17 2009 +0000

    cogl: Create CoglTextureUnit with its associated unit number
    
    The index field of CoglTextureUnit was never set, leading to the
    creation of units with index set to 0. When trying to retrieve a texture
    unit by its index (!= 0) with _cogl_get_texture_unit(), a new one was
    created as it could not find it back in the list of textures units:
    ctx->texture_units.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1958

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

commit 8fc07c51a9c71aec77e4b76416ffedc72da309e2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 21 17:41:10 2010 +0000

    actor: Use GParamSpecUint for :opacity
    
    The :opacity property is defined using a GParamSpecUchar. This usually
    leads to issues with language bindings that don't have an 'unsigned
    char' type and that need to explicitly handle the conversion between
    G_TYPE_UCHAR and G_TYPE_INT or G_TYPE_UINT.
    
    The property definition already specifies an interval size of [0, 255]
    on the values; more importantly, GObject already implicitly transforms
    between G_TYPE_UCHAR and G_TYPE_UINT (the GValue transformation
    functions are registered at type system initialization time) so
    switching between a GParamSpecUchar and a GParamSpecUint should not be
    an ABI break.
    
    I have tested a simple program using the opacity property before and
    after the change and I cannot see any run-time warnings related to this
    issue.

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

commit d0f7debfba4879c3df20c0067789b063e18d93ce
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:44:28 2010 +0000

    test-easing: Do not reconnect signals multiple times
    
    The test should keep track of the last animation and avoid reconnecting
    signals to the same instance in case the -r argument has been passed.

 tests/interactive/test-easing.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 7073e69b4e504ddbaffad4a6139e93ddbd40b9f8
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:42:55 2010 +0000

    animation: Verify internal state
    
    Be more drastic if the internal state is broken, and assert() if the
    expected Alpha and Timeline instances we need are not valid. This
    usually implies a library bug or a massive heap corruption.

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

commit 8daa3035e563870fc614813fd6329c63542b129e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:42:10 2010 +0000

    docs: Fix the Animation:object property
    
    There is a typo in the Animation:object property gtk-doc declaration.

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

commit 0788aa43b29454efed3f60160b87881a1c84f603
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:41:33 2010 +0000

    animation: Add more debug annotations
    
    We need some better tracking of the Animation's lifetime.

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

commit 7fa7c4a1b621eff0533ff70b1b6c9be001f62e2a
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:36:41 2010 +0000

    animation: Transform if necessary
    
    The Animation code does transformation of values between type A and A'
    after checking for compatibility using g_value_type_compatible(). This
    is incorrect: compatibility means that the two types can be copied. The
    correct conversion should follow:
    
            if (compatible (type (A), type (A')))
              copy (A, A');
            else
              if (transformable (type (A), type (A')))
                transform (A, A');
              else
                error("Unable to trasform type A in A'");
    
    The transformation might still fail, so we need to check for errors
    there as well as a fall-through case.

 clutter/clutter-animation.c |   42 ++++++++++++++++++++++--------------------
 1 files changed, 22 insertions(+), 20 deletions(-)

commit 94249efff7ec46bbeaac04800d5a9a30c05dcde3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 21:33:28 2010 +0000

    animation: Check for value transformability
    
    We should not just check for compatibility, but also for the ability to
    transform a GValue of type A into another of type A'.
    
    Usually compatibility is enough, especially if types can be
    introspected beforehand; some times, though, we also need to check for
    transformability as a type can provide the transformation functions
    necessary for the operation.

 clutter/clutter-animation.c |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

commit 996614cfaf582bbfbf86874a95b4a7eef3c50630
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 21 15:34:19 2010 +0000

    cogl-atlas-texture: Add a debug option to disable the atlas
    
    If the user specifies the 'disable-atlas' debug option then no texture
    will be put in the atlas.

 clutter/cogl/cogl/cogl-atlas-texture.c |    5 +++++
 clutter/cogl/cogl/cogl-debug.c         |    3 ++-
 clutter/cogl/cogl/cogl-debug.h         |    3 ++-
 3 files changed, 9 insertions(+), 2 deletions(-)

commit 4695383281d4b74baa10d78253a27b2eb541eef3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 22 00:06:17 2010 +0000

    build: Use no-define
    
    We don't need the PACKAGE and VERSION defines in the config.h.

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

commit f7e7985344420caf4897777ced6f04cddb7052ee
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 21 23:57:38 2010 +0000

    build: Add no-portability option to automake
    
    We require the GNU version of make for some of our rules, and it's been
    so for a while now.

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

commit a545f66a5c34b66d1a31387105d114ca3edd3a46
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 21 23:41:18 2010 +0000

    master clock: Improve the timeline advancement protection
    
    The commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc which improved the
    protection against timeline removals during the master clock advancement
    was only doing half the job - and actually broke the chaining of
    animations inside the ::completed signal.
    
    We cannot simply take a reference on the timelines and still use the list
    held by the master clock because the do_tick() might result in the
    creation of a new timeline, which gets added at the end of the list with
    no reference increase and thus gets disposed at the end of the iteration.
    
    We also cannot steal the master clock timelines list because a timeline
    might be removed as the direct result of do_tick() and remove_timeline()
    would not find the timeline, failing and leaving a dangling pointer
    behind.
    
    For this reason we copy the list of timelines out of the one that the
    Master Clock holds, take a reference on each timeline, advance them all,
    release the reference and free the list.

 clutter/clutter-master-clock.c |   39 +++++++++++++++++++++++++++------------
 1 files changed, 27 insertions(+), 12 deletions(-)

commit 8a4b64715486699dd8d0ea2146d0adea37d2a6c7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 20 19:40:58 2010 +0000

    x11: Re-enable XI1 extension keyboards
    
    The extension keyboard support in XInput 1.x is hopelessly broken.
    
    Nevertheless, it's possible to use some bits of it, as we prefer the
    core keyboard events to the XInput events, thus at least having proper
    handling for X11 key events on the Stage window.

 clutter/x11/clutter-backend-x11.c      |    2 --
 clutter/x11/clutter-event-x11.c        |   28 ++++++++++++++++++++++++++--
 clutter/x11/clutter-input-device-x11.c |   21 ++++++++++++++-------
 tests/interactive/test-devices.c       |   12 +++++++-----
 4 files changed, 47 insertions(+), 16 deletions(-)

commit 94f9f3bd9345d8eb1551c429615473134e3f4e8f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 16:28:00 2010 +0000

    x11: Always handle core device events before XI events
    
    The XI 1.0 layer is complementary to the X11 core devices handling; this
    means that core events will still be emitted for the core pointer and
    keyboard devices, and that secondary (floating) devices should be
    handled on top of that.
    
    Thus, the XI event handling code should be executed (if explicitly
    compiled in and enabled) if the core device events have not been parsed.
    
    Note: this is going away with XI2, which completely replaces both core and
    XI1 events.

 clutter/x11/clutter-event-x11.c |  499 ++++++++++++++++++---------------------
 1 files changed, 224 insertions(+), 275 deletions(-)

commit dc39e9eff9de0797086ea1a505855724296981f7
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 15:29:52 2010 +0000

    docs: Documentation fixes for DeviceManager

 clutter/clutter-device-manager.c           |    7 ++++++-
 doc/reference/clutter/clutter-sections.txt |    2 --
 doc/reference/clutter/clutter.types        |    2 ++
 3 files changed, 8 insertions(+), 3 deletions(-)

commit 65c7ff7d05389a10eed1d881ca572082f03932fe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 15:29:14 2010 +0000

    device-manager: Fix the signals definition
    
    Add documentation for the signals, as well as using the correct type for
    the marshallers.

 clutter/clutter-device-manager.c |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

commit 0b47acf60b46b64ae838471765d86e1c65c01cc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 14:56:43 2010 +0000

    docs: Add sections for InputDevice and DeviceManager

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

commit 8ead5abba0ebe9c5b5c1b749bb28f7879d63aa49
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 14:42:19 2010 +0000

    docs: Add clutter_input_device_get_device_name()

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

commit 1f5a7b61b761bf8426b1229c481574c273a5964f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 12:24:21 2010 +0000

    tests: Print out the device details on motion
    
    The test-device interactive test should print out the device name and id
    when it detects a motion event.

 tests/interactive/test-devices.c |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 deletions(-)

commit d8e167f1519499a27ee04a9a0d167b5ffed3ce8e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 12:22:29 2010 +0000

    Always register core devices
    
    Even with XInput support we should always register core devices. This
    allows us to handle enter and leave events correctly on the Stage and
    to have a working XInput 1.x support in Clutter.

 clutter/x11/clutter-backend-x11.c      |   87 ++++++++++---------------------
 clutter/x11/clutter-backend-x11.h      |    1 +
 clutter/x11/clutter-event-x11.c        |   47 +++++++++++++++++-
 clutter/x11/clutter-input-device-x11.c |   14 +++---
 4 files changed, 82 insertions(+), 67 deletions(-)

commit e0b8d631593c0539c47de0158d5425391d7cdbc0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:52:27 2010 +0000

    device: Remove unused is_default member
    
    The is_default member of the InputDevice structure was not used
    anywhere.

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

commit 74dbcede25c9dee5b40cb057a26263d580800e7e
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:47:05 2010 +0000

    win32: Experimental implementation of device support
    
    Mostly lifted from the core pointer and keyboard X11 backend support.
    
    The win32 backend registers two devices (a core pointer and a core
    keyboard) and assigns them to the event structure when doing the
    translation from native events to Clutter events.
    
    Thanks to: Samuel Degrande <Samuel.Degrande@lifl.fr> for testing this
    patch.

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

commit 850dd5a38fe17e82b16e19144db4ac516e349dbb
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:40:01 2010 +0000

    tests: Print the device name, as well as its Id
    
    The test-devices interactive test should display the device name along
    with the id.

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

commit 66740e8000ea92b04da663a0d2ce890271d2af2f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:38:58 2010 +0000

    x11: Fill out the :name property of the InputDevices
    
    For the core pointer and keyboard we assign the names ourselves; for
    devices coming from XI we can use the XDeviceInfo.name member.

 clutter/x11/clutter-backend-x11.c |    5 ++++-
 clutter/x11/clutter-event-x11.c   |    9 ++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

commit cf4e05930a1243f9b58617a4a50833d5bab705b1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:37:43 2010 +0000

    device: Add the :name property to InputDevice
    
    The InputDevice should have a name, possibly user readable, coming from
    the backend.

 clutter/clutter-input-device.c |   46 +++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-input-device.h |    6 ++--
 clutter/clutter-private.h      |    9 +++++++
 3 files changed, 57 insertions(+), 4 deletions(-)

commit 79ad2b6a72bd91273e139e72af36d9b6db264001
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 11:21:52 2010 +0000

    x11: Store core devices on the X11 Backend singleton
    
    Instead of overloading the device id of 0 and 1 we should treat the core
    devices as special, and have a pointer inside the X11 backend singleton
    structure, for fast access.

 clutter/x11/clutter-backend-x11.c      |    8 +++-
 clutter/x11/clutter-backend-x11.h      |    3 ++
 clutter/x11/clutter-event-x11.c        |   13 +++----
 clutter/x11/clutter-input-device-x11.c |   63 ++++++++++++++++++++++++++++++++
 4 files changed, 77 insertions(+), 10 deletions(-)

commit 8a579838d54d2b6f552fd32d9772f6e04f178179
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 14 17:14:33 2010 +0000

    device: Unset the cursor actor when leaving the stage
    
    When an InputDevice leaves a stage we set the stage member of
    InputDevice to NULL. We should also unset the cursor_actor (as the
    device is obviously not on an actor any more).
    
    When the device re-enters the Stage the ENTER/LEAVE event generation
    machinery will then be able to emit the ENTER event on the Stage.

 clutter/clutter-input-device.c |   43 ++++++++++++++++++++++++++--------------
 1 files changed, 28 insertions(+), 15 deletions(-)

commit 55e4315aa5889185a055f3ab2d5b5d4c9cae4dc4
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 12 11:53:12 2010 +0000

    device: Add pointer actor getter
    
    ClutterInputDevice should have a getter method for retrieving the
    reactive actor underneath the pointer.

 clutter/clutter-input-device.c             |   37 ++++++++++++++++++++++++++++
 clutter/clutter-input-device.h             |    3 +-
 doc/reference/clutter/clutter-sections.txt |    1 +
 3 files changed, 40 insertions(+), 1 deletions(-)

commit 25c6ebbb2c70af7f268036b10dcd8d4a965c34c3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 00:03:13 2009 +0000

    x11: Discard the LeaveNotify for off-stage ButtonRelease
    
    If the user presses a button on a pointer device and then moves out the
    Stage X11 will emit the following events:
    
      LeaveNotify ➔ MotionNotify ... ➔ ButtonRelease ➔ LeaveNotify
    
    The second LeaveNotify differs from the first by the state field.
    
    Unfortunately, ClutterCrossingEvent doesn't have a modifier_state field
    like other events, so we cannot provide a way for programmatically
    distinguishing them from a Clutter perspective. This is also an X11-ism
    we might not even want to replicate on every backend with sane
    enter/leave semantics.
    
    For this reason we should check inside the X11 event processing if the
    pointer device has already left the Stage and ignore the second
    LeaveNotify.

 clutter/x11/clutter-event-x11.c |   58 +++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 24 deletions(-)

commit 8736b53d7cc6fd2b53649c076ef09cb69f9b37d6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 00:01:50 2009 +0000

    device: Do not overwrite the stage for an InputDevice
    
    The Stage field of an InputDevice is set by the backend, whenever the
    pointer enters or leaves the Stage. The Stage should not overwrite the
    stage field for every event it processes.

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

commit cf287db2048eae5eaa58a9cbffd42c703f345ff5
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Dec 9 00:00:49 2009 +0000

    event: Off-stage button releases have a click count of 1
    
    The ButtonRelease off-stage should not have a click count of 0 but a
    click count initialized to 1.

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

commit bddabf6d2ca100f4d91461129d4bb097c59ac666
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 8 23:59:56 2009 +0000

    event: Scroll events do not have click count
    
    Remove the unneeded CLUTTER_SCROLL case from the click count checks.

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

commit e30856a54d5d1e012cd2de30e519a487fd0b4f46
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Dec 8 18:33:01 2009 +0000

    Whitespace and indentation fixes

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

commit 0f9cfd9911c21933b34c07a9616f79022bcc01e3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 23:13:52 2009 +0000

    event: Clean up click-count detection
    
    Avoid a few indirections and direct access to the Event and InputDevice
    structures.

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

commit cf8a06f0186e44b3437b06c56c088e8dc465402b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 23:05:20 2009 +0000

    device: Store the current state, not the previous
    
    The previous state for the device is used by the click count machinery
    and we should not be overwriting it at every event; instead, we should
    use a parallel storage for the current state coming from the windowing
    system.

 clutter/clutter-input-device.c |   34 +++++++++++++++++-----------------
 clutter/clutter-private.h      |    7 +++++++
 2 files changed, 24 insertions(+), 17 deletions(-)

commit 68b47e3ed479242a94f7a8d302a2900f7e28c840
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 23:02:48 2009 +0000

    tests: Fix test-events output
    
    • The enter/leave event line should take into account the case where
      the related field is set to NULL (meaning entering from off-stage
      and leaving the stage).
    
    • The ButtonRelease line shows the click count but uses the button; the
      button *and* the click count should be displayed for both ButtonPress
      and ButtonRelease, to verify they match.

 tests/interactive/test-events.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

commit b3a42c3b09e256732395f7c63c4a39956d32d3da
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Dec 7 18:38:18 2009 +0000

    docs: Update the API reference
    
    Add the new symbols for InputDevice and DeviceManager

 clutter/clutter-device-manager.c           |    2 +-
 clutter/clutter-device-manager.h           |    2 +-
 clutter/clutter-main.c                     |    4 +-
 doc/reference/clutter/clutter-sections.txt |   49 +++++++++++++++++++++++++--
 4 files changed, 49 insertions(+), 8 deletions(-)

commit 130286979d04128b51fa8662aa13b6bbd1867ca2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 17:54:02 2009 +0000

    Do not pick when motion event delivery is disabled
    
    The device manager does not need to update the state of the devices
    when the user has disabled the delivery of motion events to actors:
    the events will always be delivered as they are to the stage.

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

commit 687c70dffa70a3256e9f734b090cb4a088e97bb1
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 16:33:03 2009 +0000

    Rework the emission of LEAVE/ENTER event pairs
    
    The LEAVE/ENTER event pairs should be queued during the InputDevice
    update process, when we change the actor under the device pointer.
    
    This commit cleans up the event emission code inside clutter-main.c
    and the logic of the event processing.

 clutter/clutter-device-manager.c |    4 +-
 clutter/clutter-input-device.c   |   81 +++++++++++++++-
 clutter/clutter-main.c           |  190 ++++++--------------------------------
 clutter/clutter-private.h        |    2 -
 4 files changed, 104 insertions(+), 173 deletions(-)

commit 75f05646fa117b8096e033f9fad0ba9de1ee01ac
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 16:31:14 2009 +0000

    tests: Clean up test-events
    
    The output of test-events is a bit of a mess; this patch should clean
    it up a little bit - at least enough for it to be useful again during
    visual inspection.

 tests/interactive/test-events.c |  101 +++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 41 deletions(-)

commit a056ae716442e07e50ebd07cbca030776a5b3c28
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 16:22:44 2009 +0000

    Add docs and licensing notices

 clutter/clutter-device-manager.c |  125 +++++++++++++++++++++++++++++++++++++-
 clutter/clutter-device-manager.h |   29 +++++++++
 clutter/clutter-input-device.c   |  109 ++++++++++++++++++++++++++++++++-
 clutter/clutter-input-device.h   |   31 +++++++++
 4 files changed, 288 insertions(+), 6 deletions(-)

commit 9506510d1cf794ef530f6c4db45103efb60cca63
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 8 17:51:00 2010 +0000

    Move all picking-related operations inside InputDevice
    
    The InputDevice objects stores pointer coordinates, state, stage and
    the actor under the cursor, so if the current backend provides us with
    one attached to the Event structure then we want the InputDevice itself
    to update its state and give us the ClutterActor underneath the
    pointer's cursor.

 clutter/clutter-device-manager.c |   24 ++++++++++
 clutter/clutter-event.c          |   36 ---------------
 clutter/clutter-input-device.c   |   91 ++++++++++++++++++++++++++++++++++++--
 clutter/clutter-input-device.h   |    7 ++-
 clutter/clutter-main.c           |   60 ++++++++++++++----------
 clutter/clutter-master-clock.c   |    7 +--
 clutter/clutter-private.h        |   36 ++++++++++-----
 clutter/clutter-stage.c          |   28 ++++++++++--
 clutter/x11/clutter-event-x11.c  |   36 ++++++++++-----
 9 files changed, 225 insertions(+), 100 deletions(-)

commit 1f87cac0695dc95be4ed0219752d454d9a285e50
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Nov 24 12:53:57 2009 +0000

    actor: Add :has-pointer property
    
    ClutterActor should be able to tell whether a pointer is within
    its area or not.

 clutter/clutter-actor.c   |   60 ++++++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-actor.h   |    1 +
 clutter/clutter-private.h |    3 ++
 3 files changed, 63 insertions(+), 1 deletions(-)

commit d23dd9af6bf48c3c02f685505a5a34b477d4d2b3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Nov 23 16:07:16 2009 +0000

    device: Make InputDevice an object and subclass it for X11
    
    ClutterInputDevice should be a type that we can subclass per-backend
    to add functionality.

 clutter/Makefile.am                    |    2 +
 clutter/clutter-event.h                |   35 +------
 clutter/clutter-input-device.c         |  175 ++++++++++++++++++++++++++++++++
 clutter/clutter-input-device.h         |   64 ++++++++++++
 clutter/clutter-main.c                 |   34 +++---
 clutter/clutter-private.h              |   19 +++-
 clutter/clutter.h                      |    1 +
 clutter/x11/Makefile.am                |    2 +
 clutter/x11/clutter-backend-x11.c      |  141 ++++++--------------------
 clutter/x11/clutter-input-device-x11.c |  151 +++++++++++++++++++++++++++
 clutter/x11/clutter-input-device-x11.h |   25 +++++
 11 files changed, 484 insertions(+), 165 deletions(-)

commit d5331bfb5786b496cfcab925319711853db2f1d3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 20 16:37:58 2009 +0000

    tests: Update the devices test
    
    Use the DeviceManager API instead of the X11 specific API.

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

commit 157da20e86f88bf906f0b59bafbea171a2e5e678
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 20 16:24:16 2009 +0000

    x11: Always assign a device to pointer and key events
    
    Even when we are not using XInput we now have fallback devices; the
    X11 backend should always assign the default devices when translating
    the X events to Clutter events.

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

commit ca16446319b6281cf63edf3b1b6d7d4f8d41e499
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 20 15:43:50 2009 +0000

    Add :is-default flag to InputDevice

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

commit 3027d4327ae0c5d9bb7cc831f24d5ee5e8fb107f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 20 15:36:43 2009 +0000

    Port the X11 backend to the Device Manager
    
    Use the device manager to store the input devices. Also, provide
    two fallback devices when initializing the X11 backend: device 0
    for the pointer and device 1 for the keyboard.

 clutter/clutter-private.h         |    3 -
 clutter/x11/clutter-backend-x11.c |  514 ++++++++++++++++++-------------------
 clutter/x11/clutter-backend-x11.h |    6 -
 clutter/x11/clutter-event-x11.c   |    5 +-
 clutter/x11/clutter-x11.h         |    2 +
 5 files changed, 256 insertions(+), 274 deletions(-)

commit d34f1aa775e8a66bd0e599b32c761869b319c639
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Nov 20 15:35:40 2009 +0000

    Add ClutterDeviceManager
    
    The ClutterDeviceManager is a singleton object that behaves like the
    StageManager: it holds all input devices and notifies on addition and
    removal.

 clutter/Makefile.am              |    6 +-
 clutter/clutter-device-manager.c |  146 ++++++++++++++++++++++++++++++++++++++
 clutter/clutter-device-manager.h |   30 ++++++++
 clutter/clutter-main.c           |   30 ++++----
 clutter/clutter-marshal.list     |    1 +
 clutter/clutter-private.h        |   43 +++++++----
 clutter/clutter.h                |    1 +
 7 files changed, 224 insertions(+), 33 deletions(-)

commit 1ef40b882349820d5edb2f1ed8885c3386d2cdf7
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 19 17:14:58 2010 +0000

    test-cogl-npot-texture: Use the COGL_TEXTURE_NO_ATLAS flag
    
    If the texture is put in the atlas it won't be sliced whatever size it
    is so it negates the test. We can avoid this with the NO_ATLAS flag.

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

commit 08b8b2791f91770d1a6e7aff163167d003b0fad3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 19 17:06:28 2010 +0000

    cogl-atlas-texture: Don't create atlas textures with the premult bit
    
    Previously the atlas textures were being created with whatever format
    the first sub texture is in. Only three formats are supported so this
    only matters if the first texture is a premultiplied alpha
    texture. Instead it now masks out the premultiplied bit so that the
    textures are always either RGB_888 or RGBA_8888.

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

commit 14a28620ae13ef041696e2e3747ec00738cfd2bd
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 15 22:56:37 2010 +0000

    win32: Use an invisible cursor when cursor-visible is FALSE
    
    The win32 backend now handles the WM_SETCURSOR message and sets a
    fully transparent cursor if the cursor-visible property has been
    cleared on the stage. The icon is stored in the library via a resource
    file. The instance handle for the DLL is needed to load the resource
    so there is now a DllMain function to grab the handle.

 clutter/Makefile.am                   |   21 +++++++++++++++-
 clutter/win32/Makefile.am             |    2 +-
 clutter/win32/clutter-backend-win32.c |   25 ++++++++++++++++++
 clutter/win32/clutter-backend-win32.h |    4 +++
 clutter/win32/clutter-event-win32.c   |   14 ++++++++++
 clutter/win32/clutter-stage-win32.c   |   44 +++++++++++++++++++++++++++++---
 clutter/win32/clutter-stage-win32.h   |    2 +
 clutter/win32/invisible-cursor.cur    |  Bin 0 -> 86 bytes
 clutter/win32/resources.rc            |    1 +
 configure.ac                          |    7 +++++
 10 files changed, 113 insertions(+), 7 deletions(-)

commit 4db89759a0aa91b353ac0bb41562addfff6d76c9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 17:33:08 2010 +0000

    Post-release version bump to 1.1.7

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

commit c4adefffd34d91fdf72365a6d11641f3c9f751cc
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 10:53:00 2010 +0000

    cogl-atlas-texture: Fix premultiplied texture formats
    
    When uploading texture data it was just calling cogl_texture_set_data
    on the large texture. This would attempt to convert the data to the
    format of the large texture. All of the textures with alpha channels
    are stored together regardless of whether they are premultiplied so
    this was causing premultiplied textures to be unpremultiplied
    again. It now just uploads the data ignoring the premult bit of the
    format so that it only gets converted once.

 clutter/cogl/cogl/cogl-atlas-texture.c |  232 ++++++++++++++++++++++----------
 1 files changed, 158 insertions(+), 74 deletions(-)

commit b78024bd2dbf39cb86a1c1458e477af9c9353d9e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 14 17:57:43 2010 +0000

    cogl-primitives: Ensure the mipmaps for a layer before logging quads
    
    With the atlas texture backend ensuring the mipmaps can make it become
    a completely different texture which will have different texture
    coordinates or may even be sliced. Therefore we need to ensure the
    mipmaps before deciding which quads to log in the journal. This adds a
    new private function to cogl-material which ensures the mipmaps if
    needed.

 clutter/cogl/cogl/cogl-material-private.h |    6 ++++++
 clutter/cogl/cogl/cogl-material.c         |   19 +++++++++++++++----
 clutter/cogl/cogl/cogl-primitives.c       |    6 ++++++
 3 files changed, 27 insertions(+), 4 deletions(-)

commit 36f18e5ac57e068c3987d5b705f68fcc6f18d472
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 09:22:04 2010 +0000

    cogl: Make CoglSubTexture only work for quad rendering
    
    The sub texture backend doesn't work well as a completely general
    texture backend because for example when rendering with cogl_polygon
    it needs to be able to tranform arbitrary texture coordinates without
    reference to the other coordintes. This can't be done when the texture
    coordinates are a multiple of one because sometimes the coordinate
    should represent the left or top edge and sometimes it should
    represent the bottom or top edge. For example if the s coordinates are
    0 and 1 then 1 represents the right edge but if they are 1 and 2 then
    1 represents the left edge.
    
    Instead the sub-textures are now documented not to support coordinates
    outside the range [0,1]. The coordinates for the sub-region are now
    represented as integers as this helps avoid rounding issues. The
    region can no longer be a super-region of the texture as this
    simplifies the code quite a lot.
    
    There are two new texture virtual functions:
    
    transform_quad_coords_to_gl - This transforms two pairs of coordinates
         representing a quad. It will return FALSE if the coordinates can
         not be transformed. The sub texture backend uses this to detect
         coordinates that require repeating which causes cogl-primitives
         to use manual repeating.
    
    ensure_non_quad_rendering - This is used in cogl_polygon and
         cogl_vertex_buffer to inform the texture backend that
         transform_quad_to_gl is going to be used. The atlas backend
         migrates the texture out of the atlas when it hits this.

 clutter/cogl/cogl/cogl-atlas-texture.c       |   57 +++-
 clutter/cogl/cogl/cogl-primitives.c          |   21 +-
 clutter/cogl/cogl/cogl-sub-texture-private.h |   15 +-
 clutter/cogl/cogl/cogl-sub-texture.c         |  498 +++++++++-----------------
 clutter/cogl/cogl/cogl-texture-2d-sliced.c   |   21 ++
 clutter/cogl/cogl/cogl-texture-2d.c          |   17 +
 clutter/cogl/cogl/cogl-texture-private.h     |   10 +
 clutter/cogl/cogl/cogl-texture.c             |   33 ++-
 clutter/cogl/cogl/cogl-texture.h             |   22 +-
 clutter/cogl/cogl/cogl-vertex-buffer.c       |    5 +
 tests/conform/test-cogl-sub-texture.c        |   81 ++---
 tests/conform/test-conform-main.c            |    2 +-
 12 files changed, 348 insertions(+), 434 deletions(-)

commit b844653c649277eed63b6a85d29b84aab8abe641
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 11 16:23:38 2010 +0000

    cogl-texture: Fix manual repeating for negative coordinates
    
    When calculating the next integer position for negative coordinates it
    would not increment if the position is already a multiple of one so we
    need to manually add one.

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

commit a01b4eefceb1d490d918eba1729c87354695d1ca
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 11 16:21:56 2010 +0000

    cogl-texture-2d: Fix the coordinate wrapping for negative coordinates
    
    The formula to wrap the coordinates to the [0,1] range was broken when
    the coordinates were negative.

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

commit ead43995364bb8865ca5bab15d1bfd295578fff4
Merge: 34b5093 a70ebe4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 15 12:15:46 2010 +0000

    Merge branch 'master' into more-texture-backends

commit 34b50934be581cde0ef2eba75f45aa36b1add14d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Dec 5 14:20:00 2009 +0000

    cogl-material: Ensure mipmaps before doing anything else on a texture
    
    When the texture is in the atlas, ensuring the mipmaps can effectively
    make it become a completely different texture so we should do this
    before getting the GL handle.

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

commit 231cfffa1871806713928f7b4c599d904a813fb9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Dec 5 13:48:03 2009 +0000

    cogl-atlas-texture: Remove textures from the atlas when mipmapping is required
    
    Mipmaps don't work very well in the current atlas because there is not
    enough padding between the textures. If ensure_mipmaps is called it
    will now create a new texture and migrate the atlased texture to
    it. It will use the same blit mechanism as when migrating so it will
    try to use an FBO for a fast blit. However if this is not possible it
    will end up downloading the data for the entire atlas which is not
    ideal.

 clutter/cogl/cogl/cogl-atlas-texture.c |   66 +++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

commit 6cf5ee2cbdad4bb71a065bb7e49a534ca7ba78ac
Author: Neil Roberts <neil@linux.intel.com>
Date:   Sat Dec 5 13:24:01 2009 +0000

    cogl-atlas-texture: Try to do texture blits using an FBO
    
    When reorganizing the textures, we can avoid downloading the entire
    texture data if we bind the source texture in a framebuffer object and
    copy the destination using glCopyTexSubImage2D. This is also
    implemented using a much faster path in Mesa.
    
    Currently it is calling the GL framebuffer API directly but ideally it
    would use the Cogl offscreen API. However there is no way to tell Cogl
    not to create a stencil renderbuffer which seems like a waste in this
    situation.
    
    If FBOs are not available it will fallback to reading back the entire
    texture data as before.

 clutter/cogl/cogl/cogl-atlas-texture.c |  198 +++++++++++++++++++++++++++-----
 1 files changed, 168 insertions(+), 30 deletions(-)

commit c51a31a2fc3f0f087a44cbccf1726c40fa581746
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Dec 4 19:43:39 2009 +0000

    cogl-atlas: Add a debug option to visualize the atlas
    
    This adds a 'dump-atlas-image' debug category. When enabled, CoglAtlas
    will use Cairo to create a png which visualizes the leaf rectangles of
    the atlas.

 clutter/cogl/cogl/cogl-atlas.c |   76 ++++++++++++++++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-debug.c |    3 +-
 clutter/cogl/cogl/cogl-debug.h |    3 +-
 3 files changed, 80 insertions(+), 2 deletions(-)

commit 032d6e8aa00cd04a8084303a4942760ef5651a0c
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Dec 4 18:55:53 2009 +0000

    cogl-texture-atlas: Add some debugging notes
    
    This adds an 'atlas' category to the COGL_DEBUG environment
    variable. When enabled Cogl will display messages when textures are
    added to the atlas and when the atlas is reorganized.

 clutter/cogl/cogl/cogl-atlas-texture.c |   62 ++++++++++++++++++++++++++++---
 clutter/cogl/cogl/cogl-debug.c         |    3 +-
 clutter/cogl/cogl/cogl-debug.h         |    3 +-
 3 files changed, 60 insertions(+), 8 deletions(-)

commit bc845e26d9cab75ecba69d12a937cf7d42bcaf71
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Dec 4 18:24:15 2009 +0000

    cogl-atlas-texture: Support reorganizing the atlas when it is full
    
    When space can't be found in the atlas for a new texture it will now
    try to reorganize the atlas to make space. A new CoglAtlas is created
    and all of the textures are readded in decreasing size order. If the
    textures still don't fit then the size of the atlas is doubled until
    either we find a space or we reach the texture size limits. If we
    successfully find an organization that fits then all of the textures
    will be migrated to a new texture. This involves copying the texture
    data into CPU memory and then uploading it again. Potentially it could
    eventually use a PBO or an FBO to transfer the image without going
    through the CPU.
    
    The algorithm for laying out the textures works a lot better if the
    rectangles are added in order so we might eventually want some API for
    creating multiple textures in one go to avoid reorganizing the atlas
    as far as possible.

 clutter/cogl/cogl/cogl-atlas-texture.c |  315 ++++++++++++++++++++++++++++----
 1 files changed, 280 insertions(+), 35 deletions(-)

commit 1fb32167ec37f7b3bc8193258faa5963fe49569e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Dec 4 13:06:32 2009 +0000

    cogl: Add an atlased texture backend
    
    This adds a CoglAtlas type which is a data structure that keeps track
    of unused sub rectangles of a larger rectangle. There is a new atlased
    texture backend which uses this to put multiple textures into a single
    larger texture.
    
    Currently the atlas is always sized 256x256 and the textures are never
    moved once they are put in. Eventually it needs to be able to
    reorganise the atlas and grow it if necessary. It also needs to
    migrate the textures out of the atlas if mipmaps are required.

 clutter/cogl/cogl/Makefile.am                  |    4 +
 clutter/cogl/cogl/cogl-atlas-texture-private.h |   64 +++
 clutter/cogl/cogl/cogl-atlas-texture.c         |  488 ++++++++++++++++++++++
 clutter/cogl/cogl/cogl-atlas.c                 |  520 ++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-atlas.h                 |   76 ++++
 clutter/cogl/cogl/cogl-context.c               |   14 +
 clutter/cogl/cogl/cogl-context.h               |    8 +
 clutter/cogl/cogl/cogl-texture.c               |   30 +-
 clutter/cogl/cogl/cogl-types.h                 |    3 +-
 9 files changed, 1194 insertions(+), 13 deletions(-)

commit 6c3e1989e47b17f826d25704b2433ffecc6e83b9
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Dec 3 14:46:20 2009 +0000

    cogl-sub-texture: Fix the height of sub textures
    
    The code which is used to get the texture height was accidentally
    using the width due to a cut-and-paste fail.

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

commit 97f8eed11917fa0d545dcb08d20841f6b501c878
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 27 18:45:36 2009 +0000

    cogl: Add a CoglTexture2D backend
    
    This is an optimised version of CoglTexture2DSliced that always deals
    with a single texture and always uses the GL_TEXTURE_2D
    target. cogl_texture_new_from_bitmap now tries to use this backend
    first. If it can't create a texture with that size then it falls back
    the sliced backend.
    
    cogl_texture_upload_data_prepare has been split into two functions
    because the sliced backend needs to know the real internal format
    before the conversion is performed. Otherwise the converted bitmap
    will be wasted if the backend can't support the size.

 clutter/cogl/cogl/Makefile.am               |    2 +
 clutter/cogl/cogl/cogl-texture-2d-private.h |   69 +++
 clutter/cogl/cogl/cogl-texture-2d.c         |  623 +++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-texture-private.h    |    9 +
 clutter/cogl/cogl/cogl-texture.c            |   75 +++-
 5 files changed, 755 insertions(+), 23 deletions(-)

commit f3df76d5129ba0ed7014c6aa52be7bee67c3f7aa
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Nov 30 12:15:05 2009 +0000

    cogl: Add _cogl_texture_driver_upload_to_gl
    
    This provides a way to upload the entire data for a texture without
    having to first call glTexImage and then glTexSubImage. This should be
    faster especially with indirect rendering where it would needlessy
    send the data for the texture twice.

 clutter/cogl/cogl/cogl-texture-driver.h            |   14 ++++++
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |   26 +++++++++++
 .../cogl/cogl/driver/gles/cogl-texture-driver.c    |   47 ++++++++++++++++++++
 3 files changed, 87 insertions(+), 0 deletions(-)

commit 19a19579ba72ea9ca4f6d406c035c3ad074fd442
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 27 16:59:51 2009 +0000

    cogl: Move some of the texture_2d_sliced_new_* functions into cogl-texture
    
    new_from_data and new_from_file can be implemented in terms of
    new_from_bitmap so it makes sense to move these to cogl-texture rather
    than having to implement them in every texture backend.

 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |   16 ----
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |   84 --------------------
 clutter/cogl/cogl/cogl-texture.c                   |   44 ++++++++---
 3 files changed, 33 insertions(+), 111 deletions(-)

commit 27c4eb483d0ce219d80000613357c20fc25724e3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 27 16:40:31 2009 +0000

    cogl: Add a conformance test for sub textures
    
    This tests creating a sub texture from a larger texture using various
    different texture coordinates. It also tries to read back the texture
    data using cogl_texture_get_data.

 tests/conform/Makefile.am             |    1 +
 tests/conform/test-cogl-sub-texture.c |  388 +++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c     |    1 +
 3 files changed, 390 insertions(+), 0 deletions(-)

commit 9752493272b39e6a8aeb1b8d667667d53de439fb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 27 16:39:16 2009 +0000

    cogl: Add a sub texture backend
    
    This adds a new texture backend which represents a sub texture of a
    larger texture. The texture is created with a reference to the full
    texture and a set of coordinates describing the region. The backend
    simply defers to the full texture for all operations and maps the
    coordinates to the other range. You can also use coordinates outside
    the range [0,1] to create a repeated version of the full texture.
    
    A new public API function called cogl_texture_new_from_sub_texture is
    available to create the sub texture.

 clutter/cogl/cogl/Makefile.am                |    2 +
 clutter/cogl/cogl/cogl-sub-texture-private.h |   56 ++
 clutter/cogl/cogl/cogl-sub-texture.c         |  699 ++++++++++++++++++++++++++
 clutter/cogl/cogl/cogl-texture.c             |   15 +-
 clutter/cogl/cogl/cogl-texture.h             |   27 +
 doc/reference/cogl/cogl-sections.txt         |    1 +
 6 files changed, 798 insertions(+), 2 deletions(-)

commit 070a91f31176eb304031fc6dc2c374ef25f92a92
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Dec 2 17:17:24 2009 +0000

    cogl: Make the callback for foreach_sub_texture_in_region use const
    
    The CoglTextureSliceCallback function pointer now takes const pointers
    for the texture coordinates. This makes it clearer that the callback
    should not modify the array and therefore the backend can use the same
    array for both sets of coords.

 clutter/cogl/cogl/cogl-journal-private.h |    2 +-
 clutter/cogl/cogl/cogl-journal.c         |    2 +-
 clutter/cogl/cogl/cogl-primitives.c      |   14 +++++++-------
 clutter/cogl/cogl/cogl-texture-private.h |    4 ++--
 4 files changed, 11 insertions(+), 11 deletions(-)

commit 1a1de0e278de7c06b528ae74a31580dfd576d041
Author: Neil Roberts <neil@linux.intel.com>
Date:   Wed Dec 2 13:41:49 2009 +0000

    cogl: Add a texture utility function for manually repeating
    
    Given a region of texture coordinates this utility invokes a callback
    enough times to cover the region with a subregion that spans the
    texture at most once. Eg, if called with tx1 and tx2 as 0.5 and 3.0 it
    it would invoke the callback with:
    
    0.5,1.0  1.0,2.0  2.0,3.0
    
    Manual repeating is needed by all texture backends regardless of
    whether they can support hardware repeating because when Cogl calls
    the foreach_sub_texture_in_region method then it sets the wrap mode to
    GL_CLAMP_TO_EDGE and no hardware repeating is possible.

 clutter/cogl/cogl/cogl-texture-private.h |   14 ++++
 clutter/cogl/cogl/cogl-texture.c         |  102 ++++++++++++++++++++++++++++++
 2 files changed, 116 insertions(+), 0 deletions(-)

commit 5fcb29c91695bdbb2aec418ba1d2956ff23612a0
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Nov 27 15:47:22 2009 +0000

    cogl-primitives: Check for repeating after the coordinate transform
    
    In _cogl_multitexture_quad_single_primitive we use a wrap mode of
    GL_CLAMP_TO_EDGE if the texture coordinates are all in the range [0,1]
    or GL_REPEAT otherwise. This is to avoid pulling in pixels from either
    side when using GL_LINEAR filter mode and rendering the entire
    texture. Previously it was checking using the unconverted texture
    coordinates. This is ok unless the texture backend is radically
    transforming the texture coordinates, such as in the sub texture
    backend where the coordinates may map to something completely
    different. We now check whether the coordinates are in range after
    converting them.

 clutter/cogl/cogl/cogl-primitives.c |   87 +++++++++++++++--------------------
 1 files changed, 37 insertions(+), 50 deletions(-)

commit 812d4d25bb28d8512c101701cf7cd06dc2dd95eb
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 26 18:58:17 2009 +0000

    cogl: Move all of the fields from CoglTexture to CoglTexture2DSliced
    
    Most of the fields that were previously in CoglTexture are specific to
    the implementation of CoglTexture2DSliced so they should be placed
    there instead. For example, the 'mipmaps_dirty' flag is an
    implementation detail of the ensure_mipmaps function so it doesn't
    make sense to force all texture backends to have this function.
    
    Other fields such as width, height, gl_format and format may make
    sense for all textures but I've added them as virtual functions
    instead. This may make more sense for a sub-texture backend for
    example where it can calculate these based on the full texture.

 clutter/cogl/cogl/cogl-texture-2d-sliced-private.h |   25 ++-
 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |  204 +++++++++++---------
 clutter/cogl/cogl/cogl-texture-private.h           |   21 +--
 clutter/cogl/cogl/cogl-texture.c                   |   19 +--
 4 files changed, 149 insertions(+), 120 deletions(-)

commit 071dea2fbc307eca949f5f44c4ccb6c4dd73f789
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Nov 26 17:32:52 2009 +0000

    cogl: Move data only used for upload out of CoglTexture
    
    The CoglTexture struct previously contained some fields which are only
    used to upload data such as the CoglBitmap and the source GL
    format. These are now moved to a separate CoglTextureUploadData struct
    which only exists for the duration of one of the cogl_texture_*_new
    functions. In cogl-texture there are utility functions which operate
    on this new struct rather than on CoglTexture directly.
    
    Some of the fields that were previously stored in the CoglBitmap
    struct are now copied to the CoglTexture such as the width, height,
    format and internal GL format.
    
    The rowstride was previously stored in CoglTexture and this was
    publicly accessible with the cogl_texture_get_rowstride
    function. However this doesn't seem to be a useful function because
    there is no need to use the same rowstride again when uploading or
    downloading new data. Instead cogl_texture_get_rowstride now just
    calculates a suitable rowstride from the format and width of the
    texture.

 clutter/cogl/cogl/cogl-texture-2d-sliced.c         |  344 ++++++++++----------
 clutter/cogl/cogl/cogl-texture-driver.h            |    6 +-
 clutter/cogl/cogl/cogl-texture-private.h           |   51 ++-
 clutter/cogl/cogl/cogl-texture.c                   |   93 +++---
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |   14 +-
 .../cogl/cogl/driver/gles/cogl-texture-driver.c    |   16 +-
 6 files changed, 262 insertions(+), 262 deletions(-)

commit 07ff8d26f8097a00757e6e3cfcd587bce188ae0d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 15:44:58 2010 +0000

    Release Clutter 1.1.6

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

commit 8daff42b3bcc9d59d7c87801b3926d8ed7c105a4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 15:43:25 2010 +0000

    README: Clarify the required OpenGL version
    
    Cogl will not allow OpenGL 1.2 if it doesn't have the multitexturing
    extension so we should make this clear in the README.

 README |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit fa51ff25d3555ce938922d7bbd64acb12140a774
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 13:56:56 2010 +0000

    Add build/mingw/{README,mingw-cross-compile.sh} to the dist tarball
    
    It's quite difficult to get git working on Windows so it makes sense
    to put the build instructions somewhere accessible.

 build/Makefile.am       |    2 +-
 build/mingw/Makefile.am |    1 +
 configure.ac            |    1 +
 3 files changed, 3 insertions(+), 1 deletions(-)

commit ff1d9cf090aef74efa1ec04b8cd490a45b148ae4
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 12:42:20 2010 +0000

    test-texture-fbo: Disconnect the paint handler for the stage
    
    Otherwise the paint handler will still be run for the subsequent
    tests. This ends up writing to the ‘state’ variable which used to be
    on the stack so it will end up corrupting some stack variable. This
    was causing test-cogl-premult to fail.

 tests/conform/test-texture-fbo.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit ce030a3fce362cf4238d361743aaf9027ceed95a
Author: Neil Roberts <neil@linux.intel.com>
Date:   Mon Jan 18 12:35:05 2010 +0000

    clutter-group: Use g_list_foreach in clutter_group_real_foreach
    
    g_list_foreach has better protection against the current node being
    removed. This will happen for example if someone calls
    clutter_container_foreach(container, clutter_actor_destroy). This was
    causing valgrind errors for the conformance tests which do just that.

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

commit 3d373c7278c47b18576edc8c8a0074654ce4a60e
Author: Samuel Degrande <Samuel.Degrande@lifl.fr>
Date:   Fri Nov 27 16:53:50 2009 +0100

    win32: Fix computation of the fullscreen size during stage realization
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1905
    
    Signed-off-by: Neil Roberts <neil@linux.intel.com>

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

commit 12a9150f5b455e5700c745de4ad1ac5f2e43631f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 17:32:46 2010 +0000

    docs: Clarify usage of UTF-8 or ASCII art in commit messages

 doc/HACKING |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ea662b9ecaf1dd956f0cdc79ce04880270bf99de
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 17:06:56 2010 +0000

    docs: Display the features section
    
    The features section of the API reference is built but not used, and it
    has some copy-and-paste errors.

 clutter/clutter-feature.c                  |   11 +++++++++--
 clutter/clutter-feature.h                  |    8 --------
 doc/reference/clutter/clutter-docs.xml.in  |    1 +
 doc/reference/clutter/clutter-sections.txt |    2 +-
 4 files changed, 11 insertions(+), 11 deletions(-)

commit cdfd9eb212829df0408431673bedfbe6b566fefe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 14:50:06 2010 +0000

    Add test-cogl-texture-mipmaps to the Git ignore file

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

commit e019547e8c7d110332a9ba071737736a059f5b4b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 14:48:42 2010 +0000

    x11: Fix typo in clutter_x11_set_use_argb_visual() declaration
    
    The function should have a lowercase x11, not an uppercase X11 in its
    name.

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

commit 148145ea1ad24fb1ceca3229c4cae9c7c5755f75
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 15 14:47:20 2010 +0000

    docs: Ignore clutter-profile.h

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

commit a70ebe4f52e192c11f8db6a4fa1f419a5b175ab3
Author: Neil Roberts <neil@linux.intel.com>
Date:   Fri Jan 15 12:02:09 2010 +0000

    tests: Add a simple conformance test for texture mipmaps
    
    This adds a test which renders a texture into a 1x1 pixel quad with
    and without filters that use mipmaps. The pixel without mipmaps will
    be one of the colors from the texture and the one with will be the
    average of all the pixels in the texture.

 tests/conform/Makefile.am                 |    1 +
 tests/conform/test-cogl-texture-mipmaps.c |  147 +++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c         |    1 +
 3 files changed, 149 insertions(+), 0 deletions(-)

commit ba4622ff8bd1abde577fa26637fd1afec1b3abd6
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 14 15:23:41 2010 +0000

    Add a notice of deprecation in the pre-Git ChangeLog

 ChangeLog.pre-git-import |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 8247bdf4f9b940fe69165ae6556511fcc9ca3a5d
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 12 21:44:40 2010 +0000

    cogl-framebuffer: Return gboolean from try_creating_fbo
    
    When try_creating_fbo fails it returns 0 to report the error and if it
    succeeds it returns ‘flags’. However cogl_offscreen_new_to_texture
    also passes in 0 for the flags as the last fallback to create the fbo
    with nothing but the color buffer. In that case it will return 0
    regardless of whether it succeeded so the last fallback will always be
    considered a failure.
    
    To fix this it now just returns a gboolean to indicate whether it
    succeeded and the flags used for each attempt is assigned when passing
    the argument rather than from the return value of the function.
    
    Also if the only configuration that succeeded was with flags==0 then
    it would always try all combinations because last_working_flags would
    also be zero. To avoid this it now uses a separate gboolean to mark
    whether we found a successful set of flags.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1873

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

commit c6ce9c338966188248c3c1ae7b10480205fe20bf
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 14 14:07:04 2010 +0000

    conform: Add operators tests for ClutterColor
    
    The clutter_color_add() and clutter_color_subtract() functions are
    lacking unit testing to catch eventual regressions.

 .gitignore                        |    1 +
 tests/conform/test-color.c        |   57 +++++++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c |    1 +
 3 files changed, 59 insertions(+), 0 deletions(-)

commit 4388509a1589dbac7aae0ebe5995ca0e06f7c70c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 14 12:28:07 2010 +0000

    master-clock: Add profiling timers
    
    Use the newly-added profiling timers inside the master clock dispatch
    function to see how much time we spend:
    
      • in the whole function
        • in the event processing for each stage
        • in the timeline advancement

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

commit 6e82d11daf8b1d7259c26e6a0816392a71c726f3
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 13 17:31:13 2010 +0000

    units: Improve coverage of clutter_units_from_string()
    
    Add a unit for an empty string as well as units for the missing unit
    types like cm, mm and px.

 tests/conform/test-clutter-units.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit ed735ae730ea2140ef4d1be9d1947dbdce8b1f28
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 13 16:57:55 2010 +0000

    Add test-cogl-multitexture to the Git ignore file

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

commit a076e0e11d222ca17dbdbadb3aa2c762d32a5730
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 13 16:35:53 2010 +0000

    build: Add a script to format gcov report lines
    
    Instead of using echo let's try Perl and the format() built-in.

 build/Makefile.am                |    2 +
 build/autotools/Makefile.am.gcov |    2 +-
 build/gen-gcov.pl                |   44 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 47 insertions(+), 1 deletions(-)

commit 948db40c875f8eb7032582a32515737be6587067
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 4 14:53:03 2010 +0000

    Add gcov support to the build
    
    Using gcov it's possible to get a coverage report, that is a break down
    of how much the exposed API is exercised by the conformance test suite.

 .gitignore                       |    2 ++
 Makefile.am                      |    3 +++
 build/autotools/Makefile.am      |    1 +
 build/autotools/Makefile.am.gcov |   33 +++++++++++++++++++++++++++++++++
 clutter/Makefile.am              |   20 +++++++++++---------
 configure.ac                     |   26 ++++++++++++++++++++++++++
 6 files changed, 76 insertions(+), 9 deletions(-)

commit 5322546a4e2100bcec8aba651f8de7d849d67711
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Jan 13 15:40:36 2010 +0000

    build: Clean up COGL build flags

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

commit 18d96005ec4d1395d70d71f2bef6cc378f4afb43
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Nov 2 17:08:55 2009 +0000

    texture: Remove reading the texture data back in ::unrealize()
    
    Reading back the texture data in unrealize does not seem like a
    desirable feature any more, clutter has evolved a lot since it was
    implemented.
    
    What's wrong with it now:
    
      * It takes *a lot* of time to read the data back with glReadPixel(),
      * When several textures share the same CoglTexture, the same data can
        be read back multiple times,
      * If the underlying material uses multiple texture units, only the
        first one was copied back,
      * In ClutterCairoTexture, we end up having two separate copies of the
        data,
      * GL actually manages texture memory accross system/video memory
        for us!
    
    For all the reasons above, let's get rid of the glReadPixel() in
    Texture::unrealize()
    
    Fixes: OHB#1842

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

commit 778e08e4e24822b0875e6aeaf168cb5cecfc8a7f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 12 14:49:55 2010 +0000

    cogl-framebuffer: Add some missing GL defines
    
    Since 755cce33a7 the framebuffer code is using the GL enums
    GL_DEPTH_ATTACHMENT and GL_DEPTH_COMPONENT16. These aren't available
    directly under GLES except with the OES suffix so we need to define
    them manually as we do with the other framebuffer constants.

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

commit bb8352ca95f18ca5582abb97e20e78f69300adde
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 12 14:43:36 2010 +0000

    cogl: Remove the CGL_* defines
    
    These macros used to define Cogl wrappers for the GLenum values. There are
    now Cogl enums everywhere in the API where these were required so we
    shouldn't need them anymore. They were in the public headers but as
    they are not neccessary and were not in the API docs for Clutter 1.0
    it should be safe to remove them.

 clutter/cogl/cogl/cogl-material.c                  |   10 +-
 clutter/cogl/cogl/cogl-primitives.c                |    2 +-
 clutter/cogl/cogl/cogl-shader.h                    |    2 +-
 clutter/cogl/cogl/cogl-texture.h                   |    7 +-
 clutter/cogl/cogl/driver/gl/cogl-defines.h.in      |  655 --------------------
 clutter/cogl/cogl/driver/gl/cogl-texture-driver.c  |    2 +-
 clutter/cogl/cogl/driver/gles/cogl-defines.h.in    |  597 ------------------
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.c |    4 +-
 clutter/cogl/cogl/driver/gles/cogl-gles2-wrapper.h |   65 +-
 clutter/glx/clutter-glx-texture-pixmap.c           |    8 +-
 10 files changed, 55 insertions(+), 1297 deletions(-)

commit 1c6ffc8a238e5e7de429f35f7653695d91d9d26d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 12 15:44:28 2010 +0000

    stage: Add the delete-event signal
    
    Using the ::event signal to match the CLUTTER_DELETE event type (and
    block the stage destruction) can be costly, since it means checking
    every single event.
    
    The ::delete-event signal is similar in spirit to any other specialized
    signal handler dealing with events, and retains the same semantics.

 clutter/clutter-main.c  |    9 +-------
 clutter/clutter-stage.c |   49 ++++++++++++++++++++++++++++++++++++++++++++++-
 clutter/clutter-stage.h |    6 ++++-
 3 files changed, 54 insertions(+), 10 deletions(-)

commit 8b950bdc87fae2626af8a96916b7f51fdea40a17
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Jan 12 11:02:09 2010 +0000

    journal: Fixes logging of multiple sets of texture coordinates
    
    If a user supplied multiple groups of texture coordinates with
    cogl_rectangle_with_multitexture_coords() then we would repeatedly log only
    the first group in the journal.  This fixes that bug and adds a conformance
    test to verify the fix.
    
    Thanks to Gord Allott for reporting this bug.

 clutter/cogl/cogl/cogl-journal.c       |    8 +-
 tests/conform/Makefile.am              |    1 +
 tests/conform/test-cogl-multitexture.c |  209 ++++++++++++++++++++++++++++++++
 tests/conform/test-conform-main.c      |    1 +
 4 files changed, 215 insertions(+), 4 deletions(-)

commit bc8a80fee53c9eed17fab6d821846c1a0fa3460f
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 11 17:08:42 2010 +0000

    text: Zero out the cursor_pos member
    
    Do not trust the zero-ing done by GObject on the private data structure,
    and use memset() instead to zero the ClutterGeometry structure.

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

commit 5c14538c1406b1358a2747428c73fe0cf1198e94
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 11 17:06:52 2010 +0000

    Remove obsolete code from test-text
    
    The test-text "fake scrolling" code stopped working somewhere between
    0.8 and 0.9, with the new layout code. Instead of the ::cursor-event
    signal it should use an approach similar to the Scrollable interface in
    the Moblin User Experience toolkit.
    
    Right now, it makes sense to ignore this code entirely.

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

commit 755cce33a729817aebe4cf5c08d97c31a327c863
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Nov 30 20:04:41 2009 +0000

    cogl: Support multiple fallbacks in cogl_offscreen_new_to_texture()
    
    The Intel drivers in Mesa 7.6 (and possibly earlier versions) don't
    support creating FBOs with a stencil buffer but without a depth
    buffer. This reworks framebuffer allocation so that we try a number
    of fallback options before failing.
    
    The options we try in order are:
    - the same options that were sucessful last time if available
    - combined depth and stencil
    - separate depth and stencil
    - just stencil, no depth
    - just depth, no stencil
    - neither depth or stencil

 clutter/cogl/cogl/cogl-framebuffer-private.h |    2 +-
 clutter/cogl/cogl/cogl-framebuffer.c         |  238 +++++++++++++++++---------
 2 files changed, 156 insertions(+), 84 deletions(-)

commit 4c1231c7fe545a7764d06754d7d6be0906686e0a
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Jan 6 11:48:46 2010 +0000

    media: Add an API to specify which font should be used for subtitles
    
    Allow the user of the ClutterMedia interface to specify a Pango font
    description to display subtitles. Even if the underlying implementation
    of the interface does not natively use Pange, it must be capable of
    parsing the grammar that pango_font_description_from_string() accepts.

 clutter/clutter-media.c                    |   64 ++++++++++++++++++++++++++++
 clutter/clutter-media.h                    |   45 ++++++++++---------
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 90 insertions(+), 21 deletions(-)

commit 8e9f56c41160452166be68202227b206a690472d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 10 11:35:26 2010 +0000

    build: Clean up private header/source files
    
    Some source files should not be passed through the introspection parser,
    as they are fully private and do not expose any valuable API.
    
    Also the clutter-profile.h header is private and should not be
    installed.

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

commit d9b91d61f5730e9ce29627f467c89070b78fb6b6
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Nov 25 14:26:32 2009 +0000

    framebuffers: cogl_offscreen_new_to_texture should take a ref on the texture
    
    We weren't taking a reference on the texture to be used as the color buffer
    for offscreen rendering, so it was possible to free the texture leaving the
    framebuffer in an inconsistent state.

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

commit 30b557c4653d15eeb1311b516ab1f4c0035a5e83
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Jul 3 16:22:35 2009 +0100

    profiling: Adds initial UProf accounting to Cogl
    
    This adds gives Cogl a dedicated UProf context which will be linked together
    with Clutter's context during clutter_init_real().
    
    Initial timers cover _cogl_journal_flush and _cogl_journal_log_quad
    
    You can explicitly ask for a report of Cogl statistics by exporting
    COGL_PROFILE_OUTPUT_REPORT=1 but since the context is linked with Clutter's
    the statisitcs will also be shown in the automatic Clutter reports.

 clutter/clutter-main.c           |    7 +++++
 clutter/cogl/cogl/Makefile.am    |    2 +
 clutter/cogl/cogl/cogl-journal.c |   19 +++++++++++++
 clutter/cogl/cogl/cogl-profile.c |   30 +++++++++++++++++++++
 clutter/cogl/cogl/cogl-profile.h |   54 ++++++++++++++++++++++++++++++++++++++
 configure.ac                     |    2 +-
 6 files changed, 113 insertions(+), 1 deletions(-)

commit 0b6515a1d53571fea13417d47e7bf0f4749321f8
Author: Robert Bragg <robert@linux.intel.com>
Date:   Fri Apr 17 12:15:56 2009 +0100

    profiling: Allow limiting statisics just to picking
    
    This suspends and resumes all uprof timers and counters except while dealing
    with picking, so as to give more focused statistics.
    
    Be aware that there are still some issues with this profile option since
    there are a few special case counters and timers that shouldn't be
    suspended; noteably the frame counters are incorrect so the per frame stats
    can't be trusted.

 clutter/clutter-main.c    |   22 ++++++++++++++++++++--
 clutter/clutter-profile.c |   29 +++++++++++++++++++++++++++++
 clutter/clutter-profile.h |    9 +++++++++
 3 files changed, 58 insertions(+), 2 deletions(-)

commit 9cb530d42e7860d1a44f441b97910fd3903480f1
Author: Robert Bragg <robert@linux.intel.com>
Date:   Wed Jan 6 18:15:13 2010 +0000

    profiling: Parse --clutter-profile and CLUTTER_PROFILE= options
    
    As we have for debugging, this adds the ability to control profiling flags
    either via the command line or an environment variable.
    
    The first option added is CLUTTER_PROFILE=disable-report
    
    This also changes the reporting to be opt-out so you don't need to export
    CLUTTER_PROFILE_OUTPUT_REPORT=1 to see a report but you can use
    CLUTTER_PROFILE=disable-report to disable it if desired.

 clutter/clutter-main.c    |   51 +++++++++++++++++++++++++++++++++++++++++++++
 clutter/clutter-profile.c |    2 +-
 clutter/clutter-profile.h |    8 +++++++
 3 files changed, 60 insertions(+), 1 deletions(-)

commit 00577558540db2c9f7bf24e870ff6231abb2b99d
Author: Robert Bragg <robert@linux.intel.com>
Date:   Mon Mar 30 16:41:02 2009 +0100

    profiling: Adds initial UProf support across clutter
    
    UProf is a small library that aims to help applications/libraries provide
    domain specific reports about performance.  It currently provides high
    precision timer primitives (rdtsc on x86) and simple counters, the ability
    to link statistics between optional components at runtime and makes report
    generation easy.
    
    This adds initial accounting for:
    - Total mainloop time
    - Painting
    - Picking
    - Layouting
    - Idle time
    
    The timing done by uprof is of wall clock time. It's not based on stochastic
    samples we simply sample a counter at the start and end.  When dealing with
    the complexities of GPU drivers and with various kinds of IO this form of
    profiling can be quite enlightening as it will be able to represent where
    your application is blocking unlike tools such as sysprof.
    
    To enable uprof accounting you must configure Clutter with --enable-profile
    and have uprof-0.2 installed from git://git.moblin.org/uprof
    
    If you want to see a report of statistics when Clutter applications exit you
    should export CLUTTER_PROFILE_OUTPUT_REPORT=1 before running them.
    
    Just a final word of caution; this stuff is new and the manual nature of
    adding uprof instrumentation means it is prone to some errors when modifying
    code.  This just means that when you question strange results don't rule out
    a mistake in the instrumentation.  Obviously though we hope the benfits out
    weigh e.g.  by focusing on very key stats and by having automatic reporting.

 clutter/Makefile.am               |    2 +
 clutter/clutter-actor.c           |   14 +++
 clutter/clutter-backend.c         |   15 +++
 clutter/clutter-main.c            |   94 ++++++++++++++++++++-
 clutter/clutter-profile.c         |  170 +++++++++++++++++++++++++++++++++++++
 clutter/clutter-profile.h         |   57 ++++++++++++
 clutter/clutter-stage.c           |    9 ++
 clutter/glx/clutter-backend-glx.c |   17 ++++
 8 files changed, 376 insertions(+), 2 deletions(-)

commit bd41db7c00fc54aa8077f53177ff33bd33a19c83
Author: Robert Bragg <robert@linux.intel.com>
Date:   Tue Mar 17 13:07:46 2009 +0000

    Adds a --enable-profile option to configure.ac
    
    There is nothing else hooked up to this option so far

 README       |    4 ++++
 configure.ac |   58 +++++++++++++++++++++++++++++++++++++++++++++-------------
 2 files changed, 49 insertions(+), 13 deletions(-)

commit 5157da9fc8340cebdd29989a4ea02ccf607d3c52
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Fri Jan 8 15:04:56 2010 +0000

    x11: Switch back to RGB visuals by default
    
    Since asking for ARGB by default is still somewhat experimental on X11
    and not every toolkit or complex widgets (like WebKit) still do not like
    dealing with ARGB visuals, we should switch back to RGB by default - now
    that at least we know it works.
    
    For applications (and toolkit integration libraries) that want to enable
    the ClutterStage:use-alpha property there is a new function:
    
      void clutter_x11_set_use_argb_visual (gboolean use_argb);
    
    which needs to be called before clutter_init().
    
    The CLUTTER_DISABLE_ARGB_VISUAL environment variable can still be used
    to force this value off at run-time.

 clutter/glx/clutter-backend-glx.c          |    2 +-
 clutter/x11/clutter-backend-x11.c          |   70 +++++++++++++++++++++++++++-
 clutter/x11/clutter-stage-x11.c            |    6 ++-
 clutter/x11/clutter-x11.h                  |    9 +++-
 doc/reference/clutter/clutter-sections.txt |    3 +
 5 files changed, 83 insertions(+), 7 deletions(-)

commit 9599adbd820db7526d77790d8b611a6b61cb2dc7
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Wed Jan 6 00:44:24 2010 +0000

    doc: Fix media::{get,set}_subtitle_uri() symbol names
    
    At first, those symbols were called {get,set}_subtitles_uri() but were
    renamed to {get,set}_subtitle_uri() without updating the
    clutter-section.txt file.
    
    This fix makes gtk-doc document those symbols again.

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

commit bf4818bd759f612a9cec62c2e072544d54cc104c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Thu Jan 7 11:08:52 2010 +0000

    actor: Just emit a relayout cycle warning
    
    Currently, ClutterActor detects a relayout cycle (an actor causing a
    relayout to be queued from within an allocate() function) and aborts
    after printing out a warning. This might be a little bit too anal
    retentive, and it currently breaks GTK+ embedding inside clutter-gtk
    so we should probably relax the behaviour a bit. Now we just emit the
    warning but we still go ahead with the relayout.

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

commit 821e622de671ad4e18a55e9dbd33aee004e822df
Author: Neil Roberts <neil@linux.intel.com>
Date:   Thu Jan 7 15:58:53 2010 +0000

    Don't set the GLX_TRANSPARENT_TYPE attribute to choose an FBConfig
    
    When Clutter tries to pick an ARGB visual it tried to set the
    GLX_TRANSPARENT_TYPE attribute of the FBConfig to
    GLX_TRANSPARENT_RGB. However the code to do this was broken so that it
    was actually trying to set the non-existant attribute number 0x8008
    instead. Mesa silently ignored this so it appeared as if it was
    working but the Nvidia drivers do not like it.
    
    It appears that the TRANSPARENT_TYPE attribute is not neccessary for
    getting an ARGB visual anyway and instead it is intended to support
    color-key transparency. Therefore we can just remove it and get all of
    the FBConfigs. Then if we need an ARGB visual we can just walk the
    list to look for one with depth == 32.
    
    The fbconfig is now stored in a single variable instead of having a
    separate variable for the rgb and rgba configs because the old code
    only ever retrieved one of them anyway.

 clutter/glx/clutter-backend-glx.c |  145 ++++++++++++++-----------------------
 clutter/glx/clutter-backend-glx.h |    5 +-
 2 files changed, 57 insertions(+), 93 deletions(-)

commit 8b59573190907da97c2af5a5be2e563fc66f8d51
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 18:02:29 2010 +0000

    Covert stb_image.c to Unix format
    
    The file is still in DOS format (CRLF instead of LF) and this confuses
    the hell out of some versions of Git.

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

commit 58b5a46e0e6b263bd32808e4a9a46bbdd81eedfe
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 17:54:45 2010 +0000

    Include cogl-defines.h before using GL types
    
    If we are using GL* types we should also be including cogl-defines.h, as
    that will include the right GL header.

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

commit 793fec8138b478ba1f1ea419f9ef8bed4f453e77
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 16:11:45 2010 +0000

    cogl: Fix array annotations
    
    The arrays in the cogl_program_set_uniform_* API should be marked as
    such, and have their length arguments specified.

 clutter/cogl/cogl/cogl-shader.h |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 59105341bce12b2ec009ff953facbb7f7b10e85f
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 5 11:58:12 2010 +0000

    text: Store the markup attributes separately
    
    Previously when the markup property is set it would generate an
    attribute list from the markup and then merge it with the attributes
    from the attribute property and store it as the effective
    attributes. The markup attributes and the marked up text would then be
    forgotten. This breaks if the application then later changes the
    attributes property because it would try to regenerate the effective
    attributes from the markup text but the stored text no longer contains
    any markup. If the original markup text happened to contain entities
    like '&lt;' they would end up causing parse errors because they would
    be converted to the actual symbols.
    
    To fix this the attributes from the markup are now stored
    independently from the effective attributes. The effective attributes
    are now regenerated if either set of attributes changes right before a
    layout is created.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1940

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

commit 32b456fc8c4e8743c1b2c32164f7e9f67188a60e
Author: Neil Roberts <neil@linux.intel.com>
Date:   Tue Jan 5 11:44:17 2010 +0000

    text: Free the Pango attribute list resources
    
    The ClutterText owns three PangoAttrList resources which were not
    being unref'd. This adds the unref calls to the finalize method.

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

commit 64c1294cc26e034fbf8a9a05b4413f63b9cd882d
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 14:10:19 2010 +0000

    x11 tfp: Plug a leak
    
    Destroy the dummy XImage we create even on success.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1918
    
    Based on a patch by: Carlos Martín Nieto <carlos@cmartin.tk>
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit fa298b45b530c6b6821e73b011c3c7d226950ce0
Merge: 4207524 4adc2c2
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 11:04:50 2010 +0000

    Merge branch 'matrix-mode'
    
    * matrix-mode:
      build: Move CoglMatrixMode to cogl-matrix-stack.h

commit 4207524e950efd3f1fa5334f6d0b9b374a0b3f93
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 11:02:39 2010 +0000

    Remove trailing comma from test UI definition
    
    The animation definition test has a trailing comma at the end of an
    array item.

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

commit 2aa9d7bdc78703fc9a6354d2e54f880fde96db39
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Tue Jan 5 10:55:28 2010 +0000

    script: Copy the JSON node in PropertyInfo
    
    PropertyInfo should store a copy of the JsonNodes it references, so
    that property_info_free() can safely dispose them, and we can reference
    values across different UI definition data.
    
    The implicit timeline parsing code is not copying the JsonNode; this
    leads to a double free in some cases, which is masked by the GSlice
    allocator and produces a heap corruption later on.

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

commit 10963d1ae03920e202ccbd0107854f489117f89b
Author: Damien Lespiau <damien.lespiau@intel.com>
Date:   Mon Dec 28 17:52:43 2009 +0100

    [media] Add an API to play a subtitle file along with the media
    
    Allow the user of the ClutterMedia interface to specify an external (as
    in not multiplexed with the audio/video streams) location of a subtitle
    stream.

 clutter/clutter-media.c                    |   55 ++++++++++++++++++++++++++++
 clutter/clutter-media.h                    |    3 ++
 doc/reference/clutter/clutter-sections.txt |    2 +
 3 files changed, 60 insertions(+), 0 deletions(-)

commit 5d5c7142f7fa2447e13bcb80a272b0d9dfc28f06
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 4 12:03:47 2010 +0000

    text: Use G_SIGNAL_ACTION for ::insert-text and ::delete-text
    
    Both the ::insert-text and ::delete-text are "action" signals, that is
    signals that are safe to (and should) be emitted using g_signal_emit()
    directly.

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

commit bf43cb6cdc84e646add7adc592487274331d4930
Author: Alejandro Piñeiro <apinheiro@igalia.com>
Date:   Fri Nov 20 15:17:41 2009 +0100

    Added ClutterText::insert-text and ClutterText::delete-text signals
    
    * clutter/clutter-marshal.list: added new marshaller
    * clutter/clutter-text.c
    (clutter_text_class_init): added insert-text and delete-text signals
    (clutter_text_insert_unichar): emits insert-text signal
    (clutter_text_insert_text): emits insert-text signal
    (clutter_text_delete_text): emits delete-text signal
    (clutter_text_delete_chars): emits delete-text signal
    (clutter_text_set_markup_internal): emits delete-text and insert-text signals
    (clutter_text_set_text): emits delete-text and insert-text signals
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1894

 clutter/clutter-marshal.list |    1 +
 clutter/clutter-text.c       |   87 ++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 84 insertions(+), 4 deletions(-)

commit 4adc2c2d839c42eccc7187735ddcce061d25f14b
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 4 11:58:32 2010 +0000

    build: Move CoglMatrixMode to cogl-matrix-stack.h
    
    This avoids a redeclaration of _cogl_matrix_stack_flush_to_gl() from
    using GLenum to CoglMatrixMode.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1928

 clutter/cogl/cogl/cogl-internal.h     |    7 -------
 clutter/cogl/cogl/cogl-matrix-stack.h |    9 +++++++--
 2 files changed, 7 insertions(+), 9 deletions(-)

commit eb9029504124daf4c032f027c2f068ec25548f3f
Author: Halton Huo <halton.huo@sun.com>
Date:   Mon Jan 4 11:49:50 2010 +0000

    cogl-texture: Remove return in void functions
    
    http://bugzilla.o-hand.com/show_bug.cgi?id=1929
    
    Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>

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

commit b98d486fc99fd46626877be728961190dbf831dc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 4 11:49:13 2010 +0000

    build: Maintainer cflags go in the _CFLAGS target
    
    The maintainer compiler flags are not pre-processor flags.

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

commit 0fb51658fdba886fd5d9cb53cfca6df13aa1f7a0
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Mon Jan 4 11:43:00 2010 +0000

    cogl: Const-ify vertices in cogl_polygon()
    
    The CoglTextureVertex array passed to cogl_polygon() is a pure
    in-argument and should be const-ified.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1917

 clutter/cogl/cogl/cogl-primitives.c |   27 ++++++++++++++-------------
 clutter/cogl/cogl/cogl-texture.h    |    6 +++---
 2 files changed, 17 insertions(+), 16 deletions(-)

commit 1c69c61745ed510f0b6ab16cb963ca01994cb9fc
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Wed Nov 11 11:00:29 2009 +0000

    master-clock: Take a reference before advancing timelines
    
    A timeline advancement might cause another timeline to be
    destroyed, which will likely lead to a segmentation fault.
    
    Before advancing the timelines we should take a reference
    on them - just like we do for the stages before doing
    event processing. This will prevent dispose() from running
    until the end of the advancement.
    
    http://bugzilla.openedhand.com/show_bug.cgi?id=1854

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

commit 5ae88f5777c5ed0663937f990350f145b254692c
Author: Emmanuele Bassi <ebassi@linux.intel.com>
Date:   Sun Jan 3 20:41:17 2010 +0000

    Post-release version bump to 1.1.5

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