pantheon.elementary-greeter: actually fix the crash

Fixed a use-after-free issue where logged_in_context is used in update_style().
There are several reports for this but upstream has no action for this so far during the 6.x cycle.
See the provided link for more details.
main
Bobby Rong 2 years ago
parent 2a376bb3da
commit f29955df81
No known key found for this signature in database
GPG Key ID: ED07364437C91161
  1. 3
      pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
  2. 21
      pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch

@ -47,6 +47,9 @@ stdenv.mkDerivation rec {
src = ./hardcode-fallback-background.patch;
default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
})
# https://github.com/NixOS/nixpkgs/issues/151609
# https://github.com/elementary/greeter/issues/578#issuecomment-1030746697
./fix-crash.patch
# Fix build with meson 0.61
# https://github.com/elementary/greeter/pull/590
(fetchpatch {

@ -0,0 +1,21 @@
diff --git a/src/Cards/UserCard.vala b/src/Cards/UserCard.vala
index 83df22c..8cd917e 100644
--- a/src/Cards/UserCard.vala
+++ b/src/Cards/UserCard.vala
@@ -42,6 +42,7 @@ public class Greeter.UserCard : Greeter.BaseCard {
private Gtk.Stack login_stack;
private Greeter.PasswordEntry password_entry;
+ private SelectionCheck logged_in;
private unowned Gtk.StyleContext logged_in_context;
private weak Gtk.StyleContext main_grid_style_context;
private weak Gtk.StyleContext password_entry_context;
@@ -214,7 +215,7 @@ public class Greeter.UserCard : Greeter.BaseCard {
};
avatar_overlay.add (avatar);
- var logged_in = new SelectionCheck () {
+ logged_in = new SelectionCheck () {
halign = Gtk.Align.END,
valign = Gtk.Align.END
};
Loading…
Cancel
Save