commit fbf8d9c66a8b1f3d2e86127f4e2a9af0e1a98a5a Author: Emmanuele Bassi Date: Thu Sep 19 22:51:10 2013 +0100 Release Clutter 1.15.94 (snapshot) NEWS | 46 ++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) commit 0f217f0722eb60659b8e335e0bedb50dc08d6134 Author: Emmanuele Bassi Date: Thu Sep 19 22:56:56 2013 +0100 Documentation fixes clutter/clutter-backend.c | 2 +- doc/reference/clutter/clutter-sections.txt | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) commit a1d29abc383ec3fa084a64406449d5caf0bdbd96 Author: Emmanuele Bassi Date: Wed Sep 11 09:50:16 2013 +0100 evdev: Clean up debug and error messages https://bugzilla.gnome.org/show_bug.cgi?id=707901 clutter/evdev/clutter-device-manager-evdev.c | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) commit 9eb479aeefba7310b105c57aa3e970940713d6d9 Author: Emmanuele Bassi Date: Wed Sep 11 09:48:51 2013 +0100 evdev: Cache the regexp Instead of recreating it for every new device, we can cache the GRegex and reuse it. https://bugzilla.gnome.org/show_bug.cgi?id=707901 clutter/evdev/clutter-device-manager-evdev.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit a26690a73dfeb35610c33c30650f06eee1d4f82d Author: Emmanuele Bassi Date: Wed Aug 14 11:27:48 2013 +0100 cogl: Compensate for window scaling The common stage window code that we share on Cogl-based backends should also use the scaling factor. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/cogl/clutter-stage-cogl.c | 105 ++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 50 deletions(-) commit 75f81fee708f4811667191065740815b507d938e Author: Emmanuele Bassi Date: Wed Aug 14 11:25:01 2013 +0100 x11: Apply the window scaling factor On high DPI density displays we create surfaces with a size scaled up by a certain factor. Even if the contents stay at the same relative size and position, we need to compensate the scaling both when changing the surface size, and when dealing with input. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/x11/clutter-backend-x11.c | 2 +- clutter/x11/clutter-device-manager-core-x11.c | 27 ++++---- clutter/x11/clutter-device-manager-xi2.c | 39 +++++------ clutter/x11/clutter-stage-x11.c | 93 ++++++++++++++++++++------- clutter/x11/clutter-stage-x11.h | 3 + 5 files changed, 111 insertions(+), 53 deletions(-) commit 0d0cb13c8d54499d6a4a74e7cfe0db3190d04501 Author: Emmanuele Bassi Date: Wed Aug 14 11:19:22 2013 +0100 stage: Adjust drawing to include the window scaling factor In order to transparently support high DPI density displays, we must maintain all coordinates and sizes exactly as they are now — but draw them on a surface that is scaled up by a certain factor. In order to do that we have to change the viewport and initial transformation matrix so that they are scaled up by the same factor. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-stage-private.h | 3 + clutter/clutter-stage.c | 122 ++++++++++++++++++++++++++++++---------- 2 files changed, 94 insertions(+), 31 deletions(-) commit b9072a5e211cfb14c9f8a2d9affe0e40dd91dbb9 Author: Emmanuele Bassi Date: Wed Aug 14 11:17:09 2013 +0100 stage-window: Add scaling factor accessors We'll need to set and get the scaling factor of a ClutterStage from its StageWindow implementation. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-stage-window.c | 27 +++++++++++++++++++++++++++ clutter/clutter-stage-window.h | 8 ++++++++ 2 files changed, 35 insertions(+) commit 5c44a5e6f49e1697fffb92e69072542c1d2cf315 Author: Giovanni Campagna Date: Thu Sep 19 16:38:53 2013 +0200 ClutterEvent: preserve extended state across clutter_event_copy() We're going nowhere if we don't copy these, because the final delivered event is a copy of the event generated by the backend. https://bugzilla.gnome.org/show_bug.cgi?id=708383 clutter/clutter-event.c | 4 ++++ 1 file changed, 4 insertions(+) commit d72f3a3509538f5fa662414ae76f0fbb30abb2d1 Author: Yosef Or Boczko Date: Tue Sep 17 00:57:03 2013 +0300 Updated Hebrew translation po/he.po | 3191 ++++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 1876 insertions(+), 1315 deletions(-) commit bd4ade3e0cfbd62aa8f70b8a97a76e87864cf59d Author: Benjamin Steinwender Date: Mon Sep 16 19:01:02 2013 +0200 Updated German translation po/de.po | 1301 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 659 insertions(+), 642 deletions(-) commit b29115e8836fd5ad61b44bfb5f45a161e9001ce6 Author: Giovanni Campagna Date: Wed Sep 11 15:39:23 2013 +0200 evdev: fix a crash when reclaiming devices That was not how you iterate a list! https://bugzilla.gnome.org/show_bug.cgi?id=707901 clutter/evdev/clutter-device-manager-evdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 08ddd02bb239c1d79eff98cf77f4b237084aa1b3 Author: Emmanuele Bassi Date: Sun Sep 15 10:28:58 2013 +0100 backend: Do not use CLUTTER_WINDOWING_EGL unconditionally https://bugzilla.gnome.org/show_bug.cgi?id=708079 clutter/clutter-backend.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit 9b5b4325338bf29be93cf423d976ba97e7395b11 Author: Andika Triwidada Date: Sat Sep 14 15:29:55 2013 +0700 Updated Indonesian translation po/id.po | 1292 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 652 insertions(+), 640 deletions(-) commit b2ba60699f9f039500e75d2b9e97f209cc0c0ebd Author: Nilamdyuti Goswami Date: Fri Sep 13 17:31:50 2013 +0530 Assamese Translation Updated po/as.po | 1347 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 684 insertions(+), 663 deletions(-) commit 86d72cd2e8983e3ffc563ebd298ddff600edbfb5 Author: Ihar Hrachyshka Date: Thu Sep 12 20:00:33 2013 +0300 Updated Belarusian translation. po/be.po | 1291 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 652 insertions(+), 639 deletions(-) commit a595e5ff71af599b3cccafe90b130dd4b2458505 Author: Rūdolfs Mazurs Date: Thu Sep 12 15:22:44 2013 +0300 Updated Latvian translation po/lv.po | 1291 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 653 insertions(+), 638 deletions(-) commit 89cd3112febbc27a9222623df4f50404934e2fec Author: Giovanni Campagna Date: Mon Sep 9 10:51:11 2013 +0200 evdev: add minimal support for touchpads The added support is very very basic (single touch, motion only, no acceleration, no pressure recognition), but anything more complex requires a state machine that will be hopefully provided by libinputcommon in the future. And at least, with this patch the pointer moves, which will be useful for people testing wayland in 3.10 without a physical mouse. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 101 +++++++++++++++++++++++++-- 1 file changed, 94 insertions(+), 7 deletions(-) commit 986e46dc6677a708cd3db8abaf28f09cd2007c4b Author: Florian Müllner Date: Tue Sep 10 20:56:09 2013 +0200 text: Consider text direction when computing layout offsets Currently this is only the case when the actor's x-expand/x-align flags have been set and clutter_text_compute_layout_offsets() is used. https://bugzilla.gnome.org/show_bug.cgi?id=705779 clutter/clutter-text.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) commit da3e6988ad7259e65bbb051589c1adb0d11421d0 Author: Giovanni Campagna Date: Tue Sep 10 18:29:28 2013 +0200 Add API to restrict the windowing backend to load In situations when the default backend would fail (for example when compiled with X11 support but run without DISPLAY), or when the application is using backend specific code, it makes sense to let the application choose the backend explicitly. https://bugzilla.gnome.org/show_bug.cgi?id=707869 clutter/clutter-backend-private.h | 2 + clutter/clutter-backend.c | 78 ++++++++++++++++++++++++++++++++++++++- clutter/clutter-backend.h | 3 ++ clutter/clutter-main.c | 49 +----------------------- clutter/clutter.symbols | 1 + 5 files changed, 83 insertions(+), 50 deletions(-) commit 5c035f2107cda24a074246d6b083296da2526c07 Author: Lionel Landwerlin Date: Mon Sep 9 07:52:55 2013 +0100 click-action: disconnect signals and gsources on dispose https://bugzilla.gnome.org/show_bug.cgi?id=707774 clutter/clutter-click-action.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) commit 142c1bbee7b46cf390eb375149da618a466f56bb Author: Chun-wei Fan Date: Tue Sep 10 16:18:15 2013 +0800 MSVC Builds: Silence Cogl Deprecation Warnings Cogl-1.16 has much deprecation that is done, which causes the build of Clutter to generate lots of C4996 (deprecation) warnings. As in commit fa8809d7 (Add COGL_DISABLE_DEPRECATION_WARNINGS to the build flags), do likewise by adding this macro in the Visual C++ property sheets, so we would have much less C4996 warnings during the build. Please see bug 703877 for the rationale behind this. build/win32/vs10/clutter.props | 2 +- build/win32/vs9/clutter.vsprops | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit ac70bd3503ee7adc9bf6938353e25e81e852bfaf Author: Jasper St. Pierre Date: Mon Sep 9 17:54:38 2013 -0400 box-layout: Fix floating point truncation when calculating a child's size The child size is a float, not an int. https://bugzilla.gnome.org/show_bug.cgi?id=707808 clutter/clutter-box-layout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a748aab0edc29e08596ed9b72929caeedfec9325 Author: Rob Bradford Date: Tue Sep 3 12:24:20 2013 +0100 wayland: Check for NULL surface on pointer leave events In the protocol this is the expected behaviour when the client has destroyed the surface. https://bugzilla.gnome.org/show_bug.cgi?id=707377 clutter/wayland/clutter-input-device-wayland.c | 3 +++ 1 file changed, 3 insertions(+) commit d4ddabeaadaa6f56f87fddc73fb29683d2134487 Author: Giovanni Campagna Date: Mon Sep 9 13:19:20 2013 +0200 evdev: remove keyboard state accessor It was a bad idea to add it, because clutter events are batched, so by the time the application processes one, the keyboard state internally tracked by clutter could be already different. Instead, apps should use clutter_event_get_state_full() https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 18 ------------------ clutter/evdev/clutter-evdev.h | 1 - 2 files changed, 19 deletions(-) commit bf007a133900c333ef22099061efe2dc626fabab Author: Lionel Landwerlin Date: Mon Sep 9 07:53:51 2013 +0100 backend: add missing transfer annotation clutter/clutter-backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 15d036ea1e1cbc2a0944ba573a32922b96414261 Author: Giovanni Campagna Date: Mon Sep 9 10:29:47 2013 +0200 evdev: use EV_SYN/SYN_REPORT for dispatching motion events We can't dispatch a motion event for EV_REL (because we don't have yet the other half of the event), but we can't also queue them at the end of processing (because we may lose some history or have button/keys intermixed). Instead, we use EV_SYN, which means "one logical event was completed", and let the winsys-independent code do the actual motion compression. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 47 ++++++++++++++-------------- 1 file changed, 24 insertions(+), 23 deletions(-) commit 5e005b42982d8d80f7175d871ee526043e84a9f7 Author: Giovanni Campagna Date: Fri Sep 6 17:54:59 2013 +0200 evdev: implement horizontal scrolling If the kernel reports REL_HWHELL, convert it to horizontal scroll events. Also reorganize a bit the recognition for the other event enums. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 65 +++++++++------------------- 1 file changed, 21 insertions(+), 44 deletions(-) commit d882366d11bb430966d1b0d32b4ba1936ad68ec9 Author: Giovanni Campagna Date: Fri Sep 6 16:56:55 2013 +0200 evdev: implement setting leds When the leds are changed in the keyboard state, propagate the change to the actual devices. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 115 ++++++++++++++++++++------- clutter/evdev/clutter-xkb-utils.c | 43 ---------- clutter/evdev/clutter-xkb-utils.h | 4 - 3 files changed, 85 insertions(+), 77 deletions(-) commit cd1749a2a55b4a0d8ba016d00265686909b4bbd9 Author: Giovanni Campagna Date: Fri Sep 6 16:03:29 2013 +0200 evdev: switch to libevdev for fetching the events libevdev is a library that wraps the evdev subsystem, with the ability to synchronize the state after a SYN_DROPPED event from the kernel. https://bugzilla.gnome.org/show_bug.cgi?id=706494 README.in | 5 + clutter/evdev/clutter-device-manager-evdev.c | 297 ++++++++++++++++----------- configure.ac | 2 +- 3 files changed, 180 insertions(+), 124 deletions(-) commit 19536c88351347b5509997100e7a9bdd3ba027ef Author: Giovanni Campagna Date: Fri Sep 6 15:59:21 2013 +0200 evdev: sync the keyboard state when releasing and reclaiming devices When we release a device, we lose all the events after that point, so our state can become stale. Similarly, we need to sync the state with the effectively pressed keys when we reclaim. This ensures that modifier keys don't get stuck when switching VTs using a keybinding. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 78 ++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 9 deletions(-) commit 59f1e531f9ac0a3e43a7b1aa80019373cf2ac01c Author: Giovanni Campagna Date: Wed Sep 4 14:42:56 2013 +0200 ClutterEvent: add API to query the full keyboard state when the event was generated When talking to other applications or serializing the modifier state (and in particular when implementing a wayland compositor), the effective modifier state alone is not sufficient, one needs to know the base, latched and locked modifiers. Previously one could do with backend specific functionality such as clutter_device_manager_evdev_get_xkb_state(), but the problem is that the internal data structures are updated as soon as the events are fetched from the upstream source, but the events are reported to the application some time later, and thus the two can get out of sync. This way, on the other hand, the information is cached in the event, and provided to the application with the value that was current when the event was generated. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/clutter-event-private.h | 7 +++ clutter/clutter-event.c | 66 +++++++++++++++++++++++++- clutter/clutter-event.h | 7 +++ clutter/clutter.symbols | 1 + clutter/evdev/clutter-device-manager-evdev.c | 9 ++-- clutter/evdev/clutter-xkb-utils.c | 18 +++++-- clutter/evdev/clutter-xkb-utils.h | 3 ++ clutter/wayland/clutter-input-device-wayland.c | 6 +-- clutter/x11/clutter-device-manager-xi2.c | 51 ++++++++++---------- clutter/x11/clutter-input-device-xi2.c | 33 ++++++++----- clutter/x11/clutter-input-device-xi2.h | 7 +-- 11 files changed, 154 insertions(+), 54 deletions(-) commit dd940a71b1b48541fc2410a8d6b49dbb0659c662 Author: Giovanni Campagna Date: Wed Sep 4 13:36:41 2013 +0200 evdev: update the state of the core pointer and core keyboard for all events These two devices are logically tied togheter, and their state should always be the same. Also, we need to update them after the event is queued, as the current modifier state (as opposed to the modifier mask in the event) should include also the effect of the last key press/release. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/evdev/clutter-device-manager-evdev.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 0db9075562550fd1018b9af694b27d499d9dbe52 Author: Giovanni Campagna Date: Wed Aug 14 16:49:00 2013 +0200 ClutterInputDevice: add new API for querying the modifier state This way, the full state of the device is exposed. https://bugzilla.gnome.org/show_bug.cgi?id=706494 clutter/clutter-input-device.c | 19 +++++++++++++++++++ clutter/clutter-input-device.h | 2 ++ clutter/clutter.symbols | 1 + 3 files changed, 22 insertions(+) commit b73f5130917cc2fba19733317ae5bbc9474dd6f0 Author: Giovanni Campagna Date: Thu Aug 22 00:19:21 2013 +0200 evdev: use monotonic times for the events The monotonic clock is what X uses too, so this way the timestamps can be compared. https://bugzilla.gnome.org/show_bug.cgi?id=706543 clutter/evdev/clutter-device-manager-evdev.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit aef3d0022cd5b563f86774ec9ad79b70fbe9308a Author: Giovanni Campagna Date: Fri Aug 23 12:15:40 2013 +0200 evdev: add callback to constrain the pointer position Add a new callback that is called prior to emitting pointer motion events and that can modify the new pointer position. The main purpose is allowing multiscreen apps to prevent the pointer for entering the dead area that exists when the screens are not the same size, but it could also used to implement pointer barriers. A callback is needed to make sure that the hook is called early enough and the Clutter state is always consistent. https://bugzilla.gnome.org/show_bug.cgi?id=706652 clutter/evdev/clutter-device-manager-evdev.c | 53 ++++++++++++++++++++++++++-- clutter/evdev/clutter-evdev.h | 27 ++++++++++++++ 2 files changed, 78 insertions(+), 2 deletions(-) commit 89d09a07d3d3c761c2d83d1351b1ab8fe1eab0ca Author: Yuri Myasoedov Date: Fri Sep 6 13:22:45 2013 +0400 Updated Russian translation po/ru.po | 1456 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 725 insertions(+), 731 deletions(-) commit b4d95ee3e84810fd3de25e0387adf0704e8d8c7b Author: Jorge Pérez Pérez Date: Thu Sep 5 00:02:38 2013 +0200 Added Aragonese translation po/an.po | 2793 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2793 insertions(+) commit 7d5b4d69e7e3ca3095783e8b2fab241bf6bf682f Author: Мирослав Николић Date: Tue Sep 3 09:15:10 2013 +0200 Updated Serbian translation po/sr.po | 1285 ++++++++++++++++++++++++++++---------------------------- po/sr@latin.po | 1285 ++++++++++++++++++++++++++++---------------------------- 2 files changed, 1298 insertions(+), 1272 deletions(-) commit c141bda460292c94a6020c9f6efa78b3570e71fd Author: Emmanuele Bassi Date: Mon Sep 2 23:59:14 2013 +0100 Post-release version bump to 1.15.93 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)