commit 314ba2c6ac7164dabaa8c25c3533d666befd4973 Author: Emmanuele Bassi Date: Thu Dec 17 14:14:24 2015 +0000 Release Clutter 1.25.2 (snapshot) NEWS | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 4 ++-- 2 files changed, 58 insertions(+), 2 deletions(-) commit 879cc0763d28cb67221506174eff10232db2575f Author: Emmanuele Bassi Date: Thu Dec 17 14:06:48 2015 +0000 docs: Add 1.26 symbols index doc/reference/clutter-docs.xml.in | 5 +++++ 1 file changed, 5 insertions(+) commit f4f609b28f8d11d0617e0dfe92646a5f8d242658 Author: Emmanuele Bassi Date: Thu Dec 17 13:55:08 2015 +0000 docs: Update sections file for missing macros doc/reference/clutter-sections.txt | 6 ++++++ 1 file changed, 6 insertions(+) commit 1c9e297ae86c74bcab00674cb8ad8dd8ceb5fba1 Author: Matej Urbančič Date: Sun Dec 13 20:07:28 2015 +0100 Updated Slovenian translation po/sl.po | 506 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 253 insertions(+), 253 deletions(-) commit 86a9272bed5b15d33b825aa4ea802afd27e57cfb Author: Pedro Albuquerque Date: Sun Dec 13 08:22:44 2015 +0000 Updated Portuguese translation po/pt.po | 535 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 266 insertions(+), 269 deletions(-) commit fae541ebf1d5ecb41bd439843bcbbec3c8d63fd5 Author: Emmanuele Bassi Date: Fri Dec 11 16:39:32 2015 +0000 build: Rework the default rules for the EGL backend So that we can set it to 'check', and do configure-time discovery of the dependencies, instead of enabling it explicitly. This should make it easier to spot build issues on environments like Continuous, which build Clutter and Cogl for running as part of the display server infrastructure on Wayland. configure.ac | 98 +++++++++++++++++++++++++++++------------------------------- 1 file changed, 47 insertions(+), 51 deletions(-) commit a774ff5a09b49c83e32f436f447bb35c5615592a Author: Emmanuele Bassi Date: Fri Dec 11 16:23:09 2015 +0000 egl: Rename backend constructor function Otherwise the build will fail. clutter/egl/clutter-backend-eglnative.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7501f3b4f99260bc188cf5114168660d9124ae9d Author: Emmanuele Bassi Date: Fri Dec 11 15:51:30 2015 +0000 tests: Force X11 backend for the pixmap test So it's usable as long as the X11 backend support is compiled into Clutter — and we can use this test to check that overriding works as intended. tests/interactive/test-pixmap.c | 4 ++++ 1 file changed, 4 insertions(+) commit e9b5eb3045d335b6ebbfc7443076754447447065 Author: Emmanuele Bassi Date: Fri Dec 11 15:41:35 2015 +0000 Allow setting the default backend from the configuration file We should allow a configuration file to set up the initial state of the global state, which also implies being able to set the backend. If the allowed backends have already been set programmatically via the clutter_set_windowing_backend(), though, then the application code takes precedence, as we assume that the application author knows better than us what their code supports or requires. clutter/clutter-backend-private.h | 2 ++ clutter/clutter-backend.c | 7 +++++++ clutter/clutter-main.c | 11 +++++++++++ 3 files changed, 20 insertions(+) commit cc31ed77bda37d2739fdc3137cb15eda51605c7b Author: Emmanuele Bassi Date: Fri Dec 11 15:39:54 2015 +0000 Read the config file when creating the global shared state The configuration file should set up the global state before we initialize it; instead of relying on implicit ordering, explicitly read the configuration file once, when creating the global shared context data structure. clutter/clutter-main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) commit 6d0d1deda2c75535f162253ae8b6787a2c885f71 Author: Emmanuele Bassi Date: Fri Dec 11 15:39:04 2015 +0000 backend: Ensure that Cogl drivers are set prior to initialization It doesn't make sense for the allowed drivers to be changed after Clutter has been initialized. clutter/clutter-backend.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 10b74e7005acc39d2b7e123ce3b81fb9b02b5afa Author: Emmanuele Bassi Date: Fri Dec 11 14:25:21 2015 +0000 backend: Allow setting a list of windowing backends Like CLUTTER_DRIVER, we want to allow users to specify a list of backends to test, and fall back to the internally defined priority as a default. This requires changing the way the allowed backend string is parsed, both for the CLUTTER_BACKEND environment variable and for the clutter_set_windowing_backend() function. Existing callers are still supported with the exact same semantics. clutter/clutter-backend.c | 136 +++++++++++++++++++++++++++++++--------------- 1 file changed, 93 insertions(+), 43 deletions(-) commit 7ca28e09746f3f1a6b240a8c1a416dd4ad6c8ff6 Author: Emmanuele Bassi Date: Fri Dec 11 14:23:38 2015 +0000 Add internal constructor function for each backend We're going to use it to create an instance of each backend without using the get_type() function. clutter/egl/clutter-backend-eglnative.c | 8 ++++++-- clutter/egl/clutter-backend-eglnative.h | 6 ++++-- clutter/gdk/clutter-backend-gdk.c | 7 ++++++- clutter/gdk/clutter-backend-gdk.h | 6 ++++-- clutter/mir/clutter-backend-mir.c | 8 ++++++-- clutter/mir/clutter-backend-mir.h | 9 +++++---- clutter/osx/clutter-backend-osx.c | 6 ++++++ clutter/osx/clutter-backend-osx.h | 2 ++ clutter/wayland/clutter-backend-wayland.c | 8 ++++++-- clutter/wayland/clutter-backend-wayland.h | 6 ++++-- clutter/win32/clutter-backend-win32.c | 6 ++++++ clutter/win32/clutter-backend-win32.h | 2 ++ clutter/x11/clutter-backend-x11.c | 8 ++++++-- clutter/x11/clutter-backend-x11.h | 6 ++++-- 14 files changed, 67 insertions(+), 21 deletions(-) commit 407d7ca436842b5461828066d8aecf86ff826f12 Author: Emmanuele Bassi Date: Thu Dec 10 16:52:45 2015 +0000 Allow overriding the list of Cogl drivers via configuration file Clutter has a configuration file that can be used to override various settings, including the ones from environment variables. clutter/clutter-backend-private.h | 1 + clutter/clutter-backend.c | 8 +++++++- clutter/clutter-main.c | 11 +++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) commit bb23335b5fd29fb1d63e99b8f9eb32c5f11b4405 Author: Emmanuele Bassi Date: Wed Dec 9 14:26:28 2015 +0000 Add a configuration option for deciding the Cogl drivers to use Using environment variables only is not convenient for all platforms, and in some cases it's beneficial to decide the default driver when building Clutter. Cogl already has a similar configuration switch, and since Clutter is overriding the default Cogl behaviour, it should offer the same mechanism. https://bugzilla.gnome.org/show_bug.cgi?id=742678 clutter/clutter-backend.c | 2 +- configure.ac | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) commit 2c524fbf73cf5348cc1b03cced4a6b1c4c2f0224 Author: Emmanuele Bassi Date: Wed Dec 9 12:45:12 2015 +0000 backend: Allow overriding the Cogl drivers chain We have an hardcoded list of drivers we have to go through when creating a Cogl context. Some platforms may expose those drivers, but not be the preferred ones. In order to allow users and system integrators to override the list of drivers, we should crib the same approach used by GDK, and have an environment variable with a list of drivers to try. The new environment variable is called `CLUTTER_DRIVER` and accepts a comma-separated list of driver names, which will be tested in sequence until one succeeds. There's also an additional '*' token which is used to ask Clutter to fall back to the internally defined preferred list of drivers. https://bugzilla.gnome.org/show_bug.cgi?id=742678 clutter/clutter-backend.c | 79 +++++++++++++++++++++++++++------------ doc/reference/running-clutter.xml | 17 +++++++++ 2 files changed, 73 insertions(+), 23 deletions(-) commit b47e1616eb1201eae35955aa62aebc352927c67b Author: Emmanuele Bassi Date: Wed Dec 9 12:44:20 2015 +0000 Fix annotation for bind_model() The (optional) annotation should only be used for (out) arguments; in arguments that can be NULL should use the (nullable) annotation. clutter/clutter-actor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a166cc9f35463f6ed79425de237df5e994eebaef Author: Emmanuele Bassi Date: Wed Dec 9 12:42:55 2015 +0000 Fix definition of ClutterEventExtender The interface vtable structure is missing the GTypeInterface parent, and GObject is complaining about it, as it should. clutter/clutter-device-manager-private.h | 2 ++ 1 file changed, 2 insertions(+) commit 7fe12eca54c15e9f2de0f87e7310afeb52ac8304 Author: Emmanuele Bassi Date: Tue Dec 8 17:20:13 2015 +0000 build: Use the 'x11' pkg-config module to check for X11 Don't look at GLX headers or symbols; we don't use them anyway. https://bugzilla.gnome.org/show_bug.cgi?id=759191 configure.ac | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) commit dd305950848891b5b91673033af134d3e1728cc3 Author: Emmanuele Bassi Date: Tue Dec 8 14:24:36 2015 +0000 gdk: Check for both GDK and Cogl winsys support When using GDK and Cogl API, we need to check that both GDK and Cogl have been built with support for that API, otherwise the build will likely fail. clutter/gdk/clutter-stage-gdk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 968022b83fa60c542ba35ede2490e750bd883cb2 Author: Lionel Landwerlin Date: Sat Dec 5 23:15:32 2015 +0000 test: interactive: port cairo clock to ClutterCanvas https://bugzilla.gnome.org/show_bug.cgi?id=759074 tests/interactive/test-cairo-clock.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) commit 25e157ea42eff3bade9d08d7d45309a5a86f7942 Author: Lionel Landwerlin Date: Sat Dec 5 23:15:17 2015 +0000 test: interactive: port cairo flowers to ClutterCanvas https://bugzilla.gnome.org/show_bug.cgi?id=759074 tests/interactive/test-cairo-flowers.c | 41 +++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 11 deletions(-) commit 9c26a98a6f16e6a339bd10cf0133930fed1e5d02 Author: Jonas Ådahl Date: Wed Dec 2 16:19:09 2015 +0800 evdev: Drop redundant stage set check Every path creating a input device in the evdev backend sets a stage, so the check is unnecessary. https://bugzilla.gnome.org/show_bug.cgi?id=752752 clutter/evdev/clutter-device-manager-evdev.c | 5 ----- 1 file changed, 5 deletions(-) commit 1d53b773fdd645f19ddfc66d74818f5f636dacc4 Author: Emmanuele Bassi Date: Mon Nov 30 13:47:57 2015 +0000 text: Enforce boolean value We store the cursor-visible value in a bit field, which means that we need to enforce the argument for the setter to either 0 or 1 in order to fit. clutter/clutter-text.c | 2 ++ 1 file changed, 2 insertions(+) commit c8ef4349fed719040b8e92449eaa0aad75103401 Author: Emmanuele Bassi Date: Mon Nov 30 13:47:15 2015 +0000 docs: Improve documentation for ClutterText Ensure that the rule for :cursor-visible are documented. clutter/clutter-text.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) commit 388fe9b542946adcb97b4f1e83065f77b1248f97 Author: Emmanuele Bassi Date: Mon Nov 30 13:45:45 2015 +0000 text: Unify conditions for visible cursor We have a bunch of similar checks in various places, and they should all be coalesced into one. clutter/clutter-text.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) commit 3b6ed43edd46b46e115d9d3fdc98d0d9e92857f6 Author: Emmanuele Bassi Date: Mon Nov 30 13:15:52 2015 +0000 build: Add --disable-Werror We enable a bunch of compiler flags to trip common errors during development. While this is very useful while hacking on Clutter, it makes the life of people building Clutter on automated build systems much harder; thus, we should have a configuration option to opt out of the -Werror business. GNOME has pretty much standardised on `--disable-Werror`, so we should crib that configure option. configure.ac | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) commit 2646658bf2a1e96ee2b83d6bdeb8be164075631b Author: Emmanuele Bassi Date: Mon Nov 2 11:55:42 2015 +0000 Add tags to the Git ignore file .gitignore | 1 + 1 file changed, 1 insertion(+) commit 78eb07d6576b0ef6c9d7e91d34414772d71d7455 Author: Emmanuele Bassi Date: Mon Nov 2 12:34:39 2015 +0000 text: Allow selectability without editability Being able to select text and being able to edit text are two separate capabilities, but ClutterText only allows the former with the latter. The ClutterText:selectable property is set to TRUE by default, given that it depends on the :editable property; this implies that all ClutterText instances now are going to show a cursor as soon as they get key focused. Obviously, this would make labels look a bit off — but if you have a label then you would not give it key focus, either by explicitly calling clutter_actor_grab_focus(), or by setting it as reactive and allowing it to be clicked. If this turns out to be a problem, we have various ways to avoid showing a cursor — for instance, we could change the default value of the selectable property, and ensure that setting the :editable property to TRUE would also set the :selectable property as a side effect. Or we could hide the cursor until the first button/touch press event. Finally, we could always back this commit out if it proves to be too much of a breakage for existing code bases. https://bugzilla.gnome.org/show_bug.cgi?id=757470 clutter/clutter-text.c | 145 +++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 70 deletions(-) commit 8c863573fcd8bf40c5cf0f2cb29673636ad90d56 Author: Lionel Landwerlin Date: Sun Nov 22 17:22:41 2015 +0000 gdk: take into account scaling on wayland The X11 part of the GDK backend takes into account the scaling factor of its window when resizing the underlying X11 objects. We need to do the same for Wayland. https://bugzilla.gnome.org/show_bug.cgi?id=755245 clutter/gdk/clutter-stage-gdk.c | 50 ++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 20 deletions(-) commit a9b0715df1bc455567981b98a281b750efe64f29 Author: Carlos Garnacho Date: Tue Nov 17 19:44:38 2015 +0100 gdk: Implement ClutterEventExtender This lifts the responsibility off its ClutterBackend. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/gdk/clutter-backend-gdk.c | 25 --------------------- clutter/gdk/clutter-device-manager-gdk.c | 37 +++++++++++++++++++++++++++++++- 2 files changed, 36 insertions(+), 26 deletions(-) commit 9215852c32f09cb8effc9ea387fd5383df93607d Author: Carlos Garnacho Date: Tue Nov 17 19:38:32 2015 +0100 x11: Implement ClutterEventExtender This lifts the responsibility off its ClutterBackend. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/x11/clutter-backend-x11.c | 25 ----------------------- clutter/x11/clutter-device-manager-xi2.c | 35 +++++++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 26 deletions(-) commit 8aeea7fb7351ff6c9e6edf42b529803ac1699a90 Author: Carlos Garnacho Date: Tue Nov 17 17:44:19 2015 +0100 evdev: Set event code on button/key events This will allow users to know the event code without strange calculations on event->key.hardware_keycode or event->button.button. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/evdev/clutter-device-manager-evdev.c | 3 +++ 1 file changed, 3 insertions(+) commit f1ad702309486ff4bd32b7f0456a132893f2c17a Author: Carlos Garnacho Date: Tue Nov 17 17:42:44 2015 +0100 evdev: Allow to retrieve the input.h event code from ClutterEvents This is now stored as platform data in the ClutterEvent, so can be retrieved with the clutter_evdev_event_get_event_code() call that's been added to the evdev backend. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/Makefile.am | 1 + clutter/evdev/clutter-device-manager-evdev.c | 10 +++ clutter/evdev/clutter-evdev.h | 3 + clutter/evdev/clutter-event-evdev.c | 101 +++++++++++++++++++++++++++ clutter/evdev/clutter-input-device-evdev.h | 8 +++ 5 files changed, 123 insertions(+) commit dfc749e576584c9ea6ad0aac739683e8ac64ea84 Author: Carlos Garnacho Date: Tue Nov 17 17:40:30 2015 +0100 evdev: Implement the ClutterEventExtender interface This will allow the ClutterDeviceManagerEvdev to define evdev-specific event data. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/evdev/clutter-device-manager-evdev.c | 31 +++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) commit 4115f215aca5b4b9fe7dd6b32e66f81d12c1176f Author: Carlos Garnacho Date: Tue Nov 17 17:37:45 2015 +0100 backend: Bridge platform-dependent event data creation to device managers Device managers can now implement the ClutterEventExtender interface that allows them to set their own data to events, make the backend call those implementations if the device manager implements the interface. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/clutter-backend.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) commit 5ea70bd102b25ca4c85ce06921d17b0eff15e673 Author: Carlos Garnacho Date: Tue Nov 17 17:35:55 2015 +0100 device-manager: Add private interface to manipulate platform event data This normally belonged to the ClutterBackend, however there's device managers (eg. evdev) that are somewhat detached from the backend, so need to bridge this somehow. This allows device managers to implement these bits that were usually responsibility of the ClutterBackend. https://bugzilla.gnome.org/show_bug.cgi?id=758238 clutter/clutter-device-manager-private.h | 20 ++++++++++++++++++++ clutter/clutter-device-manager.c | 9 +++++++++ 2 files changed, 29 insertions(+) commit 89a794ec46844aa3c3c3bbdee26b2b07b1219e4d Author: Emmanuele Bassi Date: Wed Nov 18 11:52:53 2015 +0000 Add version macros for Clutter 1.26 clutter/clutter-macros.h | 18 ++++++++++++++++++ clutter/clutter-version.h.in | 10 ++++++++++ 2 files changed, 28 insertions(+) commit 8a63ea031d394ec0e983bfbd9f12ae0fe5e53a97 Author: Emmanuele Bassi Date: Mon Nov 2 12:42:01 2015 +0000 Bump up version to 1.25.1 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 83b738c0e7060b4526fdbd306fcc255f71c064fa Author: Carlos Garnacho Date: Mon Nov 16 15:26:56 2015 +0100 evdev: Move additional pointer buttons after the old 4-7 scrolling ones On X11 those were skipped, so additional pointer buttons would come up as button >= 8 events. Do here the same, so we remain compatible across backends. https://bugzilla.gnome.org/show_bug.cgi?id=758237 clutter/evdev/clutter-device-manager-evdev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) commit 5a022e8e14eca2e7a3675a2270d8fbbee4e08452 Author: Jeff Bai Date: Sat Nov 14 15:06:45 2015 +0800 update zh_CN translation po/zh_CN.po | 1185 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 600 insertions(+), 585 deletions(-) commit a2ff8b471fe1a05c2a48bdbe64d0f2ead548f7fb Author: YunQiang Su Date: Wed Nov 4 16:52:21 2015 +0800 update zh_CN translation po/zh_CN.po | 61 ++++++++++++++++++++++++------------------------------------- 1 file changed, 24 insertions(+), 37 deletions(-) commit a9f16c3d1f3152eab1987cb84562872685a08bac Author: Carlos Garnacho Date: Fri Oct 23 16:56:00 2015 +0200 evdev: Mark either of smooth/discrete scroll events as emulating We're always emulating one of those, depending on the scrolling device/source, so mark these as such. clutter/evdev/clutter-device-manager-evdev.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) commit 9753c9938239bdb2b102c56b496a76687f6d873a Author: Carlos Garnacho Date: Fri Oct 16 19:07:19 2015 +0200 click-action: Ignore motions/updates from different devices/sequences Otherwise events from other devices or touch sequences might unintendedly trigger the thresholds, and a "cancelled" ::long-press with it. https://bugzilla.gnome.org/show_bug.cgi?id=756749 clutter/clutter-click-action.c | 4 ++++ 1 file changed, 4 insertions(+) commit 9ea14ff949970ec1fb1464b053c132855768460f Author: Inaki Larranaga Murgoitio Date: Wed Oct 14 10:36:36 2015 +0200 Updated Basque language po/eu.po | 876 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 438 insertions(+), 438 deletions(-) commit 410d59f5a166259c7a238a8c8e60eeb234029f94 Author: Emmanuele Bassi Date: Mon Oct 12 22:45:27 2015 +0100 Post-release version bump to 1.24.3 configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)