diff -Nru caribou-0.4.21/debian/changelog caribou-0.4.21/debian/changelog --- caribou-0.4.21/debian/changelog 2018-12-23 18:18:21.000000000 -0500 +++ caribou-0.4.21/debian/changelog 2021-03-22 18:04:23.000000000 -0400 @@ -1,3 +1,11 @@ +caribou (0.4.21-7ubuntu0.1) groovy-security; urgency=high + + * Fix segfaults with recent versions of Xorg that causes + cinnamon to crash (LP: #1912060) + * Fix build with newer versions of valac + + -- Joshua Peisach Mon, 22 Mar 2021 18:04:23 -0400 + caribou (0.4.21-7) unstable; urgency=medium * Restore -Wl,-O1 to our LDFLAGS diff -Nru caribou-0.4.21/debian/control caribou-0.4.21/debian/control --- caribou-0.4.21/debian/control 2018-12-23 18:18:21.000000000 -0500 +++ caribou-0.4.21/debian/control 2021-03-22 18:04:23.000000000 -0400 @@ -5,7 +5,8 @@ Source: caribou Section: libs Priority: optional -Maintainer: Debian GNOME Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers Uploaders: Jeremy Bicha , Laurent Bigonville , Michael Biebl , Rico Tzschichholz Build-Depends: debhelper (>= 11), dh-python, diff -Nru caribou-0.4.21/debian/control.in caribou-0.4.21/debian/control.in --- caribou-0.4.21/debian/control.in 2018-12-23 18:18:21.000000000 -0500 +++ caribou-0.4.21/debian/control.in 2021-03-22 18:04:23.000000000 -0400 @@ -1,7 +1,8 @@ Source: caribou Section: libs Priority: optional -Maintainer: Debian GNOME Maintainers +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian GNOME Maintainers Uploaders: @GNOME_TEAM@, Rico Tzschichholz Build-Depends: debhelper (>= 11), dh-python, diff -Nru caribou-0.4.21/debian/patches/fix-compilation-error.patch caribou-0.4.21/debian/patches/fix-compilation-error.patch --- caribou-0.4.21/debian/patches/fix-compilation-error.patch 1969-12-31 19:00:00.000000000 -0500 +++ caribou-0.4.21/debian/patches/fix-compilation-error.patch 2021-03-22 18:04:23.000000000 -0400 @@ -0,0 +1,34 @@ +Description: Fix build with newer valac versions + Fixes valac build, along with bumping version. +Author: Clement Lefebvre , Rico Tzschichholz +Origin: upstream, https://gitlab.gnome.org/GNOME/caribou/-/commit/76fbd11575f918fc898cb0f5defe07f67c11ec38, https://gitlab.gnome.org/GNOME/caribou/-/commit/3700b5396f0b5995d6911037f91863f7b0aa0cb4 +Bug: https://gitlab.gnome.org/GNOME/caribou/-/issues/7 +Forwarded: no +Applied-Upstream: https://gitlab.gnome.org/GNOME/caribou/-/commit/76fbd11575f918fc898cb0f5defe07f67c11ec38, https://gitlab.gnome.org/GNOME/caribou/-/commit/3700b5396f0b5995d6911037f91863f7b0aa0cb4 +Reviewed-by: Joshua Peisach +Last-Update: 2021-03-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: caribou-0.4.21/libcaribou/key-model.vala +=================================================================== +--- caribou-0.4.21.orig/libcaribou/key-model.vala ++++ caribou-0.4.21/libcaribou/key-model.vala +@@ -101,7 +101,7 @@ namespace Caribou { + unichar uc; + while (text.get_next_char (ref index, out uc)) { + uint keyval = Gdk.unicode_to_keyval (uc); +- if (keyval != uc | 0x01000000) ++ if (keyval != (uc | 0x01000000)) + _keyvals += keyval; + } + } else { +--- a/configure.ac ++++ b/configure.ac +@@ -61,7 +61,7 @@ PKG_CHECK_MODULES(CARIBOU, [ + AC_SUBST(CARIBOU_CFLAGS) + AC_SUBST(CARIBOU_LIBS) + +-AM_PROG_VALAC([0.13]) ++AM_PROG_VALAC([0.40]) + AC_SUBST(VALAC) + AC_SUBST(VALAFLAGS) diff -Nru caribou-0.4.21/debian/patches/fix-segfault-with-recent-versions-of-xorg.patch caribou-0.4.21/debian/patches/fix-segfault-with-recent-versions-of-xorg.patch --- caribou-0.4.21/debian/patches/fix-segfault-with-recent-versions-of-xorg.patch 1969-12-31 19:00:00.000000000 -0500 +++ caribou-0.4.21/debian/patches/fix-segfault-with-recent-versions-of-xorg.patch 2021-03-22 17:50:06.000000000 -0400 @@ -0,0 +1,43 @@ +Description: xadapter.vala: Remove XkbKeyTypesMask and fields from XKbChangeMap call. + Fixes segfault with recent versions of Xorg. + . + "This was originally a workaround for xFree86 4.3 - see: + https://bugzilla.gnome.org/show_bug.cgi?id=673547 + . + As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 + this causes a BadLength error when attempting to use shifted characters. + . + Ref: + https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server" +Author: Michael Webster +Origin: upstream, https://gitlab.gnome.org/GNOME/caribou/-/commit/d41c8e44b12222a290eaca16703406b113a630c6 +Bug: https://github.com/linuxmint/cinnamon-screensaver/issues/354 +Bug-GitLab: https://gitlab.gnome.org/GNOME/caribou/-/merge_requests/3 +Forwarded: no +Applied-Upstream: https://gitlab.gnome.org/GNOME/caribou/-/commit/d41c8e44b12222a290eaca16703406b113a630c6 +Reviewed-by: Joshua Peisach +Last-Update: 2021-03-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: caribou-0.4.21/libcaribou/xadapter.vala +=================================================================== +--- caribou-0.4.21.orig/libcaribou/xadapter.vala ++++ caribou-0.4.21/libcaribou/xadapter.vala +@@ -195,15 +195,10 @@ namespace Caribou { + + Xkb.MapChanges changes = Xkb.MapChanges (); + +- // We don't touch key types here but include the +- // information in XkbSetMap request to the server, because +- // some X servers need the information to check the sanity +- // of the keysyms change. +- changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask); ++ changes.changed = (ushort) Xkb.KeySymsMask; + changes.first_key_sym = (char) this.reserved_keycode; + changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width; +- changes.first_type = 0; +- changes.num_types = this.xkbdesc.map.num_types; ++ + Xkb.change_map (this.xdisplay, this.xkbdesc, changes); + + this.xdisplay.flush (); diff -Nru caribou-0.4.21/debian/patches/fix-subkey-popmenu-not-showing-after-being-dismissed.patch caribou-0.4.21/debian/patches/fix-subkey-popmenu-not-showing-after-being-dismissed.patch --- caribou-0.4.21/debian/patches/fix-subkey-popmenu-not-showing-after-being-dismissed.patch 1969-12-31 19:00:00.000000000 -0500 +++ caribou-0.4.21/debian/patches/fix-subkey-popmenu-not-showing-after-being-dismissed.patch 2021-03-22 17:57:48.000000000 -0400 @@ -0,0 +1,32 @@ +Description: Fix subkey popmenu not showing after being dismissed + "To reproduce the issue: + . + - long-press the "e" button + - don't select any sub button.. just select "e" again to close the menu + . + After this the menu no long appears when long-pressing "e". + . + This commit fixes that." +Author: Clement Lefebvre +Origin: upstream, https://gitlab.com/linuxmint/pins/mint/caribou/-/commit/85ac8f9e210243d95163cf8b1013470a6d9c7eaa +Bug: https://github.com/linuxmint/cinnamon-screensaver/issues/354 +Bug-GitLab: https://gitlab.gnome.org/GNOME/caribou/-/merge_requests/3 +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/caribou/+bug/1912060 +Forwarded: no +Applied-Upstream: https://gitlab.com/linuxmint/pins/mint/caribou/-/commit/85ac8f9e210243d95163cf8b1013470a6d9c7eaa +Reviewed-by: Joshua Peisach +Last-Update: 2021-03-22 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +Index: caribou-0.4.21/libcaribou/key-model.vala +=================================================================== +--- caribou-0.4.21.orig/libcaribou/key-model.vala ++++ caribou-0.4.21/libcaribou/key-model.vala +@@ -179,6 +179,7 @@ namespace Caribou { + hold_tid = GLib.Timeout.add (1000, on_key_held); + + key_pressed(this); ++ show_subkeys = false; + } + + public void release () { diff -Nru caribou-0.4.21/debian/patches/series caribou-0.4.21/debian/patches/series --- caribou-0.4.21/debian/patches/series 2018-12-23 18:18:21.000000000 -0500 +++ caribou-0.4.21/debian/patches/series 2021-03-22 18:04:23.000000000 -0400 @@ -1,2 +1,5 @@ autostart-set-nodisplay.patch fix-font-property-in-style.css.patch +fix-segfault-with-recent-versions-of-xorg.patch +fix-subkey-popmenu-not-showing-after-being-dismissed.patch +fix-compilation-error.patch