commit a17b1f8df510f5ba09f8070dca3abf913aacdca6 Author: Emmanuele Bassi Date: Mon Apr 19 17:33:48 2010 +0100 Release 1.2.6 NEWS | 33 +++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 35 insertions(+), 2 deletions(-) commit 601b6f6be6eae032229a8d6b54ef55e66dc1a1c3 Author: Emmanuele Bassi Date: Mon Apr 19 17:30:28 2010 +0100 x11: Use g_signal_override_class_closure() The g_signal_override_class_handler() function was added in GLib 2.18, which means we should bump our requirement for GLib. Luckily, the override_class_handler() function is just a wrapper around the older g_signal_override_class_closure(), so we can use that and avoid bumping the pre-requisites in the middle of a stable cycle. clutter/x11/clutter-x11-texture-pixmap.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) commit 5c4efbce32473983f5d3e7475cf760d3919bf53d Author: Robert Bragg Date: Thu Apr 1 13:15:12 2010 +0100 docs: This improves the documentation for cogl_push_framebuffer This adds an example of how to setup a Clutter style 2D coordinate space and clarifies what state is owned by a framebuffer. (projection, modelview, viewport and clip stack) When we expose more cogl_framebuffer API this example will hopefully be migrated into a more extensive introduction to using framebuffers. (cherry picked from commit 412a468d5ef4a2cc6cc748717ae245874d3ccd76) Signed-off-by: Emmanuele Bassi clutter/cogl/cogl/cogl.h | 85 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 75 insertions(+), 10 deletions(-) commit 95831e8e389a86c743b5e67791be237c2a838294 Author: Emmanuele Bassi Date: Fri Apr 9 18:22:50 2010 +0100 tests: Fix test-script.json A trailing comma is breaking the validity of test-script.json (cherry picked from commit 6583f8bb4906a450593d77b213e67ad8886edbbb) Signed-off-by: Emmanuele Bassi tests/data/test-script.json | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 404d4d4ca0438b12acb9a49c6f5bdc3e30ac5d68 Author: Neil Roberts Date: Thu Apr 15 13:57:45 2010 +0100 clutter-texture: Remove confusing comments about realization In 125bded81 some comments were introduced to ClutterTexture complaining that it can have a Cogl texture before being realized. Clutter always assumes that the single GL context is current so there is no need to wait until the actor is realized before setting a texture. This patch replaces the comments with clarification that this should not be a problem. The patch also changes the documentation about the realized state in various places to clarify that it is acceptable to create any Cogl resources before the actor is realized. http://bugzilla.openedhand.com/show_bug.cgi?id=2075 (cherry picked from commit a28440eafbfc126020fc83544eb89d06069df3e2) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 49 +++++++++++++++++++++---------------- clutter/clutter-texture.c | 30 +++++++++-------------- doc/clutter-actor-invariants.txt | 5 +++- 3 files changed, 44 insertions(+), 40 deletions(-) commit ced77cd26b22b3006bab7525a54116e99fcc3e08 Author: Emmanuele Bassi Date: Wed Apr 14 23:34:38 2010 +0100 docs: Clean up ClutterActor's long description The Actor's long description is a bit cluttered; it contains a section on the actor's box semantics, on the transformation order and on the event handling. We should use tags to divide the Actor's description into logically separated sections. We should also add a section about the custom Scriptable properties that ClutterActor defines, and the special handling of unit-based properties. (cherry picked from commit 15ef549207b188e7e201a21a77386c3268a1cb53) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 210 ++++++++++++++++++++++++++-------------------- 1 files changed, 119 insertions(+), 91 deletions(-) commit de15ce3f755c3ee7c49488af86af1bfbf904d8f7 Author: Rob Bradford Date: Wed Apr 14 00:12:02 2010 +0100 text: Check generated size of layouts in cache By comparing the requested size against the computed sized for existing Pango layouts we can avoid creating layouts where the requested size matches that of a previously computed one. In particular this optimisation means that when working with a fixed positioning based layout (with no constraints on the size of the ClutterText) the same PangoLayout can be used to calculate the preferred width, height and also the layout used for the actual painting. http://bugzilla.openedhand.com/show_bug.cgi?id=2078 Signed-off-by: Emmanuele Bassi (cherry picked from commit dd407326feaa53a68fa30db710f8ca4b5ea7b1ba) Signed-off-by: Emmanuele Bassi clutter/clutter-text.c | 55 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 52 insertions(+), 3 deletions(-) commit 714a3b6d200b6e5144e50210e1883c3a472e0ce2 Author: Emmanuele Bassi Date: Fri Mar 19 16:24:34 2010 +0000 script: Do not allocate memory when not needed When printing out the property value during a ClutterScript debug run we generate the value's content using g_strdup_value_contents() - though we do it unconditionally. The contents might not be printed (they most likely won't, actually) and will be freed afterwards. This is unnecessary: we can allocate the contents string after checking if we're going to print out the debug note, thus avoiding the whole allocation/free cycle unless strictly needed. (cherry picked from commit f935270aa01ac83ecb43212cb86bac63e76d5687) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) commit 7be083c93cdbdf5e89729a9e697d1e136665049f Author: Fridrich Strba Date: Fri Apr 9 15:43:42 2010 +0100 win32: Use GCLP_* instead of GCL_* when calling GetClassLongPtr (commit message by Neil) GetClassLongPtr expects a different constant when retrieving handles or pointers. This fixes problems using Win64. (cherry picked from commit c99a24d34163b1a8d867facdee0256f5af5b33b8) Signed-off-by: Emmanuele Bassi clutter/win32/clutter-stage-win32.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 723581f556e5bf32238c9a6019a10a0397aff7ae Author: Emmanuele Bassi Date: Fri Apr 9 18:24:09 2010 +0100 actor: Do not use G_UNLIKELY in paint() We decide whether the paint() should be a real paint or a paint in pick mode depending on the global pick_mode value. Using G_UNLIKELY() on an operation that most likely is going to be executed once every frame is going to blow a lot of cache lines and frak with the CPU branch prediction. Not good. (cherry picked from commit 93a5b78e5ae3ab07c11f92fc6d7525dc3569dcb4) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) commit 255765f3b3669fa61c8436a6adb0d86ec0d1d9c5 Author: Robert Bragg Date: Fri Apr 16 14:38:52 2010 +0100 glx: handle spurious GLX_BufferSwapComplete events gracefully Instead of simply aborting we now print out a warning, when a spurious GLX_BufferSwapComplete event is handled since it seems that people are coming across the problem (perhaps due to a buggy driver) and making apps crash in this situation is a bit extreme. (cherry picked from commit 62ac3b312e861d813dc5a4f9c8d3556b86381626) clutter/glx/clutter-event-glx.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit 37f9368a1aa87898aa8498adcc9206200c592650 Author: Neil Roberts Date: Tue Apr 13 17:26:03 2010 +0100 cogl-atlas-texture: Fix a memory leak The CoglAtlasTexture struct was not being freed in _cogl_atlas_texture_free so there would be a small leak whenever a texture was destroyed. Thanks to Robert Bragg for spotting this. (cherry picked from commit 1445e9d32d8f4b5c82c81deb32a57a90c0009825) clutter/cogl/cogl/cogl-atlas-texture.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 43badfc51fb944ca4d9cd922a74b8b02d8e75ff5 Author: Owen W. Taylor Date: Fri Mar 26 00:56:15 2010 +0000 x11: Use has_allocation() in TfP actor ClutterX11TexturePixmap calls get_allocation_box() when queueing a clipped redraw. If the allocation is not valid, and if we queue a lot of redraws in response to a series of damage events, the net result is that we spend all our time in a re-layout. We can short-circuit this by checking if the actor has a valid allocation, and if not, just queue a redraw - the actor will be allocated by the time it is going to be painted. Signed-off-by: Emmanuele Bassi (cherry picked from commit 6fcc8c5bce08296151de418e472d2777c8b2abca) clutter/x11/clutter-x11-texture-pixmap.c | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) commit 741917cf963c1b33a7de02ee5f79e3ec3ec4374f Author: Owen W. Taylor Date: Fri Mar 26 00:53:27 2010 +0000 actor: Add has_allocation() method (The original commit has been amended during cherry-pick) Add a private _clutter_actor_has_allocation(), a method meant to be used when deciding whether to call clutter_actor_get_allocation_box() or any of its wrappers. The get_allocation_box() method will, in case the allocation is invalid, perform a costly re-allocation cycle to ensure that the returned box is valid. The has_allocation() method is meant to be used if we have an actor calling get_allocation_box() from outside the place where the allocation is always guaranteed to be valid. Signed-off-by: Emmanuele Bassi (cherry picked from commit 8df4a0b8fdbbff580aab4377dec9878c693d2440) clutter/clutter-actor.c | 30 ++++++++++++++++++++++++++++++ clutter/clutter-private.h | 3 +++ 2 files changed, 33 insertions(+), 0 deletions(-) commit 0ec010ed20626861a88dc102b94dd9f7d76f0b39 Author: Emmanuele Bassi Date: Thu Mar 25 09:33:26 2010 +0000 Use begin/end macros in cogl-primitives.h Protect the people using a C++ compiler from the dark abyss of C code. http://bugzilla.openedhand.com/show_bug.cgi?id=2049 (cherry picked from commit 5395a7a998a84ea9614d7745a4337094eb2e1383) Signed-off-by: Emmanuele Bassi clutter/cogl/cogl/cogl-primitives.h | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit 1da83ee2b1cc549480b8a68ab35e4bfd7218199c Author: Emmanuele Bassi Date: Mon Mar 22 11:56:35 2010 +0000 Post-release version bump to 1.2.4 configure.ac | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)