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
03ee48094e
clutter/stage: Add is-grabbed property
...
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
Carlos Garnacho
be3bca01a7
clutter: Check that pointer has coordinates prior to repick
...
This might fail during initialization, or after first pointer
interaction on a pointer-less (e.g. touch-only) session.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2964
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3183 >
2023-08-15 22:46:08 +00:00
Carlos Garnacho
88af55b857
clutter: Add boolean return value to clutter_stage_get_device_coords()
...
The device/sequence may not currently have a set of coordinates to return.
We correctly leave the out values uninitialized, but don't tell the upper
layers in any way.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3183 >
2023-08-15 22:46:08 +00:00
Florian Müllner
1da1b00de4
ci: Rebase image to F39
...
F39 has been branched, so we can use it as base of our CI image
and reduce the number of custom built components.
This will also help if gjs adds support for import maps and
gnome-shell bumps its gjs dependency to use it, as F39
already includes the new mozjs version that gjs now uses.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3173 >
2023-08-15 00:28:47 +02:00
Florian Müllner
8cca27c831
ci: Use sudo to run meson install
...
Meson stopped using polkit for automatic priviledge elevation, and
will no longer attempt any priviledge elevation when not running
interactively.
Running the entire install command as root used to be problematic
in the past, as it could result in ownership changes of files in
the build directory that would result in build failures later,
but the aforementioned change leaves us with little choice.
Presumably those issues have been fixed, let's hope that's true.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3173 >
2023-08-14 15:05:59 +02: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
Sabri Ünal
40de265f90
Update Turkish translation
2023-08-12 09:10:35 +00:00
Kukuh Syafaat
d7b3a088e1
Update Indonesian translation
2023-08-11 12:09:29 +00:00
Carlos Garnacho
cbd5ca2ca1
Bump version to 45.beta.1
...
Update NEWS
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3172 >
2023-08-11 01:11:31 +02:00
Carlos Garnacho
4d76a21029
clutter: Trigger repick on animation-less transform changes
...
We have a mechanism to trigger repick after animations on
clutter_actor_set_final_state(), but this will not happen if
animations are disabled.
In this case, shell transitions and other typically animatable
changes on the transform of actors will not naturally trigger
a pointer repick when those get instantly changed to the final
state, possibly preserving the cached state and missing the
just popped in actor altogether.
Trigger an instant repick on animation-less transform changes,
so that these situations are also handled correctly, and the
pointer drops the cached state and is able to find the new
actor.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2918
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3168 >
2023-08-10 21:18:56 +00:00
Carlos Garnacho
d99407b2e8
clutter: Drop misguided assert
...
The clutter_seat_handle_event_post() function wants to handle
CLUTTER_DEVICE_ADDED/REMOVED to perform signal emission, but
checks (and asserts) that every event going through it has a
source device.
This is no longer quite true for IM events (they are attached
to the ClutterSeat's keyboard, not a HW device), so the assert
can now fire off (of course undesiredly).
But anyways, for events built through
clutter_event_device_notification_new() (the ones this function
is interested in, after all), it is already a precondition check
that the device is proper at the time of creating the event, so
asserting for it here is redundant.
We can drop this overly generic assert, this is already ensured
for the events that matter, anyways.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3167 >
2023-08-09 14:40:58 +02: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