1
0
Fork 0
A repository that has original source for patches used in the Arch User Repository package called "mutter-performance". https://aur.archlinux.org/packages/mutter-performance
Find a file
Sebastian Keller d8af06fe49 x11/window: Compare input shape to client rect when undecorating
When a window with an input shape on its decoration window becomes
undecorated and meta_window_x11_update_input_region() gets called via
notify::decorated, the buffer_rect of the window has not been updated
yet while the decorated property has. This would lead to us comparing
the input shape of the client window to the buffer_rect which still
includes the decoration window. This would fail to detect the common
case when the client window has no input shape set, leading to the input
region being set to the size of the client window rather than NULL. If
the window is then resized later, the input shape would remain at the
previous size.

This was not a problem before 6bd920b35, because then we were (wrongly)
always comparing to the client_rect.

Fix this by choosing the correct rect for comparison depending on
whether the window is decorated.

Fixes: 6bd920b35 ("x11/window: Use correct bounding rect to determine NULL input region")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/3451
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3720>
(cherry picked from commit 1f1538be76)
2024-05-23 20:24:34 +00:00
.gitlab/issue_templates gitlab: Add missing < in markdown comment tag 2020-02-14 03:10:28 +00:00
.gitlab-ci ci: Check repo sanity 2024-04-02 11:16:31 +02:00
clutter clutter: Make low-level picking function private to ClutterStage 2024-04-17 14:28:14 +00:00
cogl cogl/onscreen: Add cogl_onscreen_egl_maybe_create_timestamp_query 2024-04-10 11:17:23 +02:00
data dbus-interfaces: Fix layout-mode comment 2024-04-05 13:45:01 +00:00
doc clutter/frame-clock: Add a state for when scheduled "now" 2024-02-10 16:16:19 +00:00
meson build: Replace custom post-install script 2022-11-19 02:21:05 +01:00
mtk mtk/rectangle: Add auto-cleanup integration 2024-04-15 16:48:04 +00:00
po Update Brazilian Portuguese translation 2024-05-15 12:48:10 +00:00
src x11/window: Compare input shape to client rect when undecorating 2024-05-23 20:24:34 +00:00
subprojects docs: Prefer using gi-docgen from a subproject 2024-02-09 12:29:50 +00:00
tools tools/uncrustify: Fix invalid align_nl_cont value 2024-03-12 12:48:20 +10:00
.gitignore misc: Add common noisy dirs to gitignore 2024-01-08 19:53:57 +01:00
.gitlab-ci.yml ci: Run gnome-shell tests with the timeout multiplier set to 5 2024-05-23 20:24:34 +00:00
check-style.py check-style: Force the default prefix in git diff 2024-03-12 12:47:56 +10:00
config.h.meson wayland: Add MetaDrmTimeline 2024-03-28 13:27:42 -04:00
COPYING Updated obsolete FSF postal address in COPYING 2014-01-12 08:44:30 +07:00
logo.svg docs: Add a logo 2024-01-09 13:38:54 +00:00
meson.build Bump version to 46.1 2024-04-19 19:48:34 +02:00
meson_options.txt meson: Make libdisplay_info a feature option 2024-02-14 11:37:21 +00:00
mutter.doap DOAP: Remove defunct mailing list; add Discourse 2023-09-15 03:19:22 +02:00
NEWS Bump version to 46.1 2024-04-19 19:48:34 +02:00
README.md misc: Use the new mutter.gnome.org URL 2024-01-12 10:48:20 +00:00

Mutter

Mutter is a Wayland display server and X11 window manager and compositor library.

When used as a Wayland display server, it runs on top of KMS and libinput. It implements the compositor side of the Wayland core protocol as well as various protocol extensions. It also has functionality related to running X11 applications using Xwayland.

When used on top of Xorg it acts as a X11 window manager and compositing manager.

It contains functionality related to, among other things, window management, window compositing, focus tracking, workspace management, keybindings and monitor configuration.

Internally it uses a fork of Cogl, a hardware acceleration abstraction library used to simplify usage of OpenGL pipelines, as well as a fork of Clutter, a scene graph and user interface toolkit.

Mutter is used by, for example, GNOME Shell, the GNOME core user interface, and by Gala, elementary OS's window manager. It can also be run standalone, using the command "mutter", but just running plain mutter is only intended for debugging purposes.

Contributing

To contribute, open merge requests at https://gitlab.gnome.org/GNOME/mutter.

It can be useful to first look at the GNOME Handbook and the documentation and API references below first.

Documentation

API Reference

License

Mutter is distributed under the terms of the GNU General Public License, version 2 or later. See the COPYING file for detalis.