layout: Don't build input region rects on Wayland

This is an X11-specific routine, and building the list of input region rects
on Wayland is a waste, since it incurs in many trampolines only to throw them
in the trash.

Don't build input region rects on Wayland. By modifying the 'wantsInputRegion'
variable, it also skips actors that only update input, which is another small
optimization for Wayland.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1678>
This commit is contained in:
Georges Basile Stavracas Neto 2021-02-25 10:31:47 -03:00 committed by Marge Bot
parent ba0b9239d3
commit bc0974618f

View File

@ -959,7 +959,10 @@ var LayoutManager = GObject.registerClass({
let rects = [], struts = [], i; let rects = [], struts = [], i;
let isPopupMenuVisible = global.top_window_group.get_children().some(isPopupMetaWindow); let isPopupMenuVisible = global.top_window_group.get_children().some(isPopupMetaWindow);
const wantsInputRegion = !isPopupMenuVisible && Main.modalCount === 0; const wantsInputRegion =
!isPopupMenuVisible &&
Main.modalCount === 0 &&
!Meta.is_wayland_compositor();
for (i = 0; i < this._trackedActors.length; i++) { for (i = 0; i < this._trackedActors.length; i++) {
let actorData = this._trackedActors[i]; let actorData = this._trackedActors[i];