commit d490477f4e689020a2228111b39f9adb796b53fe
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Tue Sep 15 12:46:44 2015 +0100

    Release Clutter 1.24.0

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

commit 0e7b18832a6c694fd2443abeecf91fefc47ee76e
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Tue Sep 15 00:32:05 2015 +0100

    cogl: reset pending swaps counter on unrealize
    
    When removing the frame callback on the CoglOnscreen, we loose the ability
    to get notified of swap events. This could leave us with a counter != 0
    which leads to a deadlock situation after the next realize/draw cycle.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755014

 clutter/cogl/clutter-stage-cogl.c | 2 ++
 1 file changed, 2 insertions(+)

commit ff1a5aae7ac374592f1a9f7ff7be6d0a4bd576c2
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Tue Sep 15 00:30:05 2015 +0100

    x11: stage window: reset framebuffer on foreign window unrealize
    
    Similarly to 13dbb74c81bec861d3a135fb53966ae5562831a7, we need to reset the
    framebuffer in the x11 for foreign windows.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755014

 clutter/clutter-backend-private.h |  5 +++++
 clutter/clutter-backend.c         | 25 +++++++++++++++++++++++++
 clutter/gdk/clutter-backend-gdk.c | 27 ---------------------------
 clutter/gdk/clutter-backend-gdk.h |  4 ----
 clutter/gdk/clutter-stage-gdk.c   |  3 +--
 clutter/x11/clutter-stage-x11.c   | 14 ++++++++++++++
 6 files changed, 45 insertions(+), 33 deletions(-)

commit 6c7f624f691415ca9ae8c1a95d41b359704d6f1b
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Sep 14 23:21:29 2015 +0100

    master-clock-default: prevent deadlock with GLX_INTEL_swap_event
    
    If we call _clutter_stage_do_update() on a ClutterStage that isn't
    mapped/visible, no GL command will be queued, and the Mesa/DRI2
    implementation of SwapBuffers will do nothing. This causes
    GLX_INTEL_swap_event to not be emitted by the X server because no swapping
    has been requested through DRI2 and it eventually leads to a deadlock
    situation in ClutterStageCogl because we're waiting for an event before we
    start the next draw cycle.
    
    This patch removes the non mapped stages from the list of stages to process.
    This is consistent with a previous patch for the ClutterMasterClockGdk [1].
    
    [1] : 5733ad58e5a3989f5cb836d42a1cebf3884e7c36
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755014

 clutter/clutter-master-clock-default.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

commit ee98a5bbe8ad21519d5e368ca5b2336e5d1da880
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Sep 14 01:00:12 2015 +0200

    gdk: x11: notify Cogl immediately of a foreign window resize
    
    We want to avoid waiting for the acknowledgement event from the X
    server as we might redraw the stage before that happens.
    
    This patch reimplements a bit of logic already in clutter-gtk [1].
    
    [1] : https://git.gnome.org/browse/clutter-gtk/tree/clutter-gtk/gtk-clutter-embed.c#n723
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754993

 clutter/gdk/clutter-stage-gdk.c | 42 +++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

commit aeb19f2f4dcb6d25093802aaac1878c755dc16be
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Sun Sep 13 00:38:56 2015 +0200

    gdk: move sync_to_vblank setup from master clock to backend
    
    Setting up the sync_to_vblank in the MasterClock is a bit too late as
    the MasterClock can be created after a StageWindow has been created
    and realized (and therefore all of its Cogl/GL state setup already).
    So move the setup to the backend, prior to any StageWindow creation.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754938

 clutter/gdk/clutter-backend-gdk.c      | 5 +++++
 clutter/gdk/clutter-master-clock-gdk.c | 4 ----
 2 files changed, 5 insertions(+), 4 deletions(-)

commit 9f1db3f1b828a7f2e92877b44da6204c7ad3d505
Author: Marek Černocký <marek@manet.cz>
Date:   Mon Sep 14 13:24:00 2015 +0200

    Updated Czech translation

 po/cs.po | 863 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 428 insertions(+), 435 deletions(-)

commit 53bbd4801f870608fc49f51cc4b555636df9f22e
Author: Bernd Homuth <dev@hmt.im>
Date:   Sun Sep 13 05:27:22 2015 +0000

    Updated German translation

 po/de.po | 938 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 476 insertions(+), 462 deletions(-)

commit 13dbb74c81bec861d3a135fb53966ae5562831a7
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Fri Sep 11 17:24:05 2015 +0200

    gdk: stage window: reset framebuffer on foreign window unrealize
    
    Clutter still uses part of the deprecated stateful API of Cogl (in
    particulart cogl_set_framebuffer). It means Cogl can keep an internal
    reference to the onscreen object we rendered to. In the case of
    foreign window, we want to avoid this, as we don't know what's going
    to happen to that window.
    
    This change sets the current Cogl framebuffer to a dummy 1x1
    framebuffer if the current Cogl framebuffer is the one we're
    unrealizing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754890

 clutter/gdk/clutter-backend-gdk.c | 29 ++++++++++++++++++++++++++++-
 clutter/gdk/clutter-backend-gdk.h |  4 ++++
 clutter/gdk/clutter-stage-gdk.c   | 21 ++++++++++++++++++++-
 3 files changed, 52 insertions(+), 2 deletions(-)

commit cb4e88884bc811120dabcf473503d23a21044618
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Fri Sep 11 13:15:16 2015 +0200

    gdk: master clock: hook ourselves to the paint signal
    
    We're currently hooked to the "update" signal of the FrameClock. When
    embedding Clutter inside GTK+ we want to have the layout phase of GTK+
    to notify us the size of our stage.
    
    This patch change to FrameClock signal we're listening to, to the
    "paint" signal to make sure we've received the layout information from
    GTK+, before painting. Otherwise we paint with a delay of one frame.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754889

 clutter/gdk/clutter-master-clock-gdk.c | 6 +++---
 clutter/gdk/clutter-stage-gdk.c        | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 5d83260b19c06f216cfdb21a57f256ebee1affef
Author: Jonas Ådahl <jadahl@gmail.com>
Date:   Thu Sep 10 16:12:51 2015 +0800

    actor: Fix transforming stage point when scale is less than 1
    
    The commit 6cd24faaa54de3246ca45d1c7426d8b7a74f71db (actor: Clean up
    transform_stage_point()) changed the validation of the transformation
    matrix to ignore the fraction part of the determinant. This caused
    clutter_actor_transform_stage_point() to fail and return FALSE for
    actors which scale was less than 1.
    
    Previously the validation was ('det' being a float):
    	det = (RQ[0][0] * ST[0][0])
    	    + (RQ[0][1] * ST[0][1])
    	    + (RQ[0][2] * ST[0][2]);
    	if (!det)
    		return FALSE;
    
    Semantically, the if statement expression '!det' is equivalent to
    'det == 0', i.e. 'det == 0.0f'. Post cleanup patches, 'det' was turned
    into a double, and the if statement was changed to:
    
    	if (CLUTTER_NEARBYINT (det) == 0)
    		return FALSE;
    
    which, different from before, rounds the determinant to the nearest
    integer value, meaning determinant in the range (-0.5, 0.5) would be
    considered invalid.
    
    This patch reverts this part to the old behavior, while, because of the
    inexact nature of floating point arithmetics, allowing a bit more liberal
    meaning of "equals to 0" than '== 0.0'.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754766

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

commit 63813ad398a38d5d7f304c497a1c3f0fda92bdd7
Author: Dušan Kazik <prescott66@gmail.com>
Date:   Thu Sep 10 17:28:07 2015 +0000

    Updated Slovak translation

 po/sk.po | 61 +++++++++++++++++++++++++++++--------------------------------
 1 file changed, 29 insertions(+), 32 deletions(-)

commit 763a04e4dd140a79bad1c0c1364fd18970f4f2f3
Author: Matej Urbančič <mateju@svn.gnome.org>
Date:   Tue Sep 8 23:13:13 2015 +0200

    Updated Slovenian translation

 po/sl.po | 880 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 444 insertions(+), 436 deletions(-)

commit 9432e67ee8f5884d883b6ce1e3ac3e84dcd7cd22
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Aug 31 22:58:11 2015 +0100

    gdk: stage: create subsurface when dealing with foreign windows on wayland
    
    It is safer to create our own wayland surface when rendering into
    someone else GdkWindow, otherwise we might draw somewhere we didn't
    intend to.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754697

 clutter/gdk/clutter-event-gdk.c |   9 +++
 clutter/gdk/clutter-stage-gdk.c | 143 +++++++++++++++++++++++++++++++++++++---
 clutter/gdk/clutter-stage-gdk.h |  12 ++++
 3 files changed, 154 insertions(+), 10 deletions(-)

commit 3771ef2f08054770ebc6110de14efd8fa2de3a26
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Aug 31 22:55:57 2015 +0100

    gdk: stage: report geometry of the underlying surface for foreign windows
    
    When running on wayland, we might have our own subsurface
    desynchronized from the foreign GdkWindow. It is important that we
    report the size of the actually surface we're rendering to, otherwise
    the logic in ClutterStage might discard resize operation that
    resynchronize the subsurface with the stage's size.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754697

 clutter/gdk/clutter-stage-gdk.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

commit 55dce70440dc27d6b0e38feccbf62422cfabe499
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Aug 31 23:20:29 2015 +0100

    gdk: stage: do not ensure native windows are created with foreign windows
    
    For foreign windows this should be dealt with by the embedding
    framework. In particular on Wayland with foreign windows, we might
    want to create a subsurface and use the foreign window only for events
    and frame clock synchronization.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754697

 clutter/gdk/clutter-stage-gdk.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

commit a9b38fefdc097427cc33ca2b8d527415ee4f157b
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Sep 7 12:21:18 2015 +0100

    gdk: stage: disable some operations for foreign windows
    
    Some operations like :
         * resize
         * show/hide
         * set_title
         * set_user_resizable
    
    should be handled by the embedding framework, so disable them for
    foreign windows.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754671

 clutter/gdk/clutter-stage-gdk.c | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

commit 5733ad58e5a3989f5cb836d42a1cebf3884e7c36
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Sat Sep 5 23:08:09 2015 +0100

    gdk: master clock: only process mapped & realized stages
    
    When using Clutter embed inside a Gtk application, a stage might end
    up realized but not visible. In this case we might discard doing any
    kind of animation processing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754671

 clutter/gdk/clutter-master-clock-gdk.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

commit 6183eb363282e5143bfd52aa36b5e6a318c4c992
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Mon Sep 7 12:27:26 2015 +0100

    gdk: master-clock: disable vsync throttling
    
    When running with a master clock based on the GdkFrameClock, we get
    synchronized with the compositor, so no need for throttling rendering.
    
    In particular when dealing with foreign windows, we run into deadlocks
    in Mesa because of the way the Mesa wayland backend is implemented [1].
    
    [1] : http://cgit.freedesktop.org/mesa/mesa/tree/src/egl/drivers/dri2/platform_wayland.c#n330
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754671

 clutter/gdk/clutter-master-clock-gdk.c | 3 +++
 1 file changed, 3 insertions(+)

commit dbec3be99686685dfb704cba468cb807a8b5760d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Sep 4 13:53:04 2015 +0100

    grid-layout: Clarify the scope of the orientation property
    
    Just like GtkGrid, changing the orientation of a ClutterGridLayout does
    not change the existing layout; the orientation property is only used as
    a hint when adding new children.

 clutter/clutter-grid-layout.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

commit 41e18f795a6cd090fbe2fdf039ea555a5df735b0
Author: Milo Casagrande <milo@ubuntu.com>
Date:   Fri Sep 4 07:51:39 2015 +0000

    Updated Italian translation

 po/it.po | 556 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 279 insertions(+), 277 deletions(-)

commit 7ed96aabd8c3703f5b0572ee7f000821a25d019d
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Thu Sep 3 14:15:11 2015 +0100

    grid: Use the proper orientation for the request mode
    
    We automatically switch the request mode of the container depending on
    the GridLayout's orientation, but we need to keep track of the request
    mode during allocation, so that we don't get out of sync if the user
    changed the request mode after adding the layout manager.
    
    This change also brings us closer to the code in GtkGrid.

 clutter/clutter-grid-layout.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

commit 8a7304ee7d86fd3649a754a059a596c39792a97d
Author: Aurimas Černius <aurisc4@gmail.com>
Date:   Wed Sep 2 21:13:29 2015 +0300

    Updated Lithuanian translation

 po/lt.po | 50 ++++++++++++++++++++++++++------------------------
 1 file changed, 26 insertions(+), 24 deletions(-)

commit 41bde79cf65a9a4c7c93aa4e5a03f5701161d5ee
Author: Dušan Kazik <prescott66@gmail.com>
Date:   Tue Sep 1 08:15:40 2015 +0000

    Updated Slovak translation

 po/sk.po | 75 ++++++++++++++++++++++++++++++----------------------------------
 1 file changed, 35 insertions(+), 40 deletions(-)

commit 5ae744c835032b75146a9869e01f5920de5c2e32
Author: Balázs Úr <urbalazs@gmail.com>
Date:   Mon Aug 31 15:32:01 2015 +0000

    Updated Hungarian translation

 po/hu.po | 871 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 438 insertions(+), 433 deletions(-)

commit 3bb58de17064de7d9d9d209c26ccf5d8f49c5e83
Author: Yosef Or Boczko <yoseforb@src.gnome.org>
Date:   Sun Aug 30 11:12:55 2015 +0300

    Updated Hebrew translation

 po/he.po | 870 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 435 insertions(+), 435 deletions(-)

commit dea5057fbd7e9e2f0199ec6df6e5716635f0e5ee
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Sat Aug 29 20:19:51 2015 +0100

    grid: Use the orientation of the request
    
    We use the orientation of the grid to get the preferred size of the
    layout, but we should be using the orientation of the request instead.
    The preferred width has an orizontal orientation, and the preferred
    height has a vertical orientation.
    
    This allows us to refactor the get_preferred_* implementation into a
    separate function.

 clutter/clutter-grid-layout.c | 69 +++++++++++++++++++++++++------------------
 1 file changed, 41 insertions(+), 28 deletions(-)

commit ed80a4bebb4c271e0f3f22208b38010d9ba4a812
Author: Dušan Kazik <prescott66@gmail.com>
Date:   Sat Aug 29 15:58:00 2015 +0000

    Updated Slovak translation

 po/sk.po | 636 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 334 insertions(+), 302 deletions(-)

commit 6b7cfceb5ee372269f22bcd3b785a245429c6998
Author: Tom Tryfonidis <tomtryf@gmail.com>
Date:   Fri Aug 28 20:50:07 2015 +0000

    Updated Greek translation

 po/el.po | 628 ++++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 315 insertions(+), 313 deletions(-)

commit 6bcbd1bfce75f82d95c6b15f8f4bdf1c3702f436
Author: Andika Triwidada <andika@gmail.com>
Date:   Fri Aug 28 13:02:13 2015 +0000

    Updated Indonesian translation

 po/id.po | 29 +++++++++++++----------------
 1 file changed, 13 insertions(+), 16 deletions(-)

commit 0e4d11bcd8fca592215259568f2e816d3f501397
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Tue Aug 25 23:28:18 2015 +0100

    gdk: master clock: fix incorrect symbol use
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754134

 clutter/gdk/clutter-master-clock-gdk.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 5b9c31a0cece7852a22a76e24a4738cb4c773d1d
Author: Lionel Landwerlin <llandwerlin@gmail.com>
Date:   Tue Aug 25 00:13:49 2015 +0100

    gdk: fix memory corruption
    
    g_hash_table_replace will free the list pointer we're modifying.
    Let's just do memory management ourselves.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=754134

 clutter/gdk/clutter-master-clock-gdk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 84ad306a6598b831c4827cb6151a7f1bde33a6ff
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Aug 26 17:38:58 2015 +0200

    Updated Polish translation

 po/pl.po | 656 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 328 insertions(+), 328 deletions(-)

commit 6e6d5b152b3d9c346bb6d02bd5234bf812ec325f
Author: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
Date:   Tue Aug 25 22:51:41 2015 +0000

    Updated Chinese (Taiwan) translation

 po/zh_TW.po | 871 ++++++++++++++++++++++++++++++------------------------------
 1 file changed, 438 insertions(+), 433 deletions(-)

commit e26a0c3afc82bba1226403b05d5836c6dce8c4c9
Author: Fran Dieguez <fran@openhost.es>
Date:   Tue Aug 25 15:51:15 2015 +0200

    Updated Galician translations

 po/gl.po | 42 ++++++++++++++++++++----------------------
 1 file changed, 20 insertions(+), 22 deletions(-)

commit e10fd2d4c01d339056a30f4d3dca713147986b9e
Author: Daniel Mustieles <daniel.mustieles@gmail.com>
Date:   Tue Aug 25 11:01:18 2015 +0200

    Updated Spanish translation

 po/es.po | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

commit 8f20f86a80882ce3506a7feb2527c64e95045631
Author: Pedro Albuquerque <palbuquerque73@gmail.com>
Date:   Tue Aug 25 06:20:10 2015 +0000

    Updated Portuguese translation

 po/pt.po | 32 +++++++++++++++++---------------
 1 file changed, 17 insertions(+), 15 deletions(-)

commit 81a560f9bf043c54a37c947a52f149fb4d5e0064
Author: Alexandre Franke <alexandre.franke@gmail.com>
Date:   Mon Aug 24 16:02:38 2015 +0000

    Updated French translation

 po/fr.po | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

commit 84c5846aa07080c825702af798d3bae4c888b240
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Aug 24 10:01:03 2015 +0100

    image: Use internal function for the texture node
    
    ClutterActor has a convenience function that removes the need to query
    the actor's state and apply it to a ClutterTextureNode, so we should use
    it.

 clutter/clutter-image.c | 41 +++--------------------------------------
 1 file changed, 3 insertions(+), 38 deletions(-)

commit af010d5e2daf09f8ce4e453e32efa4920b3d103a
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Aug 24 09:59:53 2015 +0100

    canvas: Use internal function for the texture node
    
    ClutterActor has a convenience function that removes the need to query
    the actor's state and apply it to a ClutterTextureNode, so we should use
    it.

 clutter/clutter-canvas.c | 45 ++++++---------------------------------------
 1 file changed, 6 insertions(+), 39 deletions(-)

commit cf7e37b53bb5f5a91d3a849e88e1cfeeada9aa0c
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Mon Aug 24 09:59:16 2015 +0100

    actor: Add internal "create textute node" function
    
    To avoid excessive copy and paste. We could even consider making it
    public before release.

 clutter/clutter-actor-private.h |  3 ++
 clutter/clutter-actor.c         | 63 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+)

commit 6cc12adf4d1b3ab5475caa98a7c99a5b577459e1
Author: Emmanuele Bassi <ebassi@gnome.org>
Date:   Fri Aug 21 15:02:47 2015 +0100

    Post-release version bump to 1.23.7

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)