mutter/src/wayland
msizanoen b6802e1f00 wayland-surface: Fix get_absolute_coordinates() for active transition cases
Currently, we blindly apply the transformation matrices of all parent
actors when calculating the absolute coordinates. This means if this
function is called while the window actor containing the surface is in
the middle of a transition (e.g. window open animation), it may return
incorrect values. As this function is used for calculating pointer
confinement bounds for a specific surface, this will result in incorrect
bounds value being used if pointer constraints are applied by the
application at the same time the window is created and the mouse is
inside the surface's bounds when it's created.

Fix this by only applying transformation matrices up to the window actor
of the surface and then calculating the absolute coordinates by adding
the position of the window actor.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3585>
2024-02-15 13:20:33 +00:00
..
protocol wayland: Add X11 interop service client protocol 2023-02-13 15:34:24 +00:00
meta-cursor-sprite-wayland.c cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-sprite-wayland.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-pointer-confinement-wayland.c backends/native: Allow infinitely small pointer constraint regions 2024-02-13 12:36:26 +01:00
meta-pointer-confinement-wayland.h Update license access method 2023-08-30 08:48:23 +02:00
meta-pointer-lock-wayland.c backends/native: Allow infinitely small pointer constraint regions 2024-02-13 12:36:26 +01:00
meta-pointer-lock-wayland.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-wayland-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-selection-source-wayland.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-activation.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-activation.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-actor-surface.c region: Move RegionBuilder to Mtk 2024-01-09 18:47:34 +00:00
meta-wayland-actor-surface.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-buffer.c crtc/kms: Pass on src and dst rects to primary plane assignments 2024-02-10 17:41:12 +00:00
meta-wayland-buffer.h crtc/kms: Pass on src and dst rects to primary plane assignments 2024-02-10 17:41:12 +00:00
meta-wayland-client-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-client.c docs: Remove remaining SECTIONs 2024-01-09 15:23:04 +00:00
meta-wayland-cursor-surface.c wayland/surface: Track committed and applied scale separately 2023-12-18 21:56:59 +00:00
meta-wayland-cursor-surface.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-data-device-primary.c wayland: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-wayland-data-device-primary.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-data-device.c wayland: Update DnD surface scale according to correct device 2024-02-13 12:36:26 +01:00
meta-wayland-data-device.h wayland: Allow XDnD with other devices than the pointer 2024-02-13 12:36:26 +01:00
meta-wayland-data-offer-primary.c wayland: Do not trigger focus sync when destroying data offers 2023-09-06 10:55:55 +00:00
meta-wayland-data-offer-primary.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
meta-wayland-data-offer.c wayland: Do not trigger focus sync when destroying data offers 2023-09-06 10:55:55 +00:00
meta-wayland-data-offer.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-data-source-primary.c wayland: Add support for wayland-protocols primary selection protocol 2020-05-13 18:27:46 +02:00
meta-wayland-data-source-primary.h cleanup: Make include macro usages consistent 2023-08-07 22:24:36 +00:00
meta-wayland-data-source.c cleanup: Stop translating nick/blurb for pspecs 2023-07-19 11:33:59 +00:00
meta-wayland-data-source.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-dma-buf.c crtc/kms: Pass on src and dst rects to primary plane assignments 2024-02-10 17:41:12 +00:00
meta-wayland-dma-buf.h crtc/kms: Pass on src and dst rects to primary plane assignments 2024-02-10 17:41:12 +00:00
meta-wayland-dnd-surface.c wayland: Update DnD surface scale according to correct device 2024-02-13 12:36:26 +01:00
meta-wayland-dnd-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-egl-stream.c cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
meta-wayland-egl-stream.h cogl: Port Texture* away from CoglObject 2023-10-29 21:16:24 +00:00
meta-wayland-filter-manager.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-filter-manager.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-fractional-scale.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-fractional-scale.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-gtk-shell.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-gtk-shell.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-idle-inhibit.c tree-wide: Fix spelling of "inhibition" 2023-12-06 16:01:36 +00:00
meta-wayland-idle-inhibit.h wayland: Implement idle inhibit protocol 2023-08-26 20:19:22 +02:00
meta-wayland-inhibit-shortcuts-dialog.c cleanup: Use g_clear_signal_handler() where possible 2019-11-21 15:02:27 +00:00
meta-wayland-inhibit-shortcuts-dialog.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-inhibit-shortcuts.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-inhibit-shortcuts.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-input-device.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-input-device.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-input.c wayland: Add argument to grab when attaching MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-wayland-input.h wayland: Add argument to grab when attaching MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-wayland-keyboard.c wayland: Drop keyboard grab interface 2024-02-13 12:36:26 +01:00
meta-wayland-keyboard.h wayland: Drop keyboard grab interface 2024-02-13 12:36:26 +01:00
meta-wayland-legacy-xdg-foreign.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-legacy-xdg-foreign.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-outputs.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-outputs.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-pointer-constraints.c wayland: Add argument to grab when attaching MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-wayland-pointer-constraints.h Port to MtkRegion 2023-11-03 11:27:52 +00:00
meta-wayland-pointer-gesture-hold.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-hold.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gesture-pinch.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-pinch.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gesture-swipe.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-pointer-gesture-swipe.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer-gestures.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-pointer-gestures.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-pointer.c wayland: Return boolean value handling pointer events 2024-02-13 12:36:27 +01:00
meta-wayland-pointer.h wayland: Avoid sending wl_pointer.motion on unchanged coordinates 2024-02-13 12:36:26 +01:00
meta-wayland-popup.c wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-wayland-popup.h wayland: Port popup grabs to MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-wayland-presentation-time-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-presentation-time.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-private.h wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-region.c wayland: Rename peek_cairo_region to peek_region 2023-11-03 11:27:52 +00:00
meta-wayland-region.h wayland: Rename peek_cairo_region to peek_region 2023-11-03 11:27:52 +00:00
meta-wayland-seat.c wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-wayland-seat.h wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-wayland-shell-surface.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-shell-surface.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-single-pixel-buffer.c wayland/single-pixel: Add API to check if buffer is opaque black 2024-02-10 17:41:12 +00:00
meta-wayland-single-pixel-buffer.h wayland/single-pixel: Add API to check if buffer is opaque black 2024-02-10 17:41:12 +00:00
meta-wayland-subsurface.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-subsurface.h wayland/subsurface: Drop unapplied subsurface state on unmap 2023-11-08 09:47:57 +00:00
meta-wayland-surface-private.h wayland: Implement direct scanout for cropped and scaled surfaces 2024-02-10 17:41:12 +00:00
meta-wayland-surface.c wayland-surface: Fix get_absolute_coordinates() for active transition cases 2024-02-15 13:20:33 +00:00
meta-wayland-tablet-cursor-surface.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-cursor-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-manager.c wayland: Make MetaWaylandSeat in charge of its own tablet seat 2024-02-13 01:01:48 +01:00
meta-wayland-tablet-manager.h wayland: Make MetaWaylandSeat in charge of its own tablet seat 2024-02-13 01:01:48 +01:00
meta-wayland-tablet-pad-group.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-group.h Remove unused meta_wayland_tablet_pad_group_lookup_resource 2023-08-12 19:53:46 +00:00
meta-wayland-tablet-pad-ring.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-ring.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-pad-strip.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad-strip.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-pad.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet-pad.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-tablet-seat.c wayland: Add API to change a tool focus surface 2024-02-13 01:01:48 +01:00
meta-wayland-tablet-seat.h wayland: Add API to change a tool focus surface 2024-02-13 01:01:48 +01:00
meta-wayland-tablet-tool.c wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-wayland-tablet-tool.h wayland: Add API to change a tool focus surface 2024-02-13 01:01:48 +01:00
meta-wayland-tablet.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-tablet.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-wayland-text-input.c wayland: Restore IM state flushing before handling key events 2024-01-27 10:18:40 +00:00
meta-wayland-text-input.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-touch.c wayland: Add getter for the implicitly grabbed surface of a touch sequence 2024-02-13 01:01:48 +01:00
meta-wayland-touch.h wayland: Add getter for the implicitly grabbed surface of a touch sequence 2024-02-13 01:01:48 +01:00
meta-wayland-transaction.c wayland/surface: Rename output/protocol_state to applied/committed_state 2023-11-15 10:55:21 +00:00
meta-wayland-transaction.h wayland/subsurface: Drop unapplied subsurface state on unmap 2023-11-08 09:47:57 +00:00
meta-wayland-types.h wayland: Drop pointer grab interface 2024-02-13 12:36:26 +01:00
meta-wayland-versions.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-viewporter.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-viewporter.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-window-configuration.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-window-configuration.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-wayland-x11-interop.c wayland/surface: Make MetaWaylandSurface public 2023-11-04 01:12:11 +00:00
meta-wayland-x11-interop.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign.c Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-foreign.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland-xdg-shell.c wayland: Port popup grabs to MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-wayland-xdg-shell.h Update license access method 2023-08-30 08:48:23 +02:00
meta-wayland.c wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-wayland.h wayland: Make use of Wayland event grabbing mechanism 2024-02-13 12:36:26 +01:00
meta-window-wayland.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-window-wayland.h mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-window-xwayland.c x11: Drop error trap helpers 2024-01-10 13:58:18 +00:00
meta-window-xwayland.h cleanup: Switch to pragma once 2023-08-07 22:24:36 +00:00
meta-xwayland-dnd-private.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland-dnd.c wayland: Allow XDnD with other devices than the pointer 2024-02-13 12:36:26 +01:00
meta-xwayland-grab-keyboard.c wayland: Add argument to grab when attaching MetaWaylandEventInterface 2024-02-13 12:36:26 +01:00
meta-xwayland-grab-keyboard.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland-private.h xwayland: Add EI portal support to the Xwayland manager 2023-10-09 07:36:52 +00:00
meta-xwayland-surface.c mutter: Completely replace MetaRectangle with MtkRectangle 2023-08-30 16:46:14 +02:00
meta-xwayland-surface.h Update license access method 2023-08-30 08:48:23 +02:00
meta-xwayland.c wayland: Use MetaWaylandCompositor API to drive focus synchronization 2024-01-12 14:39:17 +00:00
meta-xwayland.h Update license access method 2023-08-30 08:48:23 +02:00