diff options
Diffstat (limited to 'gui-libs')
-rw-r--r-- | gui-libs/wlroots/files/wlroots-0.15.1-tinywl-dont-crash-upon-missing-keyboard.patch | 55 | ||||
-rw-r--r-- | gui-libs/wlroots/wlroots-9999.ebuild | 4 |
2 files changed, 1 insertions, 58 deletions
diff --git a/gui-libs/wlroots/files/wlroots-0.15.1-tinywl-dont-crash-upon-missing-keyboard.patch b/gui-libs/wlroots/files/wlroots-0.15.1-tinywl-dont-crash-upon-missing-keyboard.patch deleted file mode 100644 index cff1f72ca5ca..000000000000 --- a/gui-libs/wlroots/files/wlroots-0.15.1-tinywl-dont-crash-upon-missing-keyboard.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 7d950f3dac6cca62635d5e4ff2af33b35372f6db Mon Sep 17 00:00:00 2001 -From: Simon Ser <contact@emersion.fr> -Date: Sat, 19 Mar 2022 14:00:43 +0100 -Subject: [PATCH] tinywl: don't crash when there is no keyboard - -Running with WLR_BACKENDS=headless, there is no keyboard device. -Avoid crashes like so: - - ../tinywl/tinywl.c:136:2: runtime error: member access within null pointer of type 'struct wlr_keyboard' - ../tinywl/tinywl.c:136:2: runtime error: member access within null pointer of type 'struct wlr_keyboard' - AddressSanitizer:DEADLYSIGNAL - ================================================================= - ==331107==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000120 (pc 0x556ed03e4e99 bp 0x7ffce834bc10 sp 0x7ffce834bbb0 T0) - ==331107==The signal is caused by a READ memory access. - ==331107==Hint: address points to the zero page. - #0 0x556ed03e4e99 in focus_view ../tinywl/tinywl.c:136 - #1 0x556ed03eb3be in xdg_toplevel_map ../tinywl/tinywl.c:603 - #2 0x7f75d6f768db in wlr_signal_emit_safe ../util/signal.c:29 - #3 0x7f75d6e9cac7 in xdg_surface_role_commit ../types/xdg_shell/wlr_xdg_surface.c:315 - #4 0x7f75d6eb6944 in surface_commit_state ../types/wlr_compositor.c:466 - #5 0x7f75d6eb7b02 in surface_handle_commit ../types/wlr_compositor.c:523 - #6 0x7f75d5714d49 (/usr/lib/libffi.so.8+0x6d49) - #7 0x7f75d5714266 (/usr/lib/libffi.so.8+0x6266) - #8 0x7f75d68cb322 (/usr/lib/libwayland-server.so.0+0xd322) - #9 0x7f75d68c65cb (/usr/lib/libwayland-server.so.0+0x85cb) - #10 0x7f75d68c91c9 in wl_event_loop_dispatch (/usr/lib/libwayland-server.so.0+0xb1c9) - #11 0x7f75d68c6d36 in wl_display_run (/usr/lib/libwayland-server.so.0+0x8d36) - #12 0x556ed03eef55 in main ../tinywl/tinywl.c:905 - #13 0x7f75d5d2330f in __libc_start_call_main (/usr/lib/libc.so.6+0x2d30f) - #14 0x7f75d5d233c0 in __libc_start_main@GLIBC_2.2.5 (/usr/lib/libc.so.6+0x2d3c0) - #15 0x556ed03e46e4 in _start (/home/simon/src/wlroots/build/tinywl/tinywl+0x136e4) ---- - tinywl/tinywl.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/tinywl/tinywl.c b/tinywl/tinywl.c -index dd442aac..8796e9df 100644 ---- a/tinywl/tinywl.c -+++ b/tinywl/tinywl.c -@@ -130,8 +130,10 @@ static void focus_view(struct tinywl_view *view, struct wlr_surface *surface) { - * track of this and automatically send key events to the appropriate - * clients without additional work on your part. - */ -- wlr_seat_keyboard_notify_enter(seat, view->xdg_surface->surface, -- keyboard->keycodes, keyboard->num_keycodes, &keyboard->modifiers); -+ if (keyboard != NULL) { -+ wlr_seat_keyboard_notify_enter(seat, view->xdg_surface->surface, -+ keyboard->keycodes, keyboard->num_keycodes, &keyboard->modifiers); -+ } - } - - static void keyboard_handle_modifiers( --- -2.36.1 - diff --git a/gui-libs/wlroots/wlroots-9999.ebuild b/gui-libs/wlroots/wlroots-9999.ebuild index 75ec633f9e48..15944c4b865a 100644 --- a/gui-libs/wlroots/wlroots-9999.ebuild +++ b/gui-libs/wlroots/wlroots-9999.ebuild @@ -33,7 +33,7 @@ DEPEND=" dev-util/vulkan-headers:0= media-libs/vulkan-loader:0= ) - >=x11-libs/libdrm-2.4.109:0= + >=x11-libs/libdrm-2.4.113:0= x11-libs/libxkbcommon x11-libs/pixman x11-backend? ( x11-libs/libxcb:0= ) @@ -54,8 +54,6 @@ BDEPEND=" virtual/pkgconfig " -PATCHES=( "${FILESDIR}"/wlroots-0.15.1-tinywl-dont-crash-upon-missing-keyboard.patch ) - src_configure() { # xcb-util-errors is not on Gentoo Repository (and upstream seems inactive?) local emesonargs=( |