Bilal Elmoussaoui
640cbf339f
tests: Move Mtk specific tests from boxes
...
More of the boxes tests would be moved once we have a new region type
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
1abef24154
mtk: Move Rectangle.from_graphene_rect from Meta
...
And drop the clutter helper
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
a93471eb90
mtk: Move Rectangle.to_graphene_rect from Meta
...
Also drops the clutter equivalent
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
3d693e8309
mutter: Completely replace MetaRectangle with MtkRectangle
...
There are still various helpers that might be worth to move to mtk as
well
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
aec8e50df8
mtk: Move Rectangle.[contains|could_fit]_rect from Meta
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
eafe07de31
mtk: Move Rectangle.overlap_* from Meta
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
db77759938
mtk: Move Rectangle.area from Meta
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
af7c7befd8
mtk: Move Rectangle constructors from Meta
...
Also rename the rect constructor from mtk_rect to mtk_rectangle_new so
it is detected as a proper constructor instead of a random function by
g-ir-scanner
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
565acaed9c
mtk: Move Rectangle.intersect from Meta
...
Also replaces it usage everywhere & remove the Clutter helper. Note the
tests were not moved yet to mtk.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:14 +02:00
Bilal Elmoussaoui
6f66dd9944
mtk: Move Rectangle.union from Meta
...
Similar to Rectangle.equal. The clutter helper was not used.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:13 +02:00
Bilal Elmoussaoui
9b2cba4e86
mtk: Move Rectangle.equal from Meta
...
Moves equal the equal function and removes the clutter equivalent. The
tests were not moved until all the remaining helper functions are moved.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:13 +02:00
Bilal Elmoussaoui
918ae0f4d4
mutter: Replace cairo_rectangle_int_t with MtkRectangle
...
Note: the various helpers in boxes.c were not ported yet, see the next
commit. This was intentionally done to simplify the porting process
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:13 +02:00
Bilal Elmoussaoui
765a918a62
build: Add a Meta Toolkit private library
...
Currently, Meta/Cogl/Clutter makes use of cairo_rectangle_int_t despite
the existance of MetaRectangle.
In order to make MetaRectangle usable in Cogl/Clutter as well, Mtk would
provide such base types that are shared across the various private
libraries
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3128 >
2023-08-30 16:46:13 +02:00
Sandro Bonazzola
ff4d87727b
Update license access method
...
Dropped obsolete Free Software Foundation address pointing
to the FSF website instead as suggested by
https://www.gnu.org/licenses/gpl-howto.html
keeping intact the important part of the historical notice
as requested by the license.
Resolving rpmlint reported issue E: incorrect-fsf-address.
Signed-off-by: Sandro Bonazzola <sbonazzo@redhat.com>
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3155 >
2023-08-30 08:48:23 +02:00
Bilal Elmoussaoui
b004d1c577
cleanup: Drop empty vfuncs overrides
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3209 >
2023-08-29 23:38:32 +00:00
Carlos Garnacho
7d8d7c89d4
backends: Check that buffer age is available when checking damage history
...
This used to be the case before the refactor at commit 43cee4b6b6
,
use_clipped_redraw would be unset before the larger check if has_buffer_age
was set, but clutter_damage_history_is_age_valid() was FALSE. This got
replaced by a check just on the latter, which will also be FALSE if
has_buffer_age is not present.
We have other means to achieve clipped redraws, so this slight change
culled all of them.
Fixes: 43cee4b6b6
("stage-impl: Do clipped redraws when drawing offscreen")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2771
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3221 >
2023-08-29 11:27:35 +02:00
Jonas Ådahl
a3c62bf8aa
wayland/idle-inhibit: Add state tracking to fix races
...
This changes how state is tracked by introducing an explicit state. We
need this since we use asynchronous calls to the out of process
component that handles actual inhibitation, including idleness.
This means if inhibitations changes rapidly, we might end up with an
incorrect state if we e.g. try to uninhibit while we're currently trying
to inhibit.
This is done by adding a state variable that accounts for the pending
state, as well as the active state, with a function that looks at the
current conditions to derive what state we should be in, and what state
we are in, to decide what the next action should be.
For example, if we're trying to inhibit, but now wants to uninhibit,
we'll wait for the inhibit call to complete, recheck what we want, which
would result in an async uninhibit call being made.
Fixes: 388b534062
("wayland: Implement idle inhibit protocol")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3219 >
2023-08-28 19:16:04 +02:00
Jonas Ådahl
34b60757c2
wayland/surface: Add signal for when the actor changes
...
This can happen on a xdg-toplevel that is remapped.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3219 >
2023-08-28 16:25:08 +02:00
Jonas Ådahl
170ba63dbf
wayland/idle-inhibit: Change to use GObject signals
...
Fixes: 388b534062
("wayland: Implement idle inhibit protocol")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3219 >
2023-08-28 16:25:03 +02:00
Jonas Ådahl
45abae7ebb
wayland/idle-inhibit: Remove confusing comment
...
Something about the surface being destroyed and visibility checked,
which isn't what is going on.
Fixes: 388b534062
("wayland: Implement idle inhibit protocol")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3219 >
2023-08-28 16:24:59 +02:00
Charbel Assaad
388b534062
wayland: Implement idle inhibit protocol
...
This is based on the original work done by:
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/111
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/20
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3145 >
2023-08-26 20:19:22 +02:00
Sebastian Keller
8db400660a
backends/x11: Drop warning about libinput property item count
...
libinput 1.3 introduced a custom acceleration profile extending the
related properties from 2 to 3 items, which now triggering this warning.
This does not have a functional impact since GNOME currently does not
make use of the new profile. Also increasing the libinput version
dependency which would be needed to change the expected item count is
not possible in a stable release either. So just drop this warning to
be compatible with newer versions of libinput.
See: https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/-/merge_requests/39#note_1656566
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2987
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3215 >
2023-08-26 12:15:47 +02:00
Jonas Ådahl
e683264051
tests: Add metatests for cloned windows and suspend state
...
Tests https://gitlab.gnome.org/GNOME/mutter/-/issues/2984 .
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 21:15:07 +02:00
Jonas Ådahl
87b7b073d3
window-actor: Don't update suspend state if no window
...
If the window is gone, don't try to update it. This might happen on
unmap animations with active clones.
Fixes: 9a2c8b2592
("window: Add suspend state")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2984
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 21:15:07 +02:00
Jonas Ådahl
cb6290832e
tests/test-runner: Add utilities for testing cloned windows
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 21:15:07 +02:00
Jonas Ådahl
9df38c2126
tests/test-runner: Fix include order
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 21:15:07 +02:00
Jonas Ådahl
baa0f62ced
tests/shell: Restore minimized actor state in idle callback
...
This fixes the following
1. Minimize window; minimize animation starts
2. Do something that immediately destroys the animated actor (e.g. terminate)
3. This triggered the timeline of the animation to emit a "stopped"
signal while all transitions of the actor were destroyed
Previously we'd implicitly animate the scale again (set_scale(..)) which
created a new transition The hash table iterator didn't like this and
abort():ed
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 21:15:07 +02:00
Jonas Ådahl
1e25cb746a
window: Don't update suspend state after unmanaging
...
The actor will try to update the suspend state when it goes away, which
can in the case of unmap animations be after the window was unmanaged.
In this case, don't try to update any suspend state.
Fixes: 9a2c8b2592
("window: Add suspend state")
Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2984
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 15:48:19 +02:00
Jonas Ådahl
b743cc3528
tests/test-runner: Add 'sleep suspend_timeout' command
...
It's a tweak to the 'sleep' command to allow well known sleep lengths.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3213 >
2023-08-25 15:47:05 +02:00
Jonas Ådahl
5071a6df87
wayland/xdg-shell: Set the suspended
state to suspended windows
...
This will allow clients to e.g. enter power saving mode when they are
e.g. on another workspace, minimized or fully obstructed.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3019 >
2023-08-24 19:57:58 +00:00
Jonas Ådahl
3af02e1b57
wayland/xdg-shell: Implement support for xdg_toplevel.wm_capabilities
...
Nothing dynamic yet, we don't have API for this, but we need it to
implement the next version. Sending "all" should be equivalent to v4
anyhow, so this is harmless.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3019 >
2023-08-24 19:57:58 +00:00
Jonas Ådahl
9a2c8b2592
window: Add suspend state
...
The 'suspend state' is meant to track whether a window is likely to be
visible any time soon. The hueristics for this are as follows:
* If a window is hidden, it will enter the 'hidden' state.
* If a window is visible, and unobscured, it will enter the 'active'
state.
* If a window is visible, but obscured by another window, it will enter
the 'hidden' state.
* If there is a mapped clone of a window, it will enter the 'active'
state.
* If the window has been in the 'hidden' state for 3 seconds, it will
enter the 'suspended' state.
This will eventually be communicated to Wayland clients so that they can
change their behaviour to e.g. save power.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3019 >
2023-08-24 19:57:58 +00:00
Jonas Ådahl
2d7a062913
window-actor: Be more consistent declaring the property
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3019 >
2023-08-24 19:57:57 +00:00
Niels De Graef
069fe8e915
src: Chain up to finalize()
...
We forgot to chain up to the parent class' `finalize()` vfunc in both
`MetaEis` and `MetaEisClient`. Plugs 2 (probably tiny) memory leaks.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3203 >
2023-08-22 21:57:07 +02:00
Daniel van Vugt
c4d7265656
kms/cursor-manager: Transform cursor movement from view space to CRTC
...
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2955 ,
https://gitlab.gnome.org/GNOME/mutter/-/issues/2957
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3180 >
2023-08-22 15:16:27 +00:00
Daniel van Vugt
ca27dbabd9
backends/native: Pass cursor transform from renderer to cursor manager
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3180 >
2023-08-22 15:16:27 +00:00
Daniel van Vugt
5a05b1a901
monitor-transform: Invert the behaviour of transform_point
...
Previously it transformed a physical CRTC coordinate to a logical desktop
coordinate. But current and future users of the function all require
conversion from logical coordinates to physical coordinates. We would have
had to always invert the transform parameter which is a waste of time when
we can instead just invert the function behaviour.
We also simplify the parameters to show both the point coordinate and the
area dimensions are potentially transformed.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3180 >
2023-08-22 15:16:27 +00:00
Sebastian Keller
133931e3a3
core: Don't unmap XWayland windows without buffers on visibility update
...
18be74ed
was changing meta_window_should_be_showing_on_workspace() to
only show XWayland windows when they have buffers to prevent starting
transitions with a seemingly black window.
This however did not just delay the transition, but when called in
meta_window_update_visibility() could result in the X11 window getting
unmapped again if the call happens before there is a buffer. Then,
depending on the client, the window would either remain hidden or if the
client tries to map the window again, this would repeat the process,
triggering the closing transition every time.
This commit instead just hides the XWayland window from the compositor
but keeps the corresponding X11 window mapped while it does not have a
buffer yet.
Related: https://gitlab.gnome.org/GNOME/mutter/-/issues/2611
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2965
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2820
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2867
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3194 >
2023-08-21 18:32:41 +00:00
Carlos Garnacho
5d72be4016
backends/native: Regain time precision in a11y generated events
...
Get times in microseconds, instead of converting from milliseconds.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3190 >
2023-08-21 15:11:15 +00:00
Georges Basile Stavracas Neto
d4c923edf9
screen-cast/window-src: Report alpha-enabled pixel format
...
This allows windows screencasts with proper shadows, instead of
a black border around the window!
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2099
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:42:04 -03:00
Georges Basile Stavracas Neto
215b91a2e6
screen-cast/src: Consider preferred format for stream
...
When creating a new stream, check if the preferred format is
different from the default (COGL_PIXEL_FORMAT_BGRX_8888). If
it is, then also include it in the list of potential formats
for the stream.
COGL_PIXEL_FORMAT_BGRX_8888 is still passed around as it's
both the default, and the fallback for when things go wrong.
When creating buffers, use the negotiated SPA format instead
of a hardcoded value. We leave it to PipeWire to figure out
what's the best format, since clients may not support the
preferred format of the stream.
Due to how chaotic things got, this commit also cleans up
the create_pipewire_stream() to use an auxiliary array of
SPA formats, which is then iterated on in order to generate
the format pods.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:42:04 -03:00
Georges Basile Stavracas Neto
b6bf6572a1
screen-cast/src: Add get_preferred_format vfunc
...
This allows subclasses to hint which pixel format they would
prefer to be used. It may or may not be respected, depending
on the available hardware capabilities.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Georges Basile Stavracas Neto
e24be82c12
backends/screen-cast: Pass pixel format to DMA-BUF constructor
...
Following the previous commit, do the same function parameter
treatment to meta_screen_cast_create_dma_buf_handle().
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Georges Basile Stavracas Neto
b391ded7bf
renderer/native: Try to convert and use Cogl format
...
Convert the CoglPixelFormat format to a DRM format, and try
and use it to create a GBM buffer.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Georges Basile Stavracas Neto
b814aff600
common/drm-formats: Add function to map Cogl → DRM
...
It's basically the reverse mapping. It does not deal with
multiplanar formats.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Georges Basile Stavracas Neto
fdc3f3fec3
cogl/renderer: Pass pixel format to DMA-BUF constructor
...
In future commits, we will want to create DMA-BUFs with pixel
formats other than COGL_PIXEL_FORMAT_BGRX_8888. In preparation
for that, let's start passing a new pixel format parameter to
this function, and the corresponding winsys vfunc.
All callers of this function pass COGL_PIXEL_FORMAT_BGRX_8888
for now. Next commits will change that.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Georges Basile Stavracas Neto
14ed29e7b2
renderer/native: Trivial variable rename
...
Rename 'format' to 'drm_format' to not clash with following
commits.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3175 >
2023-08-19 23:00:28 -03:00
Sebastian Keller
73bc074917
core: Destroy the correct opaque region when destroying a frame
...
Freeing the window opaque region rather than the frame one when was
leaking the frame opaque region and wrongly setting the window opaque
region to NULL.
Fixes: 82b2b7688
("core: Add infrastructure to keep window frames' opaque regions")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3188 >
2023-08-17 00:00:55 +02:00
Sebastian Keller
f57c239a26
kms/cursor-manager: Free struct in meta_kms_cursor_manager_impl_free()
...
The free function was not actually freeing anything, which was causing a
small leak.
Fixes: 6d873036e
("Add KMS cursor manager")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3188 >
2023-08-17 00:00:39 +02:00
Sebastian Keller
5fdb6a847f
kms/update: Free struct in meta_kms_crtc_color_updates_free()
...
The free function was only freeing the structs its members were pointing
to, but not the struct itself, causing a small leak.
Fixes: 0180ffdaa
("backends/native: Introduce MetaKmsCrtcColorUpdate")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3188 >
2023-08-16 21:24:28 +02:00
Sebastian Keller
193a21c601
surface-actor-wayland: Fix leak in apply_transform()
...
Using g_object_get() to get the allocation creates a copy that needs to
be freed by the caller.
Fixes: e94b52777
("surface-actor/wayland: Implement stable size and position rounding")
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3188 >
2023-08-16 21:24:28 +02:00
Sebastian Keller
03ba3a825e
context: Fix a small leak in meta_context_main_get_x11_display_policy()
...
The caller of sd_pid_get_user_unit() is supposed to free the unit name
string.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3188 >
2023-08-16 21:24:28 +02:00
Carlos Garnacho
90a00dae99
compositor: Handle grab state through ClutterStage::is-grabbed handler
...
This is something the compositor could now track by itself, instead of
being pushed through events. It also makes more sense to do this directly
when the grabbing conditions change, as opposed to the next event.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
0b9f5ae75b
tests: Add test case for restoring focus after overview
...
This is a test case for
https://gitlab.gnome.org/GNOME/mutter/-/issues/2690 .
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
05eeb684d1
window: Postpone focusing until grab ended if uninteractable
...
When GNOME Shell is in the overview, we don't want windows to steal
focus left and right, but once we leave the overview, we do want
whatever was mapped with "take_focus" to get focus. Do that, but after
the last grab was dismissed.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2690
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
587c31b611
tests/test-runner: Add toggle_overview
command
...
This will emit the `overlay-key` key which will be handled by the test
shell.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
8268ec2ee8
tests/test-shell: Emulate overview grabs
...
This mimics what gnome-shell does when the overview is shown. This means
having a grab active, and setting the keyboard focus to the stage
itself.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
524c9aa458
tests: Introduce and use a custom test shell
...
Except for the tests that launches `mutter`, use a custom shell
implementation. It's roughly a copy of default.c with some cleanups on
top. A custom shell allows for a bit more freedom when doing testy
things.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3185 >
2023-08-16 15:34:46 +00:00
Jonas Ådahl
92051d59a6
constraint: Use WxH format for size in debug logs
...
Whether W,H or +W,H means "size" or "position" is rather unclear; fix
that by formating size as WxH instead of +W,H.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3124 >
2023-08-12 21:11:15 +00:00
Bilal Elmoussaoui
cd27cb5c85
cleanup: Fix various typos
...
Using the typos cli app
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3169 >
2023-08-12 20:13:37 +00:00
Michel Dänzer
04f18ae726
backend/x11: Free barriers in meta_backend_x11_dispose
...
Should fix a memory leak.
Fixes: 0debb24e12
("barriers: Make barriers fully part of the
backend").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
b081e51a21
Remove unused meta_x11_display_increment_event_serial
...
Unused since dfcefd3315
("Remove meta_core_increment_event_serial").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
1a5fb51396
Remove unused meta_window_x11_has_active_sync_alarms
...
Never used AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
75a7870259
Remove unused meta_wayland_tablet_pad_group_lookup_resource
...
Never used AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
76c5eb0060
Remove unused meta_wayland_pointer_constraint_get_seat
...
Unused since 8a8d47725c
("backends: Delegate pointer confinements to
an impl object").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
09feed5d21
Remove unused meta_wayland_data_device_is_dnd_surface
...
Unused since 6ec7fa2cbd
("wayland: Use surface role when special
casing surface commits").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
16e8bb34de
Remove unused meta_stack_get_bottom
...
Unused since 1b3a58c951
("...").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
830f8fcf06
Remove unused meta_seat_x11_lookup_device_id
...
Unused since d72bacb3cd
("backends/x11: Drop handling of
XI_DeviceChange").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
58326c85a4
Remove unused meta_seat_impl_get_devices_in_impl
...
Never used AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
43716457d1
Remove unused meta_renderer_x11_nested_ensure_legacy_view
...
Unused since fc8a4afc45
("Remove meta_is_stage_views_enabled()").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
3b847f28ad
Remove unused meta_region_scale_double
...
Unused since 8b3c1f4b87
("cullable: Generalize actor coordinates space
translation for regions").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
65add94bfd
Remove unused meta_rectangle_edge_to_string
...
Unused since 52bc675fcb
("introspection: remove --allow-unprefixed")
(if ever used at all).
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
15df7c62a3
Remove unused meta_power_save_to_dpms_state
...
Unused since 5f6aee3419
("kms/update: Make power saving an update wide
change").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
c3afdefd15
Remove unused meta_output_is_laptop
...
Unused since cbb2a286f2
("monitor-manager: Don't use wacky physical
dimensions in display name").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
d3ec28848b
Remove unused meta_monitor_get_crtc_mode_for_output
...
Unused since e52641c4b6
("cursor-renderer/native: Replace HW cursor
with KMS cursor manager").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
7f9b71cd42
Remove unused meta_kms_update_drop_plane_assignment
...
Unused since 02b1cfe08f
("onscreen/native: Handle unexpected scanout
failures async").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
f4b8704ae9
Remove unused meta_keymap_x11_get_key_group
...
Unused since 09b956997c
("backends/x11: Drop platform-specific event
data").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
fbe904471c
Remove unused meta_get_renderer_native_parent_vtable
...
Unused since fe72876b20
("cogl/onscreen: Make swap_buffer/region
CoglOnscreen class vfuncs").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
a9b42c5c10
Remove unused meta_frame_native_set_kms_update
...
Never used AFAICT.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
a828eab13c
Remove unused meta_crtc_kms_is_gamma_invalid
...
Unused since 24bdafa220
("onscreen/native: Track GAMMA_LUT
invalidations here").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
3bf3b14e3f
Remove unused meta_crtc_kms_get/set_cursor_renderer_private
...
Unused since e52641c4b6
("cursor-renderer/native: Replace HW cursor
with KMS cursor manager").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
bdad097af1
Remove unused *_menu_for_rect functions
...
Unused since 84785951fd
("x11: Remove MetaX11WindowControl").
v2:
* Leave struct _MetaPluginClass::show_window_menu_for_rect, still used
by gnome-shell.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
63a7313a1b
compositor: Fold meta_compositor_do_manage into meta_compositor_manage
...
meta_compositor_manage hasn't been public API since 4b3cab2cca
("compositor: Don't make internal API public").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
bf53623128
Remove unused meta_clutter_x11_get_root_window declaration
...
The corresponding definition was removed in e4e0eaac9d
("clutter/backend/x11: Stop keeping track of the screen and root window").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Michel Dänzer
b0c6864b28
Remove unused meta_stack_get/set_positions
...
Unused since 9e51d98f4a
("Remove tabpopup and friends").
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3154 >
2023-08-12 19:53:46 +00:00
Bilal Elmoussaoui
f2f9e63568
build/gi: Set header & pkgconfig names
...
So that the docs generated by gi-docgen contains them
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3087 >
2023-08-12 19:34:20 +00:00
msizanoen
6b79a0bae1
cullable: Split unobscured and redraw clip region culling
...
This splits culling into two different phases to move unobscured region
culling to pre-paint to fix #2680 . This is needed as direct scanout
skips the paint phase altogether, but the pre-paint phase always runs as
it's used for selecting the direct scanout surface.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3127 >
2023-08-12 10:27:45 +00:00
Carlos Garnacho
1d6d8d45d0
clutter: Update ClutterActorClass event vmethods to use ClutterEvent
...
With the ClutterEvent subtype structs sealed, this remains the only useful
struct type that is now usable on the Javascript side. Make all
ClutterActorClass event vmethods use ClutterEvent, and update all users
to this change.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3163 >
2023-08-09 11:53:18 +00:00
Carlos Garnacho
f168866369
backends/native: Fix handling order of key event
...
First create the event with the current xkb modifier mask, then
update the xkb_state and the modifier mask. This is how it happened
before commit 2e8d839708
, and how it should stay.
Fixes: 2e8d839708
("backends/native: Port to new event constructors")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2951
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3162 >
2023-08-09 11:36:42 +00:00
Carlos Garnacho
dc527ed510
backends/native: Close the input thread in all situations on dispose
...
In test situations we sometimes do not create a libinput context, so
our check on dispose to see if we need closing the input thread is off
if META_SEAT_NATIVE_FLAG_NO_LIBINPUT was provided.
Check the input thread existing instead, since that is the thing we
want to undo here.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
ba4795a5f9
tests: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
60aa098e94
backends/x11: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
dbbfd03436
backends/native: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
8f3e503c04
backends: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
64490c3489
wayland: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
71fb87a9f2
compositor: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:13 +02:00
Carlos Garnacho
17191d5a6c
core: Use ClutterEvent getter methods
...
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:11:11 +02:00
Carlos Garnacho
9dd2edac18
clutter: Add private call to describe an event
...
Move the string construction bits in the event logging happening in
MetaSeatImpl to a clutter_event_describe() call, so that it has more
freedom in fiddling with ClutterEvent internals, and may be potentially
reused in other places.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:02:54 +02:00
Carlos Garnacho
97213041e8
clutter: Add getters/arguments for missed ClutterEvent fields
...
Add methods, and change the API of some rarely used methods, in order
to make all event info currently held/necessary accessible through
ClutterEvent getters, instead of direct field access.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:02:54 +02:00
Carlos Garnacho
562c5532c4
backends/native: Rewrite event for sticky keys
...
Avoid modifying the event in place, and use a full copy with changed
modifiers, for sticky keys purposes.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153 >
2023-08-08 04:02:54 +02:00