wlroots/types
Kirill Primak 68c5fa340d subsurface: unlock cached state on commit if desynced
wl_subsurface::set_desync description states: "If cached state exists when
wl_surface.commit is called in desynchronized mode, the pending state is
added to the cached state, and applied as a whole."

This commit reintroduces an implementation of said behavior, previously
removed in 7daf6da9ac05be2cb74c0983e3caee0b21db75d4.

Strictly speaking, this logic isn't fully correct, as the cached state
and the pending state are applied individually instead, if the cached
state isn't locked by anything else. However, the end result is still
the same.

This commit fixes the issue with Firefox permission popups.

(cherry picked from commit 77951968dc9df7214c04c33f4905a9a7aa92f60c)
2022-02-02 20:27:49 +01:00
..
data_device wlr_drag: emit destroy after wl_data_device.leave 2021-11-22 22:43:39 +01:00
output util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
scene scene/subsurface_tree: fix handling subsurface destruction 2022-02-02 20:08:20 +01:00
seat util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
tablet_v2 Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
xdg_shell xdg-shell: remove redundant NULL buffer check 2021-10-06 10:15:49 +02:00
meson.build scene: add wlr_scene_xdg_surface_create 2021-11-25 18:53:12 +01:00
wlr_buffer.c types/buffer: make {begin,end}_data_ptr_access part of the public API 2021-09-15 11:50:44 +02:00
wlr_compositor.c surface: make wlr_subsurface_create private 2021-06-29 10:32:17 -04:00
wlr_cursor.c Added whitespace between "output" and "(not" 2021-11-28 16:56:09 +00:00
wlr_data_control_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_drm.c drm: add support for DMA-BUFs 2021-07-05 11:13:41 -04:00
wlr_drm_lease_v1.c util/global: remove wl_display arg from wlr_global_destroy_safe 2021-12-14 13:13:50 +00:00
wlr_export_dmabuf_v1.c export-dmabuf-v1: use wlr_output_event_commit.buffer 2021-12-03 14:56:17 +00:00
wlr_foreign_toplevel_management_v1.c toplevel-management: avoid redundant state events 2021-01-05 12:22:20 +01:00
wlr_fullscreen_shell_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_gamma_control_v1.c gamma-control-v1: schedule frame when resetting gamma LUT 2021-01-10 18:40:08 +01:00
wlr_idle.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_idle_inhibit_v1.c idle-inhibit: Style and naming improvements 2020-02-20 21:40:34 +01:00
wlr_input_device.c Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_input_inhibitor.c Make implementation function lists static const 2021-02-05 10:04:20 +01:00
wlr_input_method_v2.c input_method_v2: improve mapping detection 2022-02-02 20:25:24 +01:00
wlr_keyboard.c keyboard: add wlr_keyboard.keymap_fd 2021-09-05 22:06:25 +02:00
wlr_keyboard_group.c Replace wlr_key_state with wl_keyboard_key_state 2020-11-11 10:58:38 +01:00
wlr_keyboard_shortcuts_inhibit_v1.c keyboard-shortcuts-inhibit: Implement the protocol 2020-02-20 21:40:34 +01:00
wlr_layer_shell_v1.c layer-shell: don't set committed flag if the property didn't change 2021-12-15 16:24:33 +03:00
wlr_linux_dmabuf_v1.c linux-dmabuf-v1: add per-surface feedback 2021-12-07 15:18:19 +01:00
wlr_matrix.c move wlr_box from /types to /util 2021-07-06 21:43:17 +02:00
wlr_output_damage.c output-damage: fix damage on modeset 2021-09-07 22:27:31 +02:00
wlr_output_layout.c Insert new outputs at the end of the list 2021-11-29 13:14:31 +00:00
wlr_output_management_v1.c output-management: use same types as wlr_output 2021-01-10 16:28:19 +01:00
wlr_output_power_management_v1.c output-power-management-v1: listen to output commit 2020-08-27 13:54:19 -06:00
wlr_pointer.c pointer: add hold pointer event definition 2021-09-27 15:30:31 +02:00
wlr_pointer_constraints_v1.c move wlr_box from /types to /util 2021-07-06 21:43:17 +02:00
wlr_pointer_gestures_v1.c wlr_pointer_gestures: hold gestures (protocol v3) 2021-09-27 15:30:31 +02:00
wlr_presentation_time.c presentation-time: use a surface addon 2021-10-22 11:57:19 +02:00
wlr_primary_selection.c wlr_seat: Fix edge cases with serial validation 2019-06-30 15:01:05 -04:00
wlr_primary_selection_v1.c primary selection: destroy devices before manager 2021-01-05 13:53:58 +01:00
wlr_region.c region: stabilize interface 2021-07-05 09:25:25 -04:00
wlr_relative_pointer_v1.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_screencopy_v1.c screencopy-v1: use wlr_output_event_commit.buffer 2021-12-03 14:56:17 +00:00
wlr_server_decoration.c Simplify globals implementation by removing destructors 2019-11-25 09:01:46 -05:00
wlr_surface.c subsurface: unlock cached state on commit if desynced 2022-02-02 20:27:49 +01:00
wlr_switch.c Remove all wayland-server.h includes 2019-07-27 15:49:32 -04:00
wlr_tablet_pad.c Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
wlr_tablet_tool.c Fix invalid uses of wl_array_for_each 2021-07-08 10:08:47 -04:00
wlr_text_input_v3.c text-input: fix type of send_preedit_string() args 2021-11-08 19:56:22 +00:00
wlr_touch.c touch: add frame event 2021-07-08 09:12:17 +02:00
wlr_viewporter.c surface: drop wlr_surface_state.buffer_resource 2021-09-06 14:21:23 -04:00
wlr_virtual_keyboard_v1.c virtual_keyboard: Emulate key release events on destroy 2021-05-07 11:18:19 +02:00
wlr_virtual_pointer_v1.c Fix incorrect format parameters 2020-07-27 10:49:19 +02:00
wlr_xcursor_manager.c Make wlr_xcursor_manager_load() return a bool 2020-05-18 16:48:44 +02:00
wlr_xdg_activation_v1.c xdg-activation: Allow to submit tokens 2021-12-14 12:01:46 +01:00
wlr_xdg_decoration_v1.c xdg-decoration: refactor configure/state flow 2021-10-07 07:27:51 -06:00
wlr_xdg_foreign_registry.c util/uuid: replace with util/token, remove libuuid 2021-04-11 19:09:36 +02:00
wlr_xdg_foreign_v1.c xdg-foreign: rename finish_* functions to destroy_* 2021-02-08 18:09:00 +01:00
wlr_xdg_foreign_v2.c xdg-foreign-v2: use error enum 2021-10-25 18:22:11 +03:00
wlr_xdg_output_v1.c xdg-output: destroy outputs before manager 2021-01-19 11:56:31 +01:00