summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* WIPwip/nielsdg/uncrustify-testNiels De Graef2018-11-19191-9605/+12583
|
* CI: add uncrustify config.Niels De Graef2018-11-191-0/+112
| | | | | | | | Run in the repo's root directory with for example ``` $ uncrustify -c data/uncrustify.cfg src/**/*.c ```
* x11/window: Minor cleanupJonas Ådahl2018-11-141-1/+3
| | | | | | Limit the scope of the 'monitor_rect' variable and break up a long line. https://bugzilla.gnome.org/show_bug.cgi?id=790207
* monitor-unit-tests: Try resizing clients while headlessJonas Ådahl2018-11-141-0/+15
| | | | | | Prior to 6dcce19932 this test would crash. https://bugzilla.gnome.org/show_bug.cgi?id=790207
* tests/test-client: Add "resize" commandJonas Ådahl2018-11-141-0/+16
| | | | | | The "resize" command resizes a window. https://bugzilla.gnome.org/show_bug.cgi?id=790207
* monitor-unit-tests: Also run a X11 client while testingJonas Ådahl2018-11-141-24/+65
| | | | | | | | We already ran a Wayland client to test various Wayland paths. What was missing to also run a X11 client was to hook in the X11 async waiter wires, so do that and run both types of clients. https://bugzilla.gnome.org/show_bug.cgi?id=790207
* tests: Make all alarm filters use the same typeJonas Ådahl2018-11-143-15/+19
| | | | | | That'll make them more interchangable, would so ever be needed. https://bugzilla.gnome.org/show_bug.cgi?id=790207
* gitlab-ci: Add test stageJonas Ådahl2018-11-142-0/+16
| | | | | | | | | | | | The test stage runs the whole meson test suite inside Xvfb inside a dbus session. Running inside Xvfb is required as the cogl, clutter and mutter tests require to run on top of X11; the dbus session is required to make mutter succeed in owning names on the bus. This also updates the Dockerfile to include packages needed for running tests. https://gitlab.gnome.org/GNOME/mutter/issues/193
* tests: Override X11 display numberJonas Ådahl2018-11-143-5/+16
| | | | | | | | As with the Wayland display name, to avoid clashes with already an running Xwayland or Xorg instance, override the X11 display name to something less likely to cause a clash. https://gitlab.gnome.org/GNOME/mutter/issues/193
* tests: Override Wayland display name in test_init()Jonas Ådahl2018-11-144-3/+2
| | | | | | | It's overridden by all test cases, but they all also call test_init() so do it there instead. https://gitlab.gnome.org/GNOME/mutter/issues/193
* Dockerfile: Align comment with commandJonas Ådahl2018-11-141-1/+1
|
* clutter/tests: Remove events-touch testJonas Ådahl2018-11-143-394/+0
| | | | | | | | The events-touch test tested that clutter could properly process evdev touch events. It used uinput to post evdev touch events, thus only ran when runnig the test as root. Running as non-root it'd just silently pass. As Clutter doesn't process evdev touch events anymore, libinput does, so the test is fairly pointless, so remove it.
* cogl/tests: Increase the conform test timeout to 120 sJonas Ådahl2018-11-141-1/+1
| | | | | Running it on CI runners can take bit more time, so let it be for a bit more until bailing out.
* clutter/master-clock: Destroy source when pausedJonas Ådahl2018-11-141-2/+12
| | | | | | | | | | | | | Pausing the master clock didn't actually pause it if there was already a scheduled frame in progress. This is problematic if one actually expects to see no new frame scheduling to happen after pausing, for example it caused actor 'pre-paint' to be signalled on actors, but nothing was ever painted. Avoid this by destroying the master clock source when pausing, and then recreating it when resuming. https://gitlab.gnome.org/GNOME/mutter/merge_requests/309
* wayland/output: Rotate physical dimensions as wellOlivier Fourdan2018-11-141-2/+36
| | | | | | | | | | | | For Wayland outputs, we do not expose the actual transformation because mutter does not support wl_surface.set_buffer_transform yet, instead we swap the logical width and height when the output is rotated. However, a client wishing to use the physical size would get confused, so if the output is rotated, rotate the physical dimensions as well for consistency. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/369
* keybindings: Limit corner move to current monitorJānis Džeriņš2018-11-141-1/+4
| | | | | | | | | | Moving windows using `move-to-side-X` and `move-corner-XX` keybindings should keep windows within the confines of current screen. `move-to-monitor-XXX` keybindings can be used to move windows to other monitors. Closes: https://gitlab.gnome.org/GNOME/mutter/issues/320
* Bump version to 3.31.23.31.2Florian Müllner2018-11-143-3/+20
| | | | Update NEWS.
* Revert "clutter: Avoid redundant margin changes"Florian Müllner2018-11-141-16/+0
| | | | This reverts commit 59acb38951381c196eb47e0a5d568a13feb442ad.
* clutter: Avoid redundant margin changesDaniel van Vugt2018-11-131-0/+16
| | | | | | | | | | | | | When profiling gnome-shell it was found that one of the main triggers of `clutter_actor_queue_relayout` during animations was `clutter_actor_set_margin_internal` continuously setting the same zero margins. That's obviously pointless but also expensive since it incurs full stage relayouts and reallocation. So just avoid redundant margin changes. Helps to further improve: https://gitlab.gnome.org/GNOME/mutter/issues/233, https://gitlab.gnome.org/GNOME/gnome-shell/issues/349
* window: Really force update monitor on hot plugsOlivier Fourdan2018-11-132-3/+14
| | | | | | | | | | | | | | | | | | | | Commit 8d3e05305 ("window: Force update monitor on hot plugs") added the flag `META_WINDOW_UPDATE_MONITOR_FLAGS_FORCE` passed to `update_monitor()` from `update_for_monitors_changed()`. However, `update_for_monitors_changed()` may choose to call another code path to `move_between_rects()` and `meta_window_move_resize_internal()` eventually. As `meta_window_move_resize_internal()` does not use the "force" flag, we may still end up in case where the window->monitor is left unchanged. To avoid that problem, add a new `MetaMoveResizeFlags` that `update_for_monitors_changed()` can use to force the monitor update from `meta_window_move_resize_internal()`. Fixes: 8d3e05305 ("window: Force update monitor on hot plugs") Closes: https://gitlab.gnome.org/GNOME/mutter/issues/189
* clutter/device-manager/evdev: Fix constraint cbNiels De Graef2018-11-121-2/+2
| | | | | | As pointed out by @jadahl, this shouldn't matter too much, as the `constraint_callback` should always be set when initializing the mutter backend.
* clutter/keyframe-transition: Properly compare keysNiels De Graef2018-11-121-1/+1
|
* clutter/actor: Don't forget va_end if using varargsNiels De Graef2018-11-121-0/+1
|
* build: Fix libs and cflags in autotools .pc fileAlexander Mikhaylenko2018-11-101-2/+2
| | | | Similar to b86d87453d5ff7689101ea995d32cf8023b567ec
* backend: Freeze frame clock when headlessJonas Ådahl2018-11-091-0/+15
| | | | | | | | | | Don't schedule redraws when being headless; there is nothing to draw so don't attempt to draw. This also makes a flaky test become non-flaky, as it previously spuriously got warnings due to windows being "painted" when headless but lacking frame timings, as nothing was actually painted. https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
* backends: Move clutter frame clock freeze/thaw API to ClutterSTageJonas Ådahl2018-11-095-66/+68
| | | | | | | It had nothing to do with EGL or the eglnative backend, and will be used by non-native backends, so move it to a common place. https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
* backends/stage: Remove unused function declarationJonas Ådahl2018-11-091-2/+0
| | | | https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
* backends/stage: Remove MetaStagePrivateJonas Ådahl2018-11-092-23/+14
| | | | | | | | | The empty MetaStage was in meta-stage-private.h for no reason, so lets move it to the C file. This makes it pointless to have a private instance struct, so just move the fields to the private struct _MetaStage. https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
* clutter: Assume XGE is available at build timeJonas Ådahl2018-11-082-18/+0
| | | | | | Almost a decade old, lets just assume it's there. This makes the button on cally-atktext-example work again when building with meson, and probably other things too.
* clutter-shader: Don't include unistd.hJonas Ådahl2018-11-081-4/+0
| | | | It isn't needed.
* cogl: Silence some introspection warningsJonas Ådahl2018-11-085-14/+14
| | | | | Mostly skipping functions of non-introspected types, but also added a missing callback scope.
* theme: Drop gtk_css_provider_get_default()Georges Basile Stavracas Neto2018-11-081-4/+18
| | | | | | | Instead of using gtk_css_provider_get_default(), add a static GtkCssProvider and fetch it instead. Creating GtkCssProviders consume a bit more memory, so keeping a single one alive is slightly more memory saving.
* clutter: Drop g_object_newv from ClutterScriptParserGeorges Basile Stavracas Neto2018-11-081-5/+19
| | | | | Build an additional set of (GStrv, GValue[]) and pass it to the non-deprecated g_object_new_with_properties().
* tests: Remove deprecated ATK functionsGeorges Basile Stavracas Neto2018-11-081-18/+5
|
* tests: Remove extra constGeorges Basile Stavracas Neto2018-11-081-1/+1
|
* tests: Enumerate all possible eventsGeorges Basile Stavracas Neto2018-11-082-0/+62
|
* tests: Remove unused variablesGeorges Basile Stavracas Neto2018-11-081-2/+0
|
* README: Mention usage by GalaPeter Uithoven2018-11-081-3/+4
|
* wayland/xdg-shell: Add toplevel tile state supportJonas Ådahl2018-11-082-8/+23
| | | | | The second version of xdg_wm_base added toplevel tile states (top, right, bottom, left), so lets communicate that.
* wayland/legacy-xdg-shell: Use helper to fill state arrayJonas Ådahl2018-11-081-18/+14
|
* wayland/gtk-shell: Use helper to fill state arrayJonas Ådahl2018-11-081-21/+15
|
* wayland/gtk-shell: Fix signedness of resource version variableJonas Ådahl2018-11-081-1/+1
| | | | wl_resource_get_version() returns an int, not an unsigned int.
* wayland/xdg-shell: Add helper for adding state enum valuesJonas Ådahl2018-11-081-18/+14
|
* window: Make edge constraint code more readableJonas Ådahl2018-11-084-49/+107
| | | | | | | It relied on indices in arrays determining tile direction and non-obvious bitmask logic to translate to _GTK_EDGE_CONSTRAINTS. Change this to explicitly named edge constraints, and clear translation methods that converts between mutters and GTK+s edge constraint formats.
* window: Store tile mode as MetaTileModeJonas Ådahl2018-11-081-1/+2
| | | | | | An unnecessary memory optimization, storing the tile mode as a 2 bit unsigned integer, was used. While saving a few bytes, it made debugging harder. Remove the useless byte packing.
* clutter-offscreen-effect: Disable if no textureDaniel van Vugt2018-11-081-3/+6
| | | | | | | | | | | | | If texture allocation fails (e.g. on an old GPU with size limit 2048) then `update_fbo` would return `FALSE` but leaves `priv->offscreen` as non-NULL. So the next paint will try to use the offscreen with a `NULL` texture and crashes. The solution is simply to ensure that `priv->offscreen` is NULL if there is no `priv->texture`, so the default (non-offscreen) paint path gets used instead. Bug reported and fix provided by Gert van de Kraats. https://launchpad.net/bugs/1795774
* cogl-auto-texture: Avoid a double-free crashDaniel van Vugt2018-11-081-0/+1
| | | | | | | | | | If texture allocation fails (e.g. on an old GPU with size limit 2048) then `cogl_texture_new_with_size` was trying to use the same CoglError twice. The second time was after it had already been freed. Bug reported and fix provided by Gert van de Kraats. https://launchpad.net/bugs/1790525
* build: Fix include and lib paths in autotools .pc filesJonas Ådahl2018-11-076-13/+13
| | | | | | Some hadn't been updated after lib/mutter/ changed to lib/mutter-N/. Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/382
* build: Add soversion to shared librariesJonas Ådahl2018-11-076-0/+6
| | | | It's easier to add it now, then adding it later would so be needed.
* build: Also build mutter-restart-helper executableJonas Ådahl2018-11-071-0/+16
| | | | Was left out by mistake. Lets add it.