weston/clients
Arnaud Vrac 54585a4cc9 clients/desktop-shell: fix crash on init when panel is disabled
The same output might be inited twice on init when the shell panel is disabled,
depending on the order the weston_desktop_shell and wl_output globals are
advertised. This triggers a protocol error as only one background can be created
per output.

Since initializing the output requires the weston_desktop_shell global (to
create the background and panel on this output), the output init call is done
conditionally in two places: in the global registry handler (to handle output
hotplug) and after the initial wl_display_roundtrip call to handle the case
where the weston_desktop_shell global was notified after the outputs.

We now check the output has already been initialized correctly by checking if
the background has been created, instead of the panel which is not always
created.

Signed-off-by: Arnaud Vrac <avrac@freebox.fr>
(cherry picked from commit 59207a7c7c)
2024-04-16 13:25:35 +03:00
..
calibrator.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
clickdot.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
cliptest.c gl-renderer: Move clip_quad() to clipper 2023-06-12 11:15:51 +00:00
constraints.c clients: Replace 'confine' client to showcase pointer constraints in general 2023-06-14 16:26:34 -05:00
content_protection.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
desktop-shell.c clients/desktop-shell: fix crash on init when panel is disabled 2024-04-16 13:25:35 +03:00
dnd.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
editor.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
eventdemo.c clients/eventdemo: Remove duplicated param entries 2022-09-14 16:46:24 +03:00
flower.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
fullscreen.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
image.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
ivi-shell-user-interface.c ivi-shell-user-interface: change timing to create the launcher surface 2023-10-16 16:24:19 +00:00
keyboard.c weston-keyboard: Create input_panel_surface earlier 2023-11-21 13:30:51 +00:00
meson.build clients/simple-dmabuf-v4l: Add pointer support 2023-08-31 21:32:36 +00:00
multi-resource.c multi-resource: Convert to xdg-shell 2021-10-14 09:28:04 +00:00
presentation-shm.c helpers: Add a u64 from 2 u32 helper 2022-10-27 08:13:30 +00:00
resizor.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
scaler.c clients/scaler: check viewporter availability 2023-05-02 18:02:33 +03:00
screenshot.c clients: rewrite screenshot.c for new protocol 2022-11-29 11:12:32 +02:00
simple-damage.c clients: Add opaque region setting to simple-damage 2023-09-16 08:46:03 +03:00
simple-dmabuf-egl.c clients/simple-dmabuf-egl: Drop support libgbm older than 21.1.1 2023-08-09 21:45:42 +03:00
simple-dmabuf-feedback.c clients/simple-dmabuf-feedback: Drop support libgbm older than 21.1.1 2023-08-09 21:45:42 +03:00
simple-dmabuf-v4l.c clients/simple-dmabuf-v4l: Add pointer support 2023-08-31 21:32:36 +00:00
simple-egl.c clients/simple-egl: Use interface name variables 2023-08-31 21:32:36 +00:00
simple-im.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
simple-shm.c client-shm: Add basic keyboard support 2023-04-12 14:40:38 +03:00
simple-touch.c simple-touch: Add maximized/fullscreen states 2023-04-12 14:40:38 +03:00
smoke.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
stacking.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
subsurfaces.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
tablet.c clients: Add demo application for tablets 2023-03-31 12:10:26 +00:00
terminal.c weston-terminal: Don't leak Cairo fonts 2022-06-29 14:33:21 +01:00
touch-calibrator.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
transformed.c clients/window: Add functions to set/retrieve app_id 2022-01-21 18:39:23 +00:00
weston-debug.c weston-debug: Handle destruction of stream description 2021-06-01 13:55:33 +03:00
window.c Revert "clients/window: Update min_allocation for smaller widths/heights" 2023-07-19 14:40:03 +03:00
window.h clients/window: Add tablet cursor support into libtoytoolkit 2023-03-31 12:10:26 +00:00