Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package sway for openSUSE:Factory checked in at 2022-12-02 13:13:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sway (Old) and /work/SRC/openSUSE:Factory/.sway.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sway" Fri Dec 2 13:13:15 2022 rev:34 rq:1039280 version:1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/sway/sway.changes 2022-05-23 15:51:57.278658199 +0200 +++ /work/SRC/openSUSE:Factory/.sway.new.1835/sway.changes 2022-12-02 13:13:31.717981002 +0100 @@ -1,0 +2,11 @@ +Thu Dec 1 08:31:10 UTC 2022 - Andreas Stieger <andreas.stie...@gmx.de> + +- Fix build: pick up a compatible verison of wlroots boo#1205766 + +------------------------------------------------------------------- +Sat Nov 26 05:51:30 UTC 2022 - Andreas Stieger <andreas.stie...@gmx.de> + +- Update upstream signing key and verify source signature +- https://github.com/swaywm/sway/pull/6484 6484.patch refreshed + +------------------------------------------------------------------- New: ---- sway-1.7.tar.gz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sway.spec ++++++ --- /var/tmp/diff_new_pack.fkt7WE/_old 2022-12-02 13:13:32.457985071 +0100 +++ /var/tmp/diff_new_pack.fkt7WE/_new 2022-12-02 13:13:32.461985093 +0100 @@ -23,8 +23,9 @@ License: MIT Group: System/GUI/Other URL: https://github.com/swaywm/sway -Source0: https://github.com/swaywm/sway/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -Source2: sway.keyring +Source0: https://github.com/swaywm/sway/releases/download/%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/swaywm/sway/releases/download/%{version}/%{name}-%{version}.tar.gz.sig +Source2: https://emersion.fr/.well-known/openpgpkey/hu/dj3498u4hyyarh35rkjfnghbjxug6b19#/%{name}.keyring Patch0: https://github.com/swaywm/sway/pull/6484.patch # Will be in next release Patch1: fix-upstream-gcc12-build-issue.patch @@ -52,6 +53,7 @@ BuildRequires: pkgconfig(wayland-protocols) >= 1.24 BuildRequires: pkgconfig(wayland-server) >= 1.20.0 BuildRequires: pkgconfig(wlroots) >= 0.15.0 +BuildConflicts: pkgconfig(wlroots) >= 0.16.0 BuildRequires: pkgconfig(xkbcommon) Requires: %{name}-branding %if 0%{?suse_version} ++++++ 6484.patch ++++++ --- /var/tmp/diff_new_pack.fkt7WE/_old 2022-12-02 13:13:32.493985269 +0100 +++ /var/tmp/diff_new_pack.fkt7WE/_new 2022-12-02 13:13:32.497985291 +0100 @@ -1,64 +1,97 @@ -From 4fb73877a34616ad9849b050275ad6a62354a9e6 Mon Sep 17 00:00:00 2001 +From 5f83fe64abb1763592cb42a32e176667f20264dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yaroslav=20de=20la=20Pe=C3=B1a=20Smirnov?= <y...@yaroslavps.com> -Date: Sun, 5 Sep 2021 00:51:26 +0300 -Subject: [PATCH] Prevent segfault on keyboard connection +Date: Sun, 23 Oct 2022 03:09:38 +0300 +Subject: [PATCH] Fix keymap being NULL and segfaulting on dev add -Check if keymap is a valid (non-null) pointer in -ipc_json_describe_input. +Moved `libinput_config` to the callers of +`sway_input_configure_libinput_device` so that we send the event after +the added event. --- - sway/ipc-json.c | 39 +++++++++++++++++++++------------------ - 1 file changed, 21 insertions(+), 18 deletions(-) + include/sway/input/libinput.h | 2 +- + sway/input/input-manager.c | 11 +++++++++-- + sway/input/libinput.c | 8 +++----- + 3 files changed, 13 insertions(+), 8 deletions(-) -diff --git a/sway/ipc-json.c b/sway/ipc-json.c -index 1b64f86e1f..1d47f12c2a 100644 ---- a/sway/ipc-json.c -+++ b/sway/ipc-json.c -@@ -979,25 +979,28 @@ json_object *ipc_json_describe_input(struct sway_input_device *device) { - if (device->wlr_device->type == WLR_INPUT_DEVICE_KEYBOARD) { - struct wlr_keyboard *keyboard = device->wlr_device->keyboard; - struct xkb_keymap *keymap = keyboard->keymap; -- struct xkb_state *state = keyboard->xkb_state; -- -- json_object *layouts_arr = json_object_new_array(); -- json_object_object_add(object, "xkb_layout_names", layouts_arr); -- -- xkb_layout_index_t num_layouts = xkb_keymap_num_layouts(keymap); -- xkb_layout_index_t layout_idx; -- for (layout_idx = 0; layout_idx < num_layouts; layout_idx++) { -- const char *layout = xkb_keymap_layout_get_name(keymap, layout_idx); -- json_object_array_add(layouts_arr, -- layout ? json_object_new_string(layout) : NULL); -- -- bool is_active = xkb_state_layout_index_is_active(state, -- layout_idx, XKB_STATE_LAYOUT_EFFECTIVE); -- if (is_active) { -- json_object_object_add(object, "xkb_active_layout_index", -- json_object_new_int(layout_idx)); -- json_object_object_add(object, "xkb_active_layout_name", -+ -+ if (keymap != NULL) { -+ struct xkb_state *state = keyboard->xkb_state; -+ -+ json_object *layouts_arr = json_object_new_array(); -+ json_object_object_add(object, "xkb_layout_names", layouts_arr); -+ -+ xkb_layout_index_t num_layouts = xkb_keymap_num_layouts(keymap); -+ xkb_layout_index_t layout_idx; -+ for (layout_idx = 0; layout_idx < num_layouts; layout_idx++) { -+ const char *layout = xkb_keymap_layout_get_name(keymap, layout_idx); -+ json_object_array_add(layouts_arr, - layout ? json_object_new_string(layout) : NULL); +diff --git a/include/sway/input/libinput.h b/include/sway/input/libinput.h +index 890d632ee2..e4b1acc374 100644 +--- a/include/sway/input/libinput.h ++++ b/include/sway/input/libinput.h +@@ -2,7 +2,7 @@ + #define _SWAY_INPUT_LIBINPUT_H + #include "sway/input/input-manager.h" + +-void sway_input_configure_libinput_device(struct sway_input_device *device); ++bool sway_input_configure_libinput_device(struct sway_input_device *device); + + void sway_input_reset_libinput_device(struct sway_input_device *device); + +diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c +index 4a0bce0e2b..26eefc8a12 100644 +--- a/sway/input/input-manager.c ++++ b/sway/input/input-manager.c +@@ -236,7 +236,7 @@ static void handle_new_input(struct wl_listener *listener, void *data) { + + apply_input_type_config(input_device); + +- sway_input_configure_libinput_device(input_device); ++ bool config_changed = sway_input_configure_libinput_device(input_device); + + wl_signal_add(&device->events.destroy, &input_device->device_destroy); + input_device->device_destroy.notify = handle_device_destroy; +@@ -274,6 +274,10 @@ static void handle_new_input(struct wl_listener *listener, void *data) { + } + + ipc_event_input("added", input_device); + -+ bool is_active = xkb_state_layout_index_is_active(state, -+ layout_idx, XKB_STATE_LAYOUT_EFFECTIVE); -+ if (is_active) { -+ json_object_object_add(object, "xkb_active_layout_index", -+ json_object_new_int(layout_idx)); -+ json_object_object_add(object, "xkb_active_layout_name", -+ layout ? json_object_new_string(layout) : NULL); -+ } - } - } ++ if (config_changed) { ++ ipc_event_input("libinput_config", input_device); ++ } + } + + static void handle_inhibit_activate(struct wl_listener *listener, void *data) { +@@ -528,11 +532,14 @@ static void retranslate_keysyms(struct input_config *input_config) { + + static void input_manager_configure_input( + struct sway_input_device *input_device) { +- sway_input_configure_libinput_device(input_device); ++ bool config_changed = sway_input_configure_libinput_device(input_device); + struct sway_seat *seat = NULL; + wl_list_for_each(seat, &server.input->seats, link) { + seat_configure_device(seat, input_device); + } ++ if (config_changed) { ++ ipc_event_input("libinput_config", input_device); ++ } + } + + void input_manager_configure_all_inputs(void) { +diff --git a/sway/input/libinput.c b/sway/input/libinput.c +index 3c0f359d89..1bac72c900 100644 +--- a/sway/input/libinput.c ++++ b/sway/input/libinput.c +@@ -187,10 +187,10 @@ static bool set_calibration_matrix(struct libinput_device *dev, float mat[6]) { + return changed; + } + +-void sway_input_configure_libinput_device(struct sway_input_device *input_device) { ++bool sway_input_configure_libinput_device(struct sway_input_device *input_device) { + struct input_config *ic = input_device_get_config(input_device); + if (!ic || !wlr_input_device_is_libinput(input_device->wlr_device)) { +- return; ++ return false; + } + + struct libinput_device *device = +@@ -259,9 +259,7 @@ void sway_input_configure_libinput_device(struct sway_input_device *input_device + changed |= set_calibration_matrix(device, ic->calibration_matrix.matrix); } + +- if (changed) { +- ipc_event_input("libinput_config", input_device); +- } ++ return changed; + } + + void sway_input_reset_libinput_device(struct sway_input_device *input_device) { ++++++ sway.keyring ++++++ Binary files /var/tmp/diff_new_pack.fkt7WE/_old and /var/tmp/diff_new_pack.fkt7WE/_new differ