commit 3dba84d7a9da97d0f583117088aa20f94935e983 Author: Emmanuele Bassi Date: Thu Apr 23 21:00:06 2015 +0100 Release Clutter 1.20.2 (stable) NEWS | 32 ++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 34 insertions(+), 2 deletions(-) commit 2e9eb3d783364955f005e99b3c19b3cc20fd4a80 Author: Emmanuele Bassi Date: Thu Apr 23 21:33:30 2015 +0100 build: Skip gitignore files when not building from git There's really no point in going through the motions there. build/autotools/Makefile.am.gitignore | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) commit d0e4821ae8930912bc171f51cef740d98b3046d3 Author: Emmanuele Bassi Date: Thu Apr 23 21:23:50 2015 +0100 build: Create .gitignore files in the current directory We cannot touch srcdir when distchecking. build/autotools/Makefile.am.gitignore | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit 30cf9b400eeb22af2bed496325311276111ae32c Author: Emmanuele Bassi Date: Thu Apr 9 11:03:16 2015 +0100 x11: Improve touchpad detection heuristics We should use the same heuristics used by GDK in order to detect whether a device is a touchpad or not. Based on the similar code from Carlos Garnacho for GDK: https://git.gnome.org/browse/gtk+/commit/?id=6f07d5e7 https://bugzilla.gnome.org/show_bug.cgi?id=747436 (cherry picked from commit 79849ef1d5fff9acd310cd68d59df0c7cf2cb28f) Signed-off-by: Emmanuele Bassi clutter/x11/clutter-device-manager-xi2.c | 34 +++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) commit c0998fa347c2e36b900d4728b611c964d7121963 Author: Emmanuele Bassi Date: Thu Apr 23 20:18:25 2015 +0100 tests: Remove calls to clutter_x11_enable_xinput() The function is deprecated and useless: support for XInput is always enabled, if the extension is available. tests/interactive/test-devices.c | 5 ----- tests/interactive/test-events.c | 4 ---- tests/interactive/test-rotate-zoom.c | 4 ---- tests/interactive/test-touch-events.c | 4 ---- 4 files changed, 17 deletions(-) commit 89364e18425e892707381d90caecc7c3cd4ec7cb Author: Emmanuele Bassi Date: Thu Apr 23 20:47:26 2015 +0100 cogl/stage: Fix a compiler warning clutter/cogl/clutter-stage-cogl.c | 2 ++ 1 file changed, 2 insertions(+) commit 5b4c03e56c3382df47b7dbee4064edfb844d2585 Author: Emmanuele Bassi Date: Mon Dec 15 23:13:30 2014 +0000 build: Use subdir-objects (cherry picked from commit e2eb0b0adad71bbd3bd71d5e82288bd9d9c5985d) Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 736 ++++++++++++++++++++++++++-------------------------- 1 file changed, 369 insertions(+), 367 deletions(-) commit 5e6102c05bd84dcabe03c19e850caf7d2ab55c5a Author: Emmanuele Bassi Date: Thu Apr 23 20:34:51 2015 +0100 build: Drop the full path for headers We don't need it any more. clutter/Makefile.am | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) commit a5f2299675dfe69dc39e667ccd91e6285ecba13d Author: Emmanuele Bassi Date: Thu Jan 1 19:40:18 2015 +0000 build: Drop ad hoc gitignore generation rules Instead, include Makefile.am.gitignore. (cherry picked from commit 847e3a2c553df8f0a6c78b6c6264a6c77a6e5704) Signed-off-by: Emmanuele Bassi tests/interactive/Makefile.am | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) commit ff9895e1a42bd65d287ee39412d7a59671cfe55b Author: Emmanuele Bassi Date: Thu Jan 1 19:39:33 2015 +0000 build: Fix up gitignore generation rules Use more sources, and allow adding files to the ignore list when including Makefile.am.gitignore. (cherry picked from commit 7bfd62f755410a6982a436f3edc938666fe5cdb9) Signed-off-by: Emmanuele Bassi build/autotools/Makefile.am.gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit f3c1560c48c999645c056097c138e7a3304361e0 Author: Emmanuele Bassi Date: Thu Jan 1 15:18:43 2015 +0000 Ignore automake droppings (cherry picked from commit 8d6cab0e71af3b9cb818cdd7b7f815505e2c9fac) Signed-off-by: Emmanuele Bassi .gitignore | 1 + 1 file changed, 1 insertion(+) commit f0f7216853e80c5701833c9f8c5a7feef192300a Author: Emmanuele Bassi Date: Tue Dec 16 00:15:18 2014 +0000 build: More out of tree build fixes (cherry picked from commit 2f490c9dcc3111217ddb968054c1c0d5e475564b) Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 2 +- doc/reference/clutter/Makefile.am | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) commit 0adac3f9dd746e9f33a36b250568d5d18da2a0a0 Author: Emmanuele Bassi Date: Tue Dec 16 00:02:16 2014 +0000 build: Fix out-of-tree builds Add a srcdir prefix to the inspected files for glib-mkenums. (cherry picked from commit 8e87d0417b341ca43d9399937c5946fe9cb48c32) Signed-off-by: Emmanuele Bassi build/autotools/Makefile.am.enums | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) commit c3004bbf42f5c046355e5d35a618af51494d15da Author: Jasper St. Pierre Date: Wed Oct 8 12:11:51 2014 -0700 input-device: Reset the focused actor when it becomes unreactive https://bugzilla.gnome.org/show_bug.cgi?id=743865 (cherry picked from commit 6c057e3171607d3cbfa61ec57c1fff6c5d72b14c) Signed-off-by: Emmanuele Bassi clutter/clutter-input-device.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit 4e3a8fc049a94d7a1ca42886d7e30026fbed70ab Author: Emmanuele Bassi Date: Tue Mar 3 15:54:36 2015 +0000 build: Add top_builddir to the API reference sources Otherwise gtk-doc won't be able to find some generated files. (cherry picked from commit 73e6f4e69df1b464c40e4652ed3cffccb003e7bb) Signed-off-by: Emmanuele Bassi doc/reference/clutter/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c0d1ea5f6e8bb0bca67c295a3b8e10d5661c6dae Author: Emmanuele Bassi Date: Tue Mar 3 17:23:37 2015 +0000 build: Use libtool macros to find libm Instead of using `-lm` everywhere, use LT_LIB_M inside configure.ac, and $(LIBM) inside Makefile.am. (cherry picked from commit df15f04fc0474be09e6839618c598d43aee920e5) Signed-off-by: Emmanuele Bassi clutter/Makefile.am | 9 ++------- configure.ac | 1 + doc/cookbook/examples/Makefile.am | 2 +- examples/Makefile.am | 8 +------- tests/conform/Makefile.am | 2 +- tests/interactive/Makefile.am | 2 +- tests/micro-bench/Makefile.am | 2 +- tests/performance/Makefile.am | 2 +- 8 files changed, 9 insertions(+), 19 deletions(-) commit 26d4d8452d18d7fde3e2b92b1c2da3eaad8ac95c Author: Emmanuele Bassi Date: Sun Mar 15 15:10:31 2015 +0000 rectangle: Fix the border drawing conditions And reorganize the code a bit while we're at it. (cherry picked from commit ce2d86515a58042011b41066492833d189f3fd1a) Signed-off-by: Emmanuele Bassi clutter/deprecated/clutter-rectangle.c | 117 +++++++++++++++++---------------- 1 file changed, 62 insertions(+), 55 deletions(-) commit 48661d6593cb6d27391c97990567f5914282ea48 Author: Emmanuele Bassi Date: Sat Mar 14 23:15:01 2015 +0000 rectangle: Do not draw the border if bigger than the allocation If the rectangle is allocate a size smaller than the border, drawing the border will end up with negative coordinates, and will mess up the whole thing. Since rectangles don't have a minimum preferred size, we cannot rely on the allocation being big enough to contain the border and the background color. If the rectangle is smaller than the border width value, we just paint the border color as well. (cherry picked from commit 6de341392126e83e098a360b2d77f6259ee09a23) Signed-off-by: Emmanuele Bassi clutter/deprecated/clutter-rectangle.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) commit 70f02bac3c8986bf97be993674ba09f6db717f80 Author: Chris Wilson Date: Wed Jan 28 22:08:03 2015 +0000 stage-cogl: Fix damage tracking with varying buffer ages With server-side buffer allocation, buffers may be returned out of order (e.g. they may be held onto by external references or hardware). As such we may see older buffers the frame after we discard the history from seeing a very young buffer. To overcome this we want to keep the history in a ring so we can keep track of older entries without keeping an unbounded list. After converting to a ring, the maximum buffer age observed during testing was 5 (expected value of 4), but before we could see ages as high as 9 due to the huge latency spikes caused by doing full buffer redraws (compounded by external listeners doing readback on the damaged areas, for example vnc, drm/udl, prime). For this reason, a maximum age of 16 was chosen to be suitably large enough to prevent these worst cases from taxing the system. v2: Fix off-by-one in combining the damage histroy into the clipping rectangle, and apply copious whitespace fixes. Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512 References: https://bugzilla.gnome.org/show_bug.cgi?id=724788 References: https://bugzilla.gnome.org/show_bug.cgi?id=669122 (cherry picked from commit 239280f855db26fec93646af51bbc772478ef698) Signed-off-by: Emmanuele Bassi clutter/cogl/clutter-stage-cogl.c | 108 ++++++++++++++++++-------------------- clutter/cogl/clutter-stage-cogl.h | 5 +- 2 files changed, 54 insertions(+), 59 deletions(-) commit ef323260d495b750b4897f17681fc449b82e1a01 Author: Chris Wilson Date: Mon Mar 2 12:11:30 2015 +0000 stage-cogl: Use swap buffers with damage cogl provides an interface to pass along damage with the swap buffers request. This is useful for the display servers and hardware to minimise the work done in updating the screen and also reducing the work done by external listeners (such as vnc, drm/udl and PRIME). Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512 (cherry picked from commit 55c957267ef241767ebd3891d49f06deb2ff4aa9) Signed-off-by: Emmanuele Bassi clutter/cogl/clutter-stage-cogl.c | 52 +++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 21 deletions(-) commit 609c53e57fbb296e2fc1ed07f28eb7c5fbd7a40c Author: Necdet Yücel Date: Sat Mar 21 23:35:03 2015 +0000 Updated Turkish translation po/tr.po | 2927 +++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 1859 insertions(+), 1068 deletions(-) commit 5b867a2f7346009ee2c864a7deda8a46c81f9dd0 Author: Samir Ribic Date: Sat Mar 14 23:05:52 2015 +0000 Added Bosnian translation po/bs.po | 2836 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2836 insertions(+) commit a7380bf2bd01afac122c2cc9ac2ddcb357b4997e Author: Emmanuele Bassi Date: Wed Dec 3 12:11:55 2014 +0000 gdk: Use non-deprecated GdkCursor API The non-display safe variant has been deprecated in GTK+ 3.15. (cherry picked from commit 54efcf0e903e50ce927d3b22aa1edfa7dfa1744a) Signed-off-by: Emmanuele Bassi clutter/gdk/clutter-stage-gdk.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 44fbd49546168002ac0865545f7a5e488a2f3113 Author: Emmanuele Bassi Date: Wed Dec 3 12:07:06 2014 +0000 gdk: Disable deprecation warnings We don't want to break the build because GDK deprecated some symbol. (cherry picked from commit 7d7eb8aabda177e502f388cbe7dd6b2b4e892bc3) Signed-off-by: Emmanuele Bassi clutter/gdk/clutter-stage-gdk.c | 3 +++ 1 file changed, 3 insertions(+) commit be6ac84cf2e0d60be7ffe6ab0e2ec2880702a7c8 Author: Carlos Garnacho Date: Wed Dec 10 16:51:43 2014 +0100 x11: Resort to device name matching for non-mt touchpads If a touchpad is not multitouch, or does not report MT axes (eg. through the libinput driver), resort to name matching before falling back to CLUTTER_POINTER_DEVICE. https://bugzilla.gnome.org/show_bug.cgi?id=741350 (cherry picked from commit a0e2ba62a185c2db1fb998863f3e2011aebfaf68) Signed-off-by: Emmanuele Bassi clutter/x11/clutter-device-manager-xi2.c | 2 ++ 1 file changed, 2 insertions(+) commit a924a74a45f4cd44ee4bbc160f183ec4bcbba6e6 Author: Samuel Degrande Date: Mon Dec 1 20:18:46 2014 +0100 Easing modes are not used when computing the value of a KeyframeTransition An easing mode can be set on a frame of a KeyframeTransition. However, the progress value of the current frame is computed using using a linear function. This patch adds a call to clutter_easing_for_mode() to compute the actual progress value. Note that parametrized easing modes (bezier and 'step') are not taken into account. https://bugzilla.gnome.org/show_bug.cgi?id=740997 (cherry picked from commit e7d1458298318dad8eb046540162323dc1a76b25) Signed-off-by: Emmanuele Bassi clutter/clutter-keyframe-transition.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 52f36dbd28c27118049fbb7320b16b924b781bff Author: Emmanuele Bassi Date: Sat Dec 13 14:28:46 2014 +0000 actor: Bail when setting the same content No need to do all the work, if the content instance is the same. (cherry picked from commit 1e2132eca49347a2d8e519ab45780c52952c3e9e) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 3 +++ 1 file changed, 3 insertions(+) commit 35c126709f0066c0dd81cde30d4f776cad3f1177 Author: Emmanuele Bassi Date: Sat Dec 13 14:29:30 2014 +0000 actor: Reset the content box when setting a new content We want to recompute the content box when changing the content instance, in case the preferred size is different and the content gravity uses the preferred size; the change of content with different preferred size and same gravity should also trigger an implicit transition. https://bugzilla.gnome.org/show_bug.cgi?id=711182 (cherry picked from commit d546c0c121a967ab49773f91119dffe9d0358cdd) Signed-off-by: Emmanuele Bassi clutter/clutter-actor.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) commit 735cdf2578b9abc4e914211adafc5e0e261eefe4 Author: Emmanuele Bassi Date: Sun Dec 14 23:03:58 2014 +0000 conform: Drop a deprecated property Use the non-deprecated :orientation property, instead of the deprecated :vertical one. (cherry picked from commit e6a60f661784f3c0d8744402a0569ea47426ba02) Signed-off-by: Emmanuele Bassi tests/conform/scripts/test-script-named-object.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 11892d78aef7090b107c897cab46b2540104f5a7 Author: Emmanuele Bassi Date: Sun Dec 14 23:05:17 2014 +0000 script: Do not overwrite ObjectInfo fields When merging multiple definitions it's possible that the ObjectInfo fields may get overwritten. Instead of trampling over the fields, we should reset them only when they actually change — especially the "is_actor" one, which controls the destruction of the objects when unmerging happens. https://bugzilla.gnome.org/show_bug.cgi?id=669743 (cherry picked from commit d005c6a8809fe48ce5c8e5a9f0f620e4f60bb7e6) Signed-off-by: Emmanuele Bassi clutter/clutter-script-parser.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) commit 55093719a3d2b9b9876832d250e998fa153ef304 Author: Sjoerd Simons Date: Mon Dec 15 17:29:52 2014 +0000 device-manager-xi2: Fix core pointer retrieval race The core pointer concept doesn't really exist anymore in an XI2 world, so the clutter API is a bit of a mismatch with what X provides. Using XIGetClientPointer doesn't really help, as far as i can tell the semantics of XIGetClientPointer are essentially: Whatever the X server picked when it had to reply with device-dependant data to a query without a device specifier. Not very useful... To make matters worse, whether XIGetClientPointer returns a valid pointer depends on whether there has been a query that forced it to pick one in the first place, making the whole thing pretty non-deterministic. This patch changes things around such that instead of using XIGetClientPointer to determine the core pointer, we simply pick the first master pointer device. In practise this will essentially always be the X virtual core pointer. https://bugzilla.gnome.org/show_bug.cgi?id=729462 (cherry picked from commit 1be019852f0a64188df3d4e45820246f21fdacbe) Signed-off-by: Emmanuele Bassi clutter/x11/clutter-device-manager-xi2.c | 38 ++++++++++++++------------------ clutter/x11/clutter-device-manager-xi2.h | 2 -- 2 files changed, 17 insertions(+), 23 deletions(-) commit 1222fcebec3b75a5492c29a73edbed5de2b77ec3 Author: Jonas Danielsson Date: Fri Jan 9 05:06:32 2015 -0500 device-manager-xi2: Fix scaling of coordinates Do not CLAMP to width/height before applying the scale factor we will lose all information we need to scale properly. https://bugzilla.gnome.org/show_bug.cgi?id=730815 (cherry picked from commit 9660b001f7ee410bcbff545989a708b103e6faaf) Signed-off-by: Emmanuele Bassi clutter/x11/clutter-device-manager-xi2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit ddacf33909e0b8d310483f534bbd536fdb5ed26e Author: Carlos Garnacho Date: Wed Nov 26 17:15:48 2014 +0100 evdev: Prefer pointer/touch devices over keyboard devices In keyboard/mouse wireless combos, it is rather common for the mouse to claim it contains the multimedia keys, this makes libinput enable both the pointer and keyboard capabilities on this device, and Clutter thus to create a keyboard ClutterInputDevice for it. Ideally clutter devices should be able to reflect their full capabilities, or maybe account for the fact that certain events can be sent from seemingly unexpected device types. But this will bring a somewhat better behavior on such devices. https://bugzilla.gnome.org/show_bug.cgi?id=740518 clutter/evdev/clutter-input-device-evdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 47df16ec3b7956dd1544616ec6b959db361ce0e9 Author: Emmanuele Bassi Date: Wed Nov 26 12:46:51 2014 +0000 Revert "actor: Plug a leak in the implicit transition removal" This reverts commit 158af1ff594d8984b59dcf90654ed04cd8c53e16. This commit introduced a regression, so the leak will have to be fixed in another way. clutter/clutter-actor.c | 8 -------- 1 file changed, 8 deletions(-) commit 46877cc2bd497ec23acfa07fedaf29f45522dc6f Author: Jasper St. Pierre Date: Wed Oct 22 18:44:22 2014 -0700 actor: Create a PangoContext per actor For a variety of complicated reasons, ClutterText currently sets fields on the PangoContext when creating a layout. This causes ClutterText to behave somewhat erratically in certain cases, since the PangoContext is currently shared between all actors. GTK+ creates a PangoContext for every single GtkWidget, so it seems like we should do the same here. Move the private code that was previously in clutter-main.c into clutter-actor.c and clean it up a bit. This gives every actor its own PangoContext it can mutilate whenever it wants, at its heart's content. https://bugzilla.gnome.org/show_bug.cgi?id=739050 clutter/clutter-actor.c | 66 ++++++++++++++++++++++++++++++++++---- clutter/clutter-main.c | 80 ----------------------------------------------- clutter/clutter-private.h | 2 -- 3 files changed, 60 insertions(+), 88 deletions(-) commit 14d28e7908d5421f15f9b94f4f37d66f14c4222e Author: Jasper St. Pierre Date: Wed Oct 22 18:44:16 2014 -0700 main: Don't update the PangoContext in clutter_set_font_flags clutter_set_font_flags already calls clutter_backend_set_font_options, which emits a signal which our PangoContext listens to, so this is just duplicate and unneeded code. https://bugzilla.gnome.org/show_bug.cgi?id=739050 clutter/clutter-main.c | 5 ----- 1 file changed, 5 deletions(-) commit 7764fd2079318fede95b4b96c72d18bd31699270 Author: Carlos Garnacho Date: Tue Oct 14 12:41:10 2014 +0200 evdev: Flush event queue before removing an input device libinput_suspend() will trigger the removal of input devices, but also the emission of button/key releases pairing everything that is pressed at that moment. These events are queued, but the ClutterInputDevice pointers in these will point to invalid memory at the time these are processed. Fix this by flushing the event queue, in order to ensure there are no unprocessed input events after libinput_suspend(). https://bugzilla.gnome.org/show_bug.cgi?id=738520 clutter/evdev/clutter-device-manager-evdev.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) commit 084dc49a0cdadeed7de896df81e9af536f2ab678 Author: Rico Tzschichholz Date: Thu Oct 2 09:27:36 2014 +0200 x11: Add missing closure annotation to ClutterX11FilterFunc clutter/x11/clutter-x11.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 317a54f9fbba526233a91d4d45bf6963c97d0b0f Author: Emmanuele Bassi Date: Mon Sep 22 12:01:30 2014 +0100 build: Update the release rules Change the URLs for mailing lists and documentation, and re-align the output. build/autotools/Makefile.am.release | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) commit 28cd2c56d1e902f508ea4c5571ccb17058bf915f Author: Emmanuele Bassi Date: Mon Sep 22 11:48:37 2014 +0100 Post-release version bump to 1.20.1 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)