commit a5b04f58a00f9ef5bfb323c07cb713692e9e1d68 Author: Emmanuele Bassi Date: Thu Jan 23 12:05:17 2014 +0000 Release Clutter 1.17.2 NEWS | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.in | 19 +++++++++++++++ configure.ac | 2 +- 3 files changed, 96 insertions(+), 1 deletion(-) commit 07efb5d9bbc82742039e2cf95d21b2db41f3866f Author: Emmanuele Bassi Date: Thu Jan 23 12:27:39 2014 +0000 build: Remove .gitignore on distclean Fixes distcheck. tests/conform/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit 773e544c511f38d521a6735e065f0526c2ebe95b Author: Emmanuele Bassi Date: Thu Jan 23 11:30:49 2014 +0000 settings: Make unscaled-font-dpi override font-dpi The :unscaled-font-dpi property is used to override the existing :font-dpi value when running on high DPI density displays; since it's a write-only property we don't need to have a separate storage, nor we need to choose between :font-dpi and :unscaled-font-dpi depending on whether or not either has been set. If we select which one to use between :font-dpi and :unscaled-font-dpi when computing the font resolution, we end up breaking the code that relies on changing :font-dpi directly on a per-Settings basis. clutter/clutter-settings.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) commit 696a536b26ea50ab63217e0f3829e7edcc553a4b Author: Emmanuele Bassi Date: Wed Jan 22 01:24:16 2014 +0000 settings: Add CLUTTER_DPI_SCALE Like we do for the windowing surfaces, we should have a run time knob (in the form of an environment variable) to allow changing the scaling factor of the font resolution. clutter/clutter-settings.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) commit 30d1e47c4e945990f6ff4f1fa992fb63fe697a6e Author: Emmanuele Bassi Date: Wed Jan 22 01:22:42 2014 +0000 x11/stage: Store new size on unrealized resize() If the StageX11 is asked to resize itself while not being realized, then we just need to store the new size and return. clutter/x11/clutter-stage-x11.c | 8 ++++++++ 1 file changed, 8 insertions(+) commit 515a8fcfb50df8981d568e7a075ecb5c94984825 Author: Emmanuele Bassi Date: Tue Jan 21 21:12:55 2014 +0000 cookbook: Temporarily disable the scribbler example The exported symbols regular expression in cogl-path is broken, and does not include cogl_set_path() and cogl_get_path(), which means that we cannot link this example. In order to distcheck Clutter, we temporarily disable the example, with the intent of reverting this commit once Cogl is fixed. doc/cookbook/examples/Makefile.am | 2 -- 1 file changed, 2 deletions(-) commit 027e1a717f2378a7a9f9b273bec6128cdb984989 Author: Emmanuele Bassi Date: Tue Jan 21 21:07:43 2014 +0000 cookbook: Fix build of the examples We don't have a tests/data directory any more since the test suites reorganization; the cookbook examples, though, rely on the existence of the redhand.png image. In order to fix them, we copy the file in the examples directory, and we reference it directly. Since we need it for the examples, and we install the example code, it's also necessary to add the image to the EXTRA_DIST rule. doc/cookbook/examples/Makefile.am | 15 +++++++++------ doc/cookbook/examples/animations-rotating.c | 2 +- doc/cookbook/examples/events-mouse-scroll.c | 2 +- doc/cookbook/examples/events-pointer-motion-scribbler.c | 1 + doc/cookbook/examples/layouts-bind-constraint-overlay.c | 2 +- doc/cookbook/examples/layouts-stacking.c | 2 +- doc/cookbook/examples/redhand.png | Bin 0 -> 8250 bytes doc/cookbook/examples/textures-reflection.c | 2 +- 8 files changed, 15 insertions(+), 11 deletions(-) commit e20c8dede6ced7d6bd260ea72328f58577279c2a Author: Emmanuele Bassi Date: Fri Jan 17 12:07:58 2014 +0000 docs: Update the test-related documentation The test suite layout and usage have been changed, so the documentation needs to be updated to reflect the change. README.in | 4 ++-- tests/README | 18 ++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) commit 857f53f42d4a7a14f7035c7055b532e3d6d4f64d Author: Emmanuele Bassi Date: Fri Jan 17 11:03:15 2014 +0000 canvas: Add scale-factor property We need to provide an escape hatch to ClutterCanvas so that it's possible to override the window-scaling-factor ClutterSetting. This is going to be useful in the future in case the user has better knowledge of the window scaling factor that is going to be used with a specific set of ClutterCanvas contents (e.g. on different outputs or stages). https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-canvas.c | 151 ++++++++++++++++++++++++++++- clutter/clutter-canvas.h | 5 + clutter/clutter.symbols | 2 + doc/reference/clutter/clutter-sections.txt | 2 + 4 files changed, 157 insertions(+), 3 deletions(-) commit c1d6194d24ba04ebb8fe15aacea5017f8b49ce37 Author: Emmanuele Bassi Date: Thu Jan 16 12:24:57 2014 +0000 canvas: Use the window-scaling-factor setting ClutterCanvas is a ClutterContent interface implementation; this means that it can be created and modified regardless of whether it is associated to a specific actor or a stage. For this reason, we cannot walk the hierarchy and get the window scaling factor for high DPI density displays out of the ClutterStage when we create the Cairo surface that we will use to draw the canvas contents on. We can use ClutterSettings:window-scaling-factor instead, since it's what each ClutterStage will use anyway. This will get slightly more complicated when we support per-output window scaling factors (like on Wayland), but that will require changes in the entire settings architecture anyway. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-canvas.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) commit ed0633468f43c8821d24cd4a24c3cbab6d6840d3 Author: Emmanuele Bassi Date: Thu Jan 16 12:24:05 2014 +0000 settings: Remove explicit stage scaling factor update We can rely on the window-scaling-factor property notification instead. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-settings.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) commit c1c59bd898e1eb2e2643d6f19bc8bd6413fad70e Author: Emmanuele Bassi Date: Thu Jan 16 12:20:36 2014 +0000 x11/stage: Resize on window-scaling-factor changes If we get a change in the window scaling factor we want to resize the backing store of each stage, so we use the notification on the ClutterSettings:window-scaling-factor property to do so. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/x11/clutter-stage-x11.c | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) commit 2c8a19b8c1cec4bfdaa48a8a746209165c52479f Author: Emmanuele Bassi Date: Thu Jan 16 12:13:29 2014 +0000 x11/stage: Remove CLUTTER_SCALE handling Use the ClutterSettings:window-scaling-factor property instead. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/x11/clutter-stage-x11.c | 23 +++++------------------ clutter/x11/clutter-stage-x11.h | 1 - 2 files changed, 5 insertions(+), 19 deletions(-) commit afd87abb702ccb08fc23ca23de2e10afbae11e8e Author: Emmanuele Bassi Date: Thu Jan 16 12:11:22 2014 +0000 settings: Handle window scaling factor internally We want the settings object to handle setting and getting the window scaling factor value, both through backend-specific settings and through the CLUTTER_SCALE environment variable. This means turning the ClutterSettings:window-scaling-factor property into a readwrite one, instead of write-only, so that ClutterStage implementations will be able to query the window scaling factor on construction. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-settings.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) commit b7b09bd0ce4c96972fb9570555cc24d219089f98 Author: Emmanuele Bassi Date: Thu Jan 16 12:08:09 2014 +0000 Check for cairo_surface_set_device_scale() Like gtk+, we don't want to bump the dependency of Clutter for that function alone. https://bugzilla.gnome.org/show_bug.cgi?id=705915 configure.ac | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) commit 69eb2e5f3b9be7c73013dcaefd46668787e2bb30 Author: Emmanuele Bassi Date: Wed Aug 14 11:28:39 2013 +0100 settings: Add window scaling related settings We share two settings with GDK, so we can pick the window scaling factor and the unscaled font resolution when we initialize Clutter. https://bugzilla.gnome.org/show_bug.cgi?id=705915 clutter/clutter-settings.c | 78 +++++++++++++++++++++++++++++++++++--- clutter/x11/clutter-settings-x11.h | 2 + 2 files changed, 74 insertions(+), 6 deletions(-) commit 33316ce168e7d6b51407ffedad7b0249611f1fce Author: Emmanuele Bassi Date: Wed Jan 15 16:39:35 2014 +0000 stage: Check coordinate validity in do_pick() We do some argument validation inside _clutter_stage_do_pick(), which is the internal version of clutter_stage_get_actor_at_pos(), but we don't do coordinate space validation, and instead we rely on call sites doing the right thing. We should, instead, remove the argument validation from the internal function, which is pointless and against the coding practices, but do coordinate space validation internally. https://bugzilla.gnome.org/show_bug.cgi?id=722322 clutter/clutter-stage.c | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) commit da66dd01ef07a2d89df5de224069ded8d7e248a6 Author: Marek Černocký Date: Fri Jan 17 19:04:25 2014 +0100 Updated Czech translation po/cs.po | 1366 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 695 insertions(+), 671 deletions(-) commit cadbeceff0a729cdeafd84db237ed44ad782e820 Author: Alejandro Piñeiro Date: Thu Jan 16 18:04:22 2014 +0100 clutter-text: emitting ClutterText::insert-text before actual changes on the text https://bugzilla.gnome.org/show_bug.cgi?id=722220 clutter/clutter-text.c | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) commit bbc7d20f5ecff80f4000557b976e3153f6286252 Author: Alejandro Piñeiro Date: Thu Jan 16 17:39:02 2014 +0100 clutter-text: emitting ClutterText::delete-text before actual changes on the text https://bugzilla.gnome.org/show_bug.cgi?id=722220 clutter/clutter-text.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) commit c681e901e4516ea2ceafd7f5c491e3bce7d82e2f Author: Alejandro Piñeiro Date: Tue Jan 14 18:43:48 2014 +0100 a11y: compute properly if there is text selected https://bugzilla.gnome.org/show_bug.cgi?id=722188 clutter/cally/cally-text.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit 4f5698199f3971006f025ae81e691786aeecb60f Author: Dimitris Spingos Date: Mon Jan 13 10:19:29 2014 +0200 Updated Greek translation po/el.po | 1376 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 701 insertions(+), 675 deletions(-) commit f3172d25c334e1572eb6feed29b2717b9ca7c9f8 Author: Yosef Or Boczko Date: Mon Jan 13 09:01:49 2014 +0200 Updated Hebrew translation po/he.po | 756 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 390 insertions(+), 366 deletions(-) commit 9104c72677376d4df152e50e372477de40bba6ae Author: Sphinx Jiang Date: Thu Jan 2 09:54:17 2014 +0800 Update Chinese simplified translation po/zh_CN.po | 2970 +++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 1785 insertions(+), 1185 deletions(-) commit 813892c7f1a6e511c95830782afbf95213606917 Author: Rafael Ferreira Date: Fri Dec 27 00:04:21 2013 -0200 Updated Brazilian Portuguese translation (what is going on? :| ) po/pt_BR.po | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) commit 498a8c938787763d59bc1711df2df6d7ae3089a6 Author: Rafael Ferreira Date: Fri Dec 27 00:01:12 2013 -0200 Updated Brazilian Portuguese translation (fixed something from previous commit) po/pt_BR.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) commit 6b83d849fcdc22634e6495fe573d9a68a25b0870 Author: Enrico Nicoletto Date: Thu Dec 26 23:53:11 2013 -0200 Updated Brazilian Portuguese translation po/pt_BR.po | 833 +++++++++++++++++++++++++++++++----------------------------- 1 file changed, 428 insertions(+), 405 deletions(-) commit dc39b295bb20e86d1a2d8fe8126f339236f77d22 Author: Fran Diéguez Date: Thu Dec 19 01:44:37 2013 +0100 Updated Galician translations po/gl.po | 1364 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 694 insertions(+), 670 deletions(-) commit 74c01cdd0fbdd0c0423c9ce91337c94c090902f7 Author: Chun-wei Fan Date: Mon Dec 16 09:27:41 2013 +0800 Visual C++ Projects: Don't build conformance tests ...and drop these project files, as the way how the conformance tests are built has been totally reworked. Instead, in the future, use NMake Makefiles to build them, which will be proposed later. build/win32/vs10/Makefile.am | 4 - build/win32/vs10/clutter.sln | 18 --- build/win32/vs10/install.vcxproj | 4 - .../test-conformance-clutter.vcxproj.filtersin | 12 -- .../win32/vs10/test-conformance-clutter.vcxprojin | 168 --------------------- build/win32/vs9/Makefile.am | 2 - build/win32/vs9/clutter.sln | 22 --- build/win32/vs9/test-conformance-clutter.vcprojin | 161 -------------------- 8 files changed, 391 deletions(-) commit ad39d3d1aedf842b1c7d98a677e36d4e0f7a0df6 Author: Emmanuele Bassi Date: Thu Dec 12 18:50:24 2013 +0000 Make abicheck.sh output TAP So that we can run it under the TAP harness like the rest of the conformance test suite. .gitignore | 7 +++++-- clutter/Makefile.am | 1 + clutter/abicheck.sh | 18 +++++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) commit b4044292d30ea36c89557111ef64198271215447 Author: Emmanuele Bassi Date: Thu Dec 12 18:32:37 2013 +0000 build: Ignore *.test files Generated when enabling installed tests. tests/conform/Makefile.am | 1 + 1 file changed, 1 insertion(+) commit b1eb412c2307c6eb31792ed1b387bdcf04fd027f Author: Emmanuele Bassi Date: Thu Dec 12 18:11:03 2013 +0000 tests: Use an internal setter for disabling vblank sync Instead of using g_setenv(). clutter/clutter-main.c | 6 ++++++ clutter/clutter-private.h | 1 + clutter/clutter-test-utils.c | 8 ++++---- 3 files changed, 11 insertions(+), 4 deletions(-) commit 526d0ea884434a6d9f53af7435547426f0dd90b1 Author: Emmanuele Bassi Date: Thu Dec 12 15:05:16 2013 +0000 conformance: Add more tests Add back some deprecated and general purpose API tests. These are the ones that were written already pretty much conforming to the GTest API and style, and thus require minimal porting. tests/conform/Makefile.am | 33 +++++++++ tests/conform/animator.c | 51 +++++++------- tests/conform/behaviours.c | 64 ++++++++--------- tests/conform/binding-pool.c | 92 +++++++++++------------- tests/conform/color.c | 158 +++++++++++++++++++++--------------------- tests/conform/events-touch.c | 13 ++-- tests/conform/group.c | 11 +-- tests/conform/interval.c | 63 ++++++++++++++--- tests/conform/model.c | 43 ++++++------ tests/conform/rectangle.c | 23 +++--- tests/conform/script-parser.c | 142 ++++++++++++------------------------- tests/conform/text.c | 69 +++++++++++++----- tests/conform/texture.c | 21 +++--- tests/conform/units.c | 24 +++---- 14 files changed, 420 insertions(+), 387 deletions(-) commit 7ec337f26f242db18039c67c5e0b046f818434cc Author: Emmanuele Bassi Date: Thu Dec 12 14:51:00 2013 +0000 conformance: Add actor tests Port the ClutterActor tests to the test API, and ensure they run under the new TAP harness. tests/conform/Makefile.am | 13 ++ tests/conform/actor-anchors.c | 53 +++++- tests/conform/actor-destroy.c | 17 +- tests/conform/actor-graph.c | 119 +++++++++--- tests/conform/actor-invariants.c | 206 +++++---------------- tests/conform/actor-iter.c | 22 +-- tests/conform/actor-layout.c | 239 +++---------------------- tests/conform/actor-meta.c | 15 +- tests/conform/actor-offscreen-limit-max-size.c | 128 ++++++------- tests/conform/actor-offscreen-redirect.c | 25 ++- tests/conform/actor-paint-opacity.c | 43 +++-- tests/conform/actor-pick.c | 40 ++--- tests/conform/actor-shader-effect.c | 41 +++-- tests/conform/actor-size.c | 13 +- 14 files changed, 412 insertions(+), 562 deletions(-) commit 2a660fa298702111c192a7b51e2120799c9393de Author: Emmanuele Bassi Date: Thu Dec 12 14:36:16 2013 +0000 Fully rework the conformance test suite The current conformance test suite is suboptimal in many ways. All tests are built into the same binary, which makes adding new tests, builting tests, and running groups of tests much more awkward than it needs to be. The first issue, especially, raises the bar of contribution in a significant way, while the other two take their toll on the maintainer. All of these changes were introduced back when we had both Clutter and Cogl tests in tree, and because we were building the test suite for every single change; since then, Cogl moved out of tree with all its tests, and we build the conformance test suite only when running the `check` make target. This admittedly large-ish commit changes the way the conformance test suite works, taking advantage of the changes in the GTest API and test harness. First of all, all tests are now built separately, using their own test suite as defined by each separate file. All tests run under the TAP harness provided by GTest and Automake, to gather a proper report using the Test Anything Protocol without using the `gtester` harness and the `gtester-report` script. We also use the Makefile rules provided by GLib to vastly simplify the build environment for the conformance test suite. On top of the changes for the build and harness, we also provide new API for creating and running test suites for Clutter. The API is public, because the test suite has to use it, but it's minimal and mostly provides convenience wrappers around GTest that make writing test units for Clutter easier. This commit disables all tests in the conformance test suite, as well as moving the data files outside of the tests/data directory; the next few commits will re-establish the conformance test suite separately so we can check that everything works in a reliable way. Makefile.am | 6 +- build/autotools/Makefile.am | 4 + build/autotools/glib-tap.mk | 134 +++++ build/autotools/glibtests.m4 | 28 + build/autotools/tap-driver.sh | 652 +++++++++++++++++++++ build/autotools/tap-test | 5 + clutter/Makefile.am | 2 + clutter/clutter-test-utils.c | 422 +++++++++++++ clutter/clutter-test-utils.h | 164 ++++++ clutter/clutter.h | 1 + clutter/clutter.symbols | 8 + configure.ac | 24 +- examples/Makefile.am | 3 +- examples/bin-layout.c | 2 +- examples/image-content.c | 2 +- examples/pan-action.c | 2 +- examples/redhand.png | Bin 0 -> 8250 bytes tests/Makefile.am | 4 +- tests/clutter-1.0.suppressions | 173 ++++++ tests/conform/ADDING_NEW_TESTS | 65 -- tests/conform/Makefile.am | 345 ++--------- tests/conform/run-tests.sh | 12 - tests/conform/scripts/test-animator-1.json | 5 + tests/conform/scripts/test-animator-2.json | 29 + tests/conform/scripts/test-animator-3.json | 40 ++ tests/conform/scripts/test-script-animation.json | 14 + tests/conform/scripts/test-script-child.json | 21 + .../scripts/test-script-implicit-alpha.json | 8 + tests/conform/scripts/test-script-interval.json | 16 + .../scripts/test-script-layout-property.json | 21 + tests/conform/scripts/test-script-margin.json | 22 + tests/conform/scripts/test-script-model.json | 17 + .../conform/scripts/test-script-named-object.json | 44 ++ .../scripts/test-script-object-property.json | 13 + tests/conform/scripts/test-script-single.json | 10 + .../scripts/test-script-timeline-markers.json | 12 + tests/conform/scripts/test-state-1.json | 33 ++ tests/conform/test-conform-common.c | 105 ---- tests/conform/test-conform-common.h | 52 -- tests/conform/test-conform-main.c | 217 ------- tests/conform/test-launcher.sh.in | 25 - tests/data/Makefile.am | 39 -- tests/data/clutter-1.0.suppressions | 173 ------ tests/data/light0.png | Bin 5674 -> 0 bytes tests/data/redhand.png | Bin 8250 -> 0 bytes tests/data/redhand_alpha.png | Bin 4539 -> 0 bytes tests/data/test-animator-1.json | 5 - tests/data/test-animator-2.json | 29 - tests/data/test-animator-3.json | 40 -- tests/data/test-script-animation.json | 14 - tests/data/test-script-child.json | 21 - tests/data/test-script-implicit-alpha.json | 8 - tests/data/test-script-interval.json | 16 - tests/data/test-script-layout-property.json | 21 - tests/data/test-script-margin.json | 22 - tests/data/test-script-model.json | 17 - tests/data/test-script-named-object.json | 44 -- tests/data/test-script-object-property.json | 13 - tests/data/test-script-signals.json | 68 --- tests/data/test-script-single.json | 10 - tests/data/test-script-timeline-markers.json | 12 - tests/data/test-script.json | 74 --- tests/data/test-state-1.json | 33 -- tests/interactive/Makefile.am | 9 +- tests/interactive/redhand.png | Bin 0 -> 8250 bytes tests/interactive/test-script-signals.json | 68 +++ tests/interactive/test-script.json | 74 +++ tests/interactive/test-state-script.c | 2 +- 68 files changed, 2096 insertions(+), 1478 deletions(-) commit cee38c167281a349297daf8d700c6ef793c499a8 Author: Milo Casagrande Date: Thu Dec 12 09:36:01 2013 +0100 [l10n] Updated Italian translation. po/it.po | 1365 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 695 insertions(+), 670 deletions(-) commit d4aed66821b5f2a040b40895dfbdca507e96bf7a Author: Robert Bragg Date: Wed Nov 27 21:32:59 2013 +0000 Check for cogl-path as a separate package In Cogl 1.17 libcogl-path has been split out from libcogl and now has its own corresponding cogl-path-1.0 pkg-config file which we check for during build configuration. Note: this bumps the required cogl version up to 1.17.1 configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit af446a68033bd3811017bd4c49f2199fa7c2f7fe Author: Daniel Mustieles Date: Mon Dec 9 16:05:11 2013 +0100 Updated Spanish translation po/es.po | 1375 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 701 insertions(+), 674 deletions(-) commit ed2fdf85f6f30452531722dbfd045298b6359458 Author: Emmanuele Bassi Date: Thu Dec 5 14:04:10 2013 +0000 gesture: Make threshold-trigger-edge public When the threshold-trigger-edge property was introduced in GestureAction, it was late in the cycle and I elected to keep it private, given the fact that nobody was subclassing GestureAction outside of Clutter itself. These days, people are experimenting more with the GestureAction API, so they will need access to the various knobs that control the class default behaviour. https://bugzilla.gnome.org/show_bug.cgi?id=710227 clutter/clutter-enums.h | 23 +++++++ clutter/clutter-gesture-action-private.h | 28 -------- clutter/clutter-gesture-action.c | 107 ++++++++++++++++++++--------- clutter/clutter-gesture-action.h | 6 ++ clutter/clutter.symbols | 3 + doc/reference/clutter/clutter-sections.txt | 2 + 6 files changed, 107 insertions(+), 62 deletions(-) commit b0227644ffe3e857784fa09f5c1d4d5edfac1915 Author: Lionel Landwerlin Date: Tue Oct 15 18:24:31 2013 +0100 gesture-action: set default edge value to NONE to restore initial behavior https://bugzilla.gnome.org/show_bug.cgi?id=710229 https://bugzilla.gnome.org/show_bug.cgi?id=710227 clutter/clutter-gesture-action.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8cb326dc54e7b4abe33bf88874203d9e2729ec2b Author: Emmanuele Bassi Date: Thu Dec 5 11:51:07 2013 +0000 Explicitly set the trigger edge in GestureAction subclasses Each GestureAction subclass has its own trigger edge handling, so we want to be resilient in case of changes in the super-class. https://bugzilla.gnome.org/show_bug.cgi?id=710227 clutter/clutter-pan-action.c | 6 ++++++ clutter/clutter-rotate-action.c | 7 ++++++- clutter/clutter-swipe-action.c | 4 ++++ clutter/clutter-zoom-action.c | 7 ++++++- 4 files changed, 22 insertions(+), 2 deletions(-) commit 154ca6ef99655e1b8187176076b42ccd5cd01c52 Author: Emmanuele Bassi Date: Thu Dec 5 11:49:53 2013 +0000 gesture: Clean up trigger edge accessors Use G_GNUC_INTERNAL instead of the leading underscore, as we may make the accessor functions public at some point. Also, clean up the documentation. https://bugzilla.gnome.org/show_bug.cgi?id=710227 clutter/clutter-gesture-action-private.h | 18 +++++++++--------- clutter/clutter-gesture-action.c | 26 ++++++++++++++++++++------ clutter/clutter-tap-action.c | 4 ++-- 3 files changed, 31 insertions(+), 17 deletions(-) commit 97724939c8de004d7fa230f3ff64862d957f93a9 Author: Lionel Landwerlin Date: Tue Oct 15 18:23:46 2013 +0100 gesture-action: fix memory corruption abcf1d589f29ba7914d5648bb9814ad26c13cd83 introduced a crasher because the 'point' variable points to a piece of memory that is being reallocated by the begin_gesture (by a g_array_set_size) call 5 lines before. https://bugzilla.gnome.org/show_bug.cgi?id=710227 clutter/clutter-gesture-action.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) commit cbb9d1e0629f4aa2955291a509d3fba6880b73b9 Author: Owen W. Taylor Date: Wed Dec 4 23:54:27 2013 -0500 ClutterStageCogl: Ignore a clip the size of the stage If the clip region includes the entire stage, ignore it - we aren't actually clipped. https://bugzilla.gnome.org/show_bug.cgi?id=719901 clutter/cogl/clutter-stage-cogl.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) commit 97dcb108d09b1b40a0444ab09a6e659287d52d0c Author: Owen W. Taylor Date: Thu Dec 5 07:57:17 2013 -0500 ClutterStageCogl: Clip in the right coordinate system Our clip coordinates are relative to the stage, not model-view transformed. cogl_framebuffer_push_rectangle_clip() was accidentally used instead of cogl_framebuffer_push_scissor_clip() when porting to the framebuffer clip API. https://bugzilla.gnome.org/show_bug.cgi?id=719900 clutter/cogl/clutter-stage-cogl.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) commit a2551dfa602f938b168fdf23fb4d2fcef4f1d892 Author: Owen W. Taylor Date: Tue Dec 3 00:32:14 2013 -0500 ClutterStage: Don't add empty actors to the stage clip Currently, if an actor with an empty paint volume is queued for redraw, it will union in the box +0+0x1x1 to the stage clip bounds - avoid that by special casing empty paint volumes. https://bugzilla.gnome.org/show_bug.cgi?id=719747 clutter/clutter-stage.c | 3 +++ 1 file changed, 3 insertions(+) commit 3fdee4efe9689f1eeac53ef5667dc998b40243ab Author: Emmanuele Bassi Date: Wed Dec 4 16:09:09 2013 +0000 docs: Fix syntax errors in annotations clutter/clutter-actor-box.c | 2 +- clutter/clutter-actor.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 1d7f3260a6a7c375d1214e6205f2356b2df0b976 Author: Emmanuele Bassi Date: Wed Dec 4 16:02:41 2013 +0000 conform: Run texture tests only on -m=slow I don't want to remove them altogether, but they need to be ported to a more reliable system, otherwise they end up failing at random depending on the whims of the compositor and the windowing system. tests/conform/test-conform-main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a64742f3e4cadf754405be274b4ca0a6750c410e Author: Emmanuele Bassi Date: Tue Dec 3 12:50:39 2013 +0000 paint-node: Get the framebuffer from the root node The PaintNode hierarchy should have the ability to retrieve the current active framebuffer by itself, instead of asking Cogl using the global state API. In order to do this, we ask the root node of a PaintNode graph for the active framebuffer. In the current, 1.x-compatibility mode we have two potential root node types: ClutterRootNode, used by ClutterStage; and ClutterDummyNode, used a local root for each actor. The former takes a framebuffer as part of its construction; the latter takes the actor that acts as the local top-level during the actor's paint sequence, which means we can get the active framebuffer from the stage associated to the actor. By keeping track of the active framebuffer on the node themselves we can drop the usage of cogl_get_draw_framebuffer() in their implementation. clutter/clutter-paint-node-private.h | 4 ++++ clutter/clutter-paint-node.c | 28 ++++++++++++++++++++++++ clutter/clutter-paint-nodes.c | 42 +++++++++++++++++++++++++++--------- 3 files changed, 64 insertions(+), 10 deletions(-) commit e619de20d83cbd072125e52247fbbaf4841dea41 Author: Emmanuele Bassi Date: Tue Dec 3 13:01:52 2013 +0000 text: Add a hacky fallback for the framebuffer The text-cache conformance test breaks because ClutterText gets a paint without an active framebuffer associated to the ClutterStage. Keep a fallback while we investigate the issue. clutter/clutter-text.c | 6 ++++++ 1 file changed, 6 insertions(+) commit 705640367a5c2ae21405806bfadbf56214b23f0f Author: Emmanuele Bassi Date: Tue Dec 3 12:12:52 2013 +0000 Use the non-deprecated Cogl clipping API Cogl 1.18 deprecated the global clipping API in favour of the per-framebuffer one, but since we're using the 2.0 API internally we don't have access to the deprecated symbols any more. This is pretty much a mechanical port for all the places where we're still using the old 1.x API. clutter/clutter-actor.c | 39 +++++++++++++++++++++------------- clutter/clutter-paint-nodes.c | 14 ++++++++----- clutter/clutter-stage.c | 7 ++++--- clutter/clutter-text.c | 44 ++++++++++++++++++++------------------- clutter/cogl/clutter-stage-cogl.c | 13 +++++++----- 5 files changed, 69 insertions(+), 48 deletions(-) commit 1b45841414ad92a63ace2d7376a6682d39d9b20c Author: Emmanuele Bassi Date: Tue Dec 3 12:11:43 2013 +0000 actor: Add private getter for the active framebuffer Instead of asking every internal user to get the stage and get the active framebuffer from it, we can wrap it up ourselves, and do some sanity checks as well. clutter/clutter-actor-private.h | 2 ++ clutter/clutter-actor.c | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) commit 00ef6e29ce68495dc9f10de680f020d7b46d6e6c Author: Neil Roberts Date: Mon Dec 2 19:13:55 2013 +0000 Make test-clip friendly for people with only one mouse button The various shapes can now be drawn by holding down modifier keys instead of requiring a three-button mouse. https://bugzilla.gnome.org/show_bug.cgi?id=719716 tests/interactive/test-clip.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) commit 992f2ca7b58a9164b8a77e962d37b315947bace2 Author: Florian Müllner Date: Fri Nov 29 15:43:45 2013 +0000 input-device: Guard against double free Dispose() may be called more than once, so calling g_free directly on the device name is unsafe. Instead, use g_clear_pointer() to make sure we don't attempt to free the memory again. https://bugzilla.gnome.org/show_bug.cgi?id=719563 clutter/clutter-input-device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 2e85269368a815435f107f1b7dfbc15c7e806fa6 Author: Owen W. Taylor Date: Tue Nov 26 11:04:27 2013 -0500 Don't queue redraws when reallocating actor that haven't moved When support for implicit animation of actor position was added, the optimization for not queueing when allocating an actor back to the same location was lost. This optimization is important since when we are hierarchically allocating down from the top of the stage we constantly reallocate the actors at the top of the hierarchy back to the same place. https://bugzilla.gnome.org/show_bug.cgi?id=719368 clutter/clutter-actor.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 0b536c02f97d7adfa8c4af4a4214f02d4ac9f716 Author: Owen W. Taylor Date: Fri Nov 22 10:30:21 2013 -0500 Bind constraints: Don't force redraws on source relayout When the source actor potentially changes size, that shouldn't necessarily result in the target actor being redrawn - it should be like when a child of a container is reallocated due to changes in its siblings or parent - it should redraw only to the extent that it is moved and resized. Privately export an internal function from clutter-actor.c to allow getting this right. https://bugzilla.gnome.org/show_bug.cgi?id=719367 clutter/clutter-actor-private.h | 1 + clutter/clutter-actor.c | 4 +--- clutter/clutter-bind-constraint.c | 2 +- clutter/clutter-snap-constraint.c | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) commit 3cd9a70fea1ccf795419a1726c7c279b0aaf237e Author: Rui Matos Date: Tue Nov 19 17:02:58 2013 +0100 device-manager-evdev: Stop using deprecated libevdev API Fixes compiler warnings with libevdev >= 0.4 and makes use of a new function to set the clock id instead of doing the ioctl directly. https://bugzilla.gnome.org/show_bug.cgi?id=712816 README.in | 2 +- clutter/evdev/clutter-device-manager-evdev.c | 16 +++++++--------- configure.ac | 4 +++- 3 files changed, 11 insertions(+), 11 deletions(-) commit 05e6bcc666e345ed4619c1a40a298212d1075b99 Author: Rui Matos Date: Thu Nov 21 14:51:26 2013 +0100 device-manager-evdev: Fix a segfault on device removal Master devices have a NULL sysfs path so use g_strcmp0 to handle them without crashing. https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/evdev/clutter-device-manager-evdev.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 7d8f72a60e4087a4d9e48d3f0e38b669b3717243 Author: Rui Matos Date: Thu Nov 21 14:50:40 2013 +0100 device-manager-evdev: Unref devices on removal https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/evdev/clutter-device-manager-evdev.c | 2 ++ 1 file changed, 2 insertions(+) commit ce1f8f1dd027302e58aa2a58430eac1794f7e124 Author: Rui Matos Date: Thu Nov 21 14:48:40 2013 +0100 device-manager-xi2: Fix device instances leaking on removal Don't add an extra reference when adding to the devices hash table. We already own the initial reference. https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/x11/clutter-device-manager-xi2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 18b9384e66c3af2de56eba85f4e688967c99b5ff Author: Rui Matos Date: Thu Nov 21 14:48:00 2013 +0100 input-device: Fix a GArray leak https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/clutter-input-device.c | 1 + 1 file changed, 1 insertion(+) commit 507d8b1cef4dfbe9489b44ff3f68cd9265c9ddf6 Author: Rui Matos Date: Thu Nov 21 16:23:00 2013 +0100 input-device: Use g_clear_pointer https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/clutter-input-device.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) commit 1d11cc324e8ce1741528c61af92ca27e9f4bcfa0 Author: Rui Matos Date: Thu Nov 21 14:46:04 2013 +0100 device-manager: Don't emit device-removed with a finalized instance https://bugzilla.gnome.org/show_bug.cgi?id=712812 clutter/clutter-device-manager.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) commit 45f30d221fda106c640aba69fa020dec365e57e4 Author: Emmanuele Bassi Date: Thu Nov 21 00:25:37 2013 +0000 New release cycle, new interface age configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 492291d62979e68f964227bf224b89efc10574db Author: Emmanuele Bassi Date: Thu Nov 21 00:25:28 2013 +0000 Bump up the dependency on Cogl configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 09c06d08ca82154868ac13ff656d7f8219c9fefd Author: Emmanuele Bassi Date: Tue Nov 19 16:38:28 2013 +0000 docs: Remove mentions of XFixes dependency Clutter does not use nor depend on XFixes any more. README.in | 1 - README.md | 1 - configure.ac | 2 -- 3 files changed, 4 deletions(-) commit 6dee60a7dbbbbbcd0c0ed897da029f40c539c616 Author: Piotr Drąg Date: Thu Nov 21 01:01:47 2013 +0100 Updated POTFILES.in po/POTFILES.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a427c120c239a471024375277d5e03e9b8863835 Author: Jasper St. Pierre Date: Mon Nov 18 00:18:32 2013 -0500 stage: Remove the pick buffer caching Since the journal is flushed on context switches, trying to use a cached buffer means that we will use glReadPixels when picking, which isn't what we want. Instead, always use a clipped draw, and remove the logic for caching the pick buffer. https://bugzilla.gnome.org/show_bug.cgi?id=712563 clutter/clutter-stage.c | 125 ++++++------------------------------------------ 1 file changed, 15 insertions(+), 110 deletions(-) commit 9082ccc30bfd7cf8e94f696013a10b817021b7dc Author: Jasper St. Pierre Date: Mon Nov 18 00:15:48 2013 -0500 stage: Fix indentation in pick methods https://bugzilla.gnome.org/show_bug.cgi?id=712563 clutter/clutter-stage.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) commit 7af55d23e4a24689eba6e3f994e7b96b7495c614 Author: Emmanuele Bassi Date: Tue Nov 19 00:26:37 2013 +0000 Deprecate ClutterTableLayout The table layout manager has various issues: • no support for RTL flipping • most of the layout API is legacy, and has been replaced by the alignment and expansion flags on ClutterActor • the animation API is legacy, and has been replaced by the implicitly animatable allocation • the spanning cells handling is a bit awkward, as is its API On top of that, we imported the grid layout management policy from GTK+ into ClutterGridLayout, which provides all the required features in a more well-designed API. Instead of wasting time and resources updating TableLayout, we should deprecate it and point developers of the GridLayout. clutter/Makefile.am | 4 +- clutter/clutter-deprecated.h | 1 + clutter/clutter-table-layout.c | 2581 ---------------------------- clutter/clutter-table-layout.h | 157 -- clutter/clutter.h | 1 - clutter/deprecated/clutter-table-layout.c | 2611 +++++++++++++++++++++++++++++ clutter/deprecated/clutter-table-layout.h | 172 ++ doc/reference/clutter/clutter-docs.xml.in | 4 +- 8 files changed, 2788 insertions(+), 2743 deletions(-) commit 56b579248e0d3db56c258cc8a40c28f1e266d778 Author: Emmanuele Bassi Date: Tue Nov 19 00:31:46 2013 +0000 Update symbols file clutter/clutter.symbols | 2 ++ 1 file changed, 2 insertions(+) commit 70292672c4381c3039bd88255c4f57d45e142599 Author: Neil Roberts Date: Thu Aug 29 17:10:56 2013 +0100 Add API to install an event filter This adds clutter_event_add/remove_filter which adds a callback function which will receive all Clutter events just before the event signal is emitted for them. The event filter will be invoked regardless of any grabs or captures. This will be used by Mutter which wants to access the events at a lower level then the event bubbling mechanism. It needs to see all mouse motion events even if there is a grab in place. https://bugzilla.gnome.org/show_bug.cgi?id=707560 clutter/clutter-event-private.h | 2 + clutter/clutter-event.c | 106 +++++++++++++++++++++++++++++ clutter/clutter-event.h | 26 +++++++ clutter/clutter-main.c | 22 +++++- clutter/clutter-private.h | 4 ++ doc/reference/clutter/clutter-sections.txt | 3 + 6 files changed, 162 insertions(+), 1 deletion(-) commit c2b0b9aace969ecb19e703c8d53d157eb1072559 Author: Jasper St. Pierre Date: Tue Nov 12 15:10:22 2013 -0500 input-device-xi2: Calculate the correct state for button events The state that the X server sends for button events, by specification, contains the button state before the event. We need to synthesize in the result of the event in order to determine what the current button state is. https://bugzilla.gnome.org/show_bug.cgi?id=712322 clutter/x11/clutter-input-device-xi2.c | 63 ++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 25 deletions(-) commit 0fda81feabed58cf285ba313b393c9f24412b648