| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Run in the repo's root directory with for example
```
$ uncrustify -c data/uncrustify.cfg src/**/*.c
```
|
|
|
|
|
|
| |
Limit the scope of the 'monitor_rect' variable and break up a long line.
https://bugzilla.gnome.org/show_bug.cgi?id=790207
|
|
|
|
|
|
| |
Prior to 6dcce19932 this test would crash.
https://bugzilla.gnome.org/show_bug.cgi?id=790207
|
|
|
|
|
|
| |
The "resize" command resizes a window.
https://bugzilla.gnome.org/show_bug.cgi?id=790207
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
That'll make them more interchangable, would so ever be needed.
https://bugzilla.gnome.org/show_bug.cgi?id=790207
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Running it on CI runners can take bit more time, so let it be for a bit
more until bailing out.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Update NEWS.
|
|
|
|
| |
This reverts commit 59acb38951381c196eb47e0a5d568a13feb442ad.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
As pointed out by @jadahl, this shouldn't matter too much, as the
`constraint_callback` should always be set when initializing the mutter
backend.
|
| |
|
| |
|
|
|
|
| |
Similar to b86d87453d5ff7689101ea995d32cf8023b567ec
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
https://gitlab.gnome.org/GNOME/mutter/merge_requests/170
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
It isn't needed.
|
|
|
|
|
| |
Mostly skipping functions of non-introspected types, but also added a
missing callback scope.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Build an additional set of (GStrv, GValue[]) and pass it
to the non-deprecated g_object_new_with_properties().
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The second version of xdg_wm_base added toplevel tile states (top,
right, bottom, left), so lets communicate that.
|
| |
|
| |
|
|
|
|
| |
wl_resource_get_version() returns an int, not an unsigned int.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Some hadn't been updated after lib/mutter/ changed to lib/mutter-N/.
Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/382
|
|
|
|
| |
It's easier to add it now, then adding it later would so be needed.
|
|
|
|
| |
Was left out by mistake. Lets add it.
|