mutter/clutter/clutter
Carlos Garnacho 550b66d4e6 clutter/actor: Handle repicks when actors become reactive
The notification list in the GNOME Shell calendar popup triggers some
interesting interactions when closing a notification:

- Close button is clicked
- The notification animates to be hidden
- The next notification ends up hovered as a result of the animation
- The notification being hovered sets its close button as non-transparent
  and reactive
- The pointer is now again over a close button

At this point the reactiveness change should trigger a repick, so that
the new notification's close button is picked, and future button presses
are directed to it, but we do not handle this situation.

To fix this, handle actors becoming reactive so that if the closest
reactive parent has a pointer, it will be repicked again just in case
the pointer is over the newly reactive actor.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2364
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2532>
2022-07-26 14:18:13 +00:00
..
cally cally: Get key focus from stage instead of event 2022-03-04 10:58:28 +00:00
deprecated clutter/box-layout: Deprecate :pack-start 2022-01-07 21:14:09 +00:00
clutter-action-private.h clutter: Add handle_event vfunc to ClutterAction 2021-10-29 00:27:18 +02:00
clutter-action.c clutter: Add handle_event vfunc to ClutterAction 2021-10-29 00:27:18 +02:00
clutter-action.h clutter: Add handle_event vfunc to ClutterAction 2021-10-29 00:27:18 +02:00
clutter-actor-box-private.h
clutter-actor-box.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-actor-meta-private.h
clutter-actor-meta.c clutter/actor-meta: Notify actor property on changes 2022-04-24 12:24:01 +00:00
clutter-actor-meta.h clutter/actor-meta: Use G_DECLARE_DERIVABLE_TYPE 2020-05-22 08:56:23 +00:00
clutter-actor-private.h clutter: Carry accounting of grabs in the ClutterActors holding them 2022-01-11 16:13:39 +00:00
clutter-actor.c clutter/actor: Handle repicks when actors become reactive 2022-07-26 14:18:13 +00:00
clutter-actor.h clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
clutter-align-constraint.c clutter/align-constraint: Don't take source actors position into account 2020-06-10 19:20:32 +00:00
clutter-align-constraint.h clutter/align-constraint: Add pivot-point property 2020-06-10 19:20:32 +00:00
clutter-animatable.c clutter/animatable: Add way to get an actor from an animatable 2020-07-02 19:36:51 +02:00
clutter-animatable.h clutter/animatable: Add way to get an actor from an animatable 2020-07-02 19:36:51 +02:00
clutter-autocleanups.h clutter/image: Port to G_DECLARE_DERIVABLE_TYPE 2022-05-31 16:28:13 -03:00
clutter-backend-private.h clutter: Remove 'features' 2022-06-03 12:57:31 +00:00
clutter-backend.c backend: Make get_cogl_context introspectable 2022-05-31 11:38:20 +00:00
clutter-backend.h clutter: Remove leftovers from backend code in build system 2021-07-16 19:08:06 +02:00
clutter-base-types.c clutter/base-types: Remove weird random unicode char 2022-03-05 09:51:44 +00:00
clutter-bezier.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-bezier.h
clutter-bin-layout.c clutter: Remove allocation flags 2020-05-20 12:50:31 +00:00
clutter-bin-layout.h
clutter-bind-constraint.c Drop ClutterRectangle 2020-06-27 13:35:46 +00:00
clutter-bind-constraint.h
clutter-binding-pool.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-binding-pool.h
clutter-blur-effect.c Remove checks for GLSL 2022-06-03 12:57:31 +00:00
clutter-blur-effect.h
clutter-blur-private.h clutter/blur: Make sigma a float 2020-12-17 13:21:50 +00:00
clutter-blur.c clutter/blur: Select a better n_steps 2020-12-17 13:21:50 +00:00
clutter-box-layout.c clutter/box-layout: Don't cast children sizes to integers 2022-02-14 14:24:41 +00:00
clutter-box-layout.h clutter/box-layout: Deprecate :pack-start 2022-01-07 21:14:09 +00:00
clutter-brightness-contrast-effect.c Remove checks for GLSL 2022-06-03 12:57:31 +00:00
clutter-brightness-contrast-effect.h
clutter-build-config.h.meson clutter: Remove leftovers from backend code in build system 2021-07-16 19:08:06 +02:00
clutter-cairo.c
clutter-cairo.h
clutter-canvas.c clutter/canvas: Use cogl_texture_2d_new_from_bitmap 2022-05-31 16:25:11 -03:00
clutter-canvas.h clutter/canvas: Implement clutter_canvas_{get,set}_scale_factor 2019-03-01 17:46:49 +00:00
clutter-child-meta.c
clutter-child-meta.h
clutter-click-action.c clutter/click-action: Fix a couple of fall-through warnings 2022-03-04 23:12:24 +00:00
clutter-click-action.h clutter: Use G_DECLARE_DERIVABLE_TYPE for ClutterAction and subclasses 2020-05-22 08:56:23 +00:00
clutter-clone.c clutter: Remove CLUTTER_ENABLE_EXPERIMENTAL_API 2021-02-05 17:05:19 +00:00
clutter-clone.h
clutter-color-state.c clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
clutter-color-state.h clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
clutter-color-static.h
clutter-color.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-color.h
clutter-colorize-effect.c Remove checks for GLSL 2022-06-03 12:57:31 +00:00
clutter-colorize-effect.h
clutter-constraint-private.h clutter: Make clutter_contraint_update_preferred_size() public 2020-02-19 11:57:05 +00:00
clutter-constraint.c clutter/constraint: Override ClutterActorMeta.set_enabled 2020-04-08 12:14:00 -03:00
clutter-constraint.h clutter: Make clutter_contraint_update_preferred_size() public 2020-02-19 11:57:05 +00:00
clutter-container-private.h clutter: avoid g_signal_emit_by_name() from ClutterActor 2020-02-24 22:36:27 +00:00
clutter-container.c clutter/container: Remove clutter_container_get_children 2021-10-15 14:22:37 -03:00
clutter-container.h clutter/container: Remove clutter_container_raise_child 2021-10-15 14:22:37 -03:00
clutter-content-private.h clutter: Introduce paint contexts 2019-12-03 19:02:14 +00:00
clutter-content.c clutter/content: Mark optional parameters as such in annotation 2021-11-08 15:46:09 +00:00
clutter-content.h clutter: Introduce paint contexts 2019-12-03 19:02:14 +00:00
clutter-damage-history.c clutter/stage-cogl: Extract damage history logic 2020-05-26 13:54:28 +00:00
clutter-damage-history.h clutter: Make ClutterDamageHistory API public to mutter 2021-07-16 19:08:06 +02:00
clutter-debug.h clutter: Don't log filenames in debugging mode 2022-05-04 19:36:46 +00:00
clutter-deform-effect.c clutter: Remove CLUTTER_ENABLE_EXPERIMENTAL_API 2021-02-05 17:05:19 +00:00
clutter-deform-effect.h
clutter-deprecated.h clutter/box-layout: Deprecate :pack-start 2022-01-07 21:14:09 +00:00
clutter-desaturate-effect.c Remove checks for GLSL 2022-06-03 12:57:31 +00:00
clutter-desaturate-effect.h
clutter-easing.c
clutter-easing.h
clutter-effect-private.h clutter/effect: Move ClutterEffect creation to ClutterActor 2020-12-15 12:07:57 -03:00
clutter-effect.c clutter/effect: Don't call effect paint_node() if pre_paint() failed 2021-01-02 19:00:39 +00:00
clutter-effect.h clutter/effect: Add paint nodes to all paint vfuncs 2020-12-15 11:48:28 -03:00
clutter-enum-types.c.in clutter: Drop "volatile" from static GTypes in manual registration 2021-03-22 10:47:51 +00:00
clutter-enum-types.h.in enum-types: Use @basename@ in header comment 2019-06-12 18:01:36 +02:00
clutter-enums.h clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
clutter-event-private.h clutter: Pass target actor of events to event filter functions 2022-03-21 23:08:40 +00:00
clutter-event.c clutter: Pass target actor of events to event filter functions 2022-03-21 23:08:40 +00:00
clutter-event.h clutter: Make ClutterIMEvent able to store preedit anchor position 2022-07-19 11:04:56 +00:00
clutter-fixed-layout.c clutter/fixed-layout: Ignore hidden children in size request 2022-07-06 18:57:12 +00:00
clutter-fixed-layout.h
clutter-flatten-effect.c
clutter-flatten-effect.h
clutter-flow-layout.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-flow-layout.h
clutter-frame-clock.c frame-clock: Fix constant type of condition 2022-06-02 17:19:42 +00:00
clutter-frame-clock.h clutter: Remove unused time_us parameter from ClutterFrameListenerIface 2022-01-05 15:57:45 +00:00
clutter-frame-private.h clutter: Introduce ClutterFrame 2021-01-22 16:47:08 +00:00
clutter-frame.c clutter: Introduce ClutterFrame 2021-01-22 16:47:08 +00:00
clutter-frame.h clutter: Introduce ClutterFrame 2021-01-22 16:47:08 +00:00
clutter-gesture-action-private.h
clutter-gesture-action.c clutter: Always unregister point on GRAB_NOTIFY leave event 2022-03-28 17:11:02 +00:00
clutter-gesture-action.h clutter: Use G_DECLARE_DERIVABLE_TYPE for ClutterAction and subclasses 2020-05-22 08:56:23 +00:00
clutter-grab.h clutter: Add docs and introspection annotations to grabs 2022-01-29 00:37:14 +00:00
clutter-graphene.c clutter: Register progress function for graphene_matrix_t 2020-10-06 15:34:47 +00:00
clutter-graphene.h Replace ClutterVertex by graphene_point3d_t 2019-10-16 11:38:13 +00:00
clutter-grid-layout.c clutter: Remove allocation flags 2020-05-20 12:50:31 +00:00
clutter-grid-layout.h
clutter-id-pool.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-id-pool.h
clutter-image.c clutter/image: Port to G_DECLARE_DERIVABLE_TYPE 2022-05-31 16:28:13 -03:00
clutter-image.h clutter/image: Port to G_DECLARE_DERIVABLE_TYPE 2022-05-31 16:28:13 -03:00
clutter-input-device-private.h clutter: Remove input device grabs 2022-01-29 02:11:37 +01:00
clutter-input-device-tool.c clutter: Make axes part of the device tool 2020-11-27 15:14:33 +00:00
clutter-input-device-tool.h clutter: Make axes part of the device tool 2020-11-27 15:14:33 +00:00
clutter-input-device.c clutter: Add compatibility code to get input capabilities from device type 2022-03-30 12:06:52 +00:00
clutter-input-device.h clutter: Add ClutterInputDevice::capabilities property 2022-03-30 12:06:52 +00:00
clutter-input-focus-private.h clutter: Pass anchor position to ClutterInputFocus 2022-07-19 11:04:56 +00:00
clutter-input-focus.c clutter: Pass anchor position to ClutterInputFocus 2022-07-19 11:04:56 +00:00
clutter-input-focus.h clutter: Pass anchor position to ClutterInputFocus 2022-07-19 11:04:56 +00:00
clutter-input-method-private.h Replace ClutterRect by graphene_rect_t 2019-10-16 11:38:14 +00:00
clutter-input-method.c clutter: Let ClutterInputMethods pass the anchor position for preedit text 2022-07-19 11:04:56 +00:00
clutter-input-method.h clutter: Let ClutterInputMethods pass the anchor position for preedit text 2022-07-19 11:04:56 +00:00
clutter-input-pointer-a11y-private.h display: Get the backend from the context 2022-04-29 18:58:38 +00:00
clutter-input-pointer-a11y.c display: Get the backend from the context 2022-04-29 18:58:38 +00:00
clutter-interval.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-interval.h
clutter-keyframe-transition.c
clutter-keyframe-transition.h
clutter-keymap-private.h clutter/keymap: Make caps and num lock state properties 2021-03-04 17:39:08 +00:00
clutter-keymap.c clutter/keymap: Make caps and num lock state properties 2021-03-04 17:39:08 +00:00
clutter-keymap.h clutter/keymap: Make caps and num lock state properties 2021-03-04 17:39:08 +00:00
clutter-keysyms-table.c
clutter-keysyms-update.pl *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-keysyms.h
clutter-layout-manager.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-layout-manager.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-layout-meta.c
clutter-layout-meta.h
clutter-macros.h
clutter-main.c clutter: Remove 'features' 2022-06-03 12:57:31 +00:00
clutter-main.h clutter: Remove CLUTTER_DEFAULT_FPS and default rate 2021-10-18 14:36:15 +00:00
clutter-marshal.list clutter/input-pointer-a11y: Include success boolean in stop signals 2019-08-27 07:36:57 +00:00
clutter-mutter.h clutter: Store the per-pointer picked actor's clear area 2021-12-07 20:04:08 +00:00
clutter-offscreen-effect-private.h
clutter-offscreen-effect.c cogl: Remove cogl_texture_new_with_size 2021-12-07 15:32:21 +00:00
clutter-offscreen-effect.h clutter/effect: Add paint nodes to all paint vfuncs 2020-12-15 11:48:28 -03:00
clutter-page-turn-effect.c
clutter-page-turn-effect.h
clutter-paint-context-private.h clutter/stage: Use multiple frusta depending on the redraw clip 2020-10-16 13:46:23 -03:00
clutter-paint-context.c clutter/stage: Use multiple frusta depending on the redraw clip 2020-10-16 13:46:23 -03:00
clutter-paint-context.h screen-cast/area-src: Clear framebuffer before painting stage 2020-09-30 15:56:07 +00:00
clutter-paint-node-private.h Explicitly create the clutter context and backend 2021-10-18 14:36:15 +00:00
clutter-paint-node.c clutter: Drop "volatile" from static GTypes in manual registration 2021-03-22 10:47:51 +00:00
clutter-paint-node.h clutter/paint-node: Add multi-rect operations 2020-12-17 03:04:03 +00:00
clutter-paint-nodes.c cogl: Remove usages of framebuffer_draw_primitive 2021-12-07 15:32:21 +00:00
clutter-paint-nodes.h clutter/blur: Make sigma a float 2020-12-17 13:21:50 +00:00
clutter-paint-volume-private.h clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-paint-volume.c clutter/paint-volume: Union paint volumes correctly using Graphene 2021-05-04 15:10:23 +00:00
clutter-pan-action.c clutter: Drop default action of Pan action 2021-10-28 23:52:04 +02:00
clutter-pan-action.h clutter: Drop default action of Pan action 2021-10-28 23:52:04 +02:00
clutter-path-constraint.c
clutter-path-constraint.h
clutter-path.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-path.h
clutter-pick-context-private.h clutter/actor: Cull out when picking 2020-11-25 16:34:29 +00:00
clutter-pick-context.c clutter: Also log overlap regions in ClutterPickContext/Stack 2021-12-07 20:04:08 +00:00
clutter-pick-context.h clutter: Also log overlap regions in ClutterPickContext/Stack 2021-12-07 20:04:08 +00:00
clutter-pick-stack-private.h clutter: Calculate "safe area" during pointer pick 2021-12-07 20:04:08 +00:00
clutter-pick-stack.c clutter/pick-stack: Avoid uninitialized cairo_region_subtract_rectangle 2022-03-29 18:13:11 +08:00
clutter-private.h clutter: Remove 'features' 2022-06-03 12:57:31 +00:00
clutter-property-transition.c clutter/timeline: Add way to associate a timeline to an actor 2020-07-02 19:36:50 +02:00
clutter-property-transition.h clutter/transition: Get timeline actor from animatable 2020-07-02 19:36:51 +02:00
clutter-rotate-action.c clutter: Drop default "rotate" action in ClutterRotateAction 2021-10-28 23:52:04 +02:00
clutter-rotate-action.h clutter: Drop default "rotate" action in ClutterRotateAction 2021-10-28 23:52:04 +02:00
clutter-script-parser.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-script-private.h clutter: Remove ClutterAnimation 2020-05-07 20:04:07 +00:00
clutter-script.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-script.h clutter: Remove deprecated 'ClutterState' 2020-05-07 20:04:07 +00:00
clutter-scriptable.c
clutter-scriptable.h
clutter-scroll-actor.c clutter/scroll-actor: Use graphene APIs 2020-10-06 15:34:48 +00:00
clutter-scroll-actor.h Replace ClutterRect by graphene_rect_t 2019-10-16 11:38:14 +00:00
clutter-seat-private.h clutter: Add ClutterSeat private API to grab devices 2022-01-11 16:13:39 +00:00
clutter-seat.c clutter: Add ClutterSeat private API to grab devices 2022-01-11 16:13:39 +00:00
clutter-seat.h clutter/virtual-input-device: Add API to get seat 2022-01-17 09:48:51 +01:00
clutter-settings-private.h clutter: Move pointer a11y settings management from MetaInputSettings 2021-05-05 19:07:26 +00:00
clutter-settings.c clutter: Move pointer a11y settings management from MetaInputSettings 2021-05-05 19:07:26 +00:00
clutter-settings.h
clutter-shader-effect.c clutter: Remove 'features' 2022-06-03 12:57:31 +00:00
clutter-shader-effect.h
clutter-shader-types.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-shader-types.h
clutter-snap-constraint.c
clutter-snap-constraint.h
clutter-stage-manager-private.h
clutter-stage-manager.c clutter: Remove unused deprecated/clutter-stage-manager.h 2019-11-19 21:50:26 +00:00
clutter-stage-manager.h
clutter-stage-private.h clutter/stage: Add function to maybe invalidate pointers on an actor 2022-07-26 14:18:13 +00:00
clutter-stage-view-private.h clutter: Do not check redraw area for pointer repicks 2022-01-27 11:08:24 +00:00
clutter-stage-view.c stage: Add 'prepare-frame' signal 2022-04-29 20:51:25 +00:00
clutter-stage-view.h clutter/stage-view: Make get_refresh_rate() public 2020-11-19 19:41:40 +01:00
clutter-stage-window.c stage-impl: Move properties from the stage window here 2022-01-17 09:48:51 +01:00
clutter-stage-window.h clutter: Make ClutterStageView API public to mutter 2021-07-16 19:08:06 +02:00
clutter-stage.c clutter/stage: Add function to maybe invalidate pointers on an actor 2022-07-26 14:18:13 +00:00
clutter-stage.h clutter: Add clutter_stage_get_event_actor() API call 2022-03-04 10:58:28 +00:00
clutter-swipe-action.c clutter: Drop ClutterSwipeAction::swipe default vmethod 2021-10-28 23:52:04 +02:00
clutter-swipe-action.h clutter: Drop ClutterSwipeAction::swipe default vmethod 2021-10-28 23:52:04 +02:00
clutter-tap-action.c clutter: Remove marshallers that are available in GLib 2019-08-19 13:09:56 +00:00
clutter-tap-action.h
clutter-text-buffer.c clutter: Use g_object_notify_by_pspec() 2019-07-30 13:50:17 +02:00
clutter-text-buffer.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
clutter-text.c clutter: Pass anchor position to ClutterInputFocus 2022-07-19 11:04:56 +00:00
clutter-text.h Replace ClutterGeometry by graphene_rect_t 2019-10-16 11:38:14 +00:00
clutter-texture-content.c cogl: Remove cogl_texture_new_from_sub_texture 2021-12-07 15:32:21 +00:00
clutter-texture-content.h clutter: Add new ClutterContent type ClutterTextureContent 2021-06-29 21:36:43 +00:00
clutter-timeline-private.h clutter/master-clock: Move out private timeline declarations 2020-07-02 19:36:50 +02:00
clutter-timeline.c clutter/timeline: Minor documentation corrections 2022-01-05 15:57:45 +00:00
clutter-timeline.h clutter/timeline: Deprecate timelines without an actor or frame clock 2020-07-02 19:36:50 +02:00
clutter-transition-group.c clutter/master-clock: Move out private timeline declarations 2020-07-02 19:36:50 +02:00
clutter-transition-group.h
clutter-transition.c clutter/transition: Get timeline actor from animatable 2020-07-02 19:36:51 +02:00
clutter-transition.h
clutter-types.h clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
clutter-units.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-units.h
clutter-util.c clutter: Stop using GSlice 2021-02-22 13:52:27 +01:00
clutter-virtual-input-device.c clutter/virtual-input-device: Add API to get seat 2022-01-17 09:48:51 +01:00
clutter-virtual-input-device.h clutter/virtual-input-device: Add API to get seat 2022-01-17 09:48:51 +01:00
clutter-zoom-action.c clutter: Drop ClutterZoomGesture's zoom-axis property/methods 2021-10-28 23:52:04 +02:00
clutter-zoom-action.h clutter: Drop ClutterZoomGesture's zoom-axis property/methods 2021-10-28 23:52:04 +02:00
clutter.h clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
meson.build clutter: Attach color state information to actors 2022-06-09 15:00:07 +00:00
mutter-clutter.pc.in