From 4d2e15d120d6acc7f83631ef8b3ea1185116a0ae Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 1 Feb 2022 23:02:42 +0800 Subject: [PATCH 1/5] nixos/pantheon: stop setting GTK_CSD=1 See https://github.com/elementary/gala/issues/244 (cherry picked from commit ede5fff9295a9cfb1af5c54e6e983f6bd0c09722) --- nixos/modules/services/x11/desktop-managers/pantheon.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 5a41f96497f2b..05ed07c82cc8b 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -224,7 +224,6 @@ in programs.file-roller.package = pkgs.pantheon.file-roller; # Settings from elementary-default-settings - environment.sessionVariables.GTK_CSD = "1"; environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini"; xdg.portal.extraPortals = with pkgs; [ From 9e6b95b1051a4219a36c51522067f4f9ba650c52 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 2 Feb 2022 09:47:36 +0800 Subject: [PATCH 2/5] pantheon.elementary-photos: 2.7.3 -> 2.7.4 (cherry picked from commit be1e44b7d2319b96973f0d7cad6db29ce4831478) --- pkgs/desktops/pantheon/apps/elementary-photos/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index ca7b6fd3a7d12..ee75e069384e4 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -34,7 +34,7 @@ stdenv.mkDerivation rec { pname = "elementary-photos"; - version = "2.7.3"; + version = "2.7.4"; repoName = "photos"; @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-ja4ElW0FNm9oNyn+00SdI2Cxep6LyWTYM8Blc6bnuiY="; + sha256 = "sha256-NhF/WgS6IOwgALSCNyFNxz8ROVTb+mUX+lBtnWEyhEI="; }; nativeBuildInputs = [ From d9e512f743ef70490ed9f6d3a42d5ab573aad2b6 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 13 Feb 2022 17:16:12 +0800 Subject: [PATCH 3/5] Revert "pantheon.elementary-greeter: add patch for revert pull request 566" This reverts commit 34d5d14fd0d9e0cab8458342f9e7fb105ceb7db3. (cherry picked from commit 2a376bb3dadf65750dad00b79c315f96b90b90c9) --- .../desktop/elementary-greeter/default.nix | 12 -- .../elementary-greeter/revert-pr566.patch | 103 ------------------ 2 files changed, 115 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 7cc26e90c7fcc..18e00e63bccbc 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -94,18 +94,6 @@ stdenv.mkDerivation rec { src = ./hardcode-fallback-background.patch; default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"; }) - # Revert "UserCard: use accent color for logged_in check (#566)" - # https://github.com/elementary/greeter/pull/566 - # Fixes crash issue reported in: - # https://github.com/elementary/greeter/issues/578 - # https://github.com/NixOS/nixpkgs/issues/151609 - # Probably also fixes: - # https://github.com/elementary/greeter/issues/568 - # https://github.com/elementary/greeter/issues/583 - # https://github.com/NixOS/nixpkgs/issues/140513 - # Revisit this when the greeter is ported to GTK 4: - # https://github.com/elementary/greeter/pull/591 - ./revert-pr566.patch ]; preFixup = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch deleted file mode 100644 index ed05ba24b86a8..0000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 572a73cbc84dd9a0f5a7667a60c75ed5580d84a1 Mon Sep 17 00:00:00 2001 -From: Bobby Rong -Date: Tue, 25 Jan 2022 10:03:31 +0800 -Subject: [PATCH] Revert "UserCard: use accent color for logged_in check - (#566)" - -This reverts commit 6f18c79c780582e43039032f6926816efa82e206. ---- - data/Check.css | 11 ----------- - data/greeter.gresource.xml | 1 - - src/Cards/UserCard.vala | 29 +++-------------------------- - 3 files changed, 3 insertions(+), 38 deletions(-) - delete mode 100644 data/Check.css - -diff --git a/data/Check.css b/data/Check.css -deleted file mode 100644 -index 947db6b..0000000 ---- a/data/Check.css -+++ /dev/null -@@ -1,11 +0,0 @@ --check { -- background-color: @accent_color; -- border-radius: 99px; -- color: white; -- margin: 2px; -- min-height: 20px; -- min-width: 20px; -- -gtk-icon-shadow: 0 1px 1px shade(@accent_color, 0.7); -- -gtk-icon-source: -gtk-icontheme("check-active-symbolic"); -- -gtk-icon-transform: scale(0.6); --} -diff --git a/data/greeter.gresource.xml b/data/greeter.gresource.xml -index 604c89a..ce9be29 100644 ---- a/data/greeter.gresource.xml -+++ b/data/greeter.gresource.xml -@@ -2,7 +2,6 @@ - - - Card.css -- Check.css - DateTime.css - MainWindow.css - -diff --git a/src/Cards/UserCard.vala b/src/Cards/UserCard.vala -index 83df22c..02d2b0a 100644 ---- a/src/Cards/UserCard.vala -+++ b/src/Cards/UserCard.vala -@@ -42,7 +42,6 @@ public class Greeter.UserCard : Greeter.BaseCard { - private Gtk.Stack login_stack; - private Greeter.PasswordEntry password_entry; - -- private unowned Gtk.StyleContext logged_in_context; - private weak Gtk.StyleContext main_grid_style_context; - private weak Gtk.StyleContext password_entry_context; - -@@ -214,14 +213,10 @@ public class Greeter.UserCard : Greeter.BaseCard { - }; - avatar_overlay.add (avatar); - -- var logged_in = new SelectionCheck () { -- halign = Gtk.Align.END, -- valign = Gtk.Align.END -- }; -- -- logged_in_context = logged_in.get_style_context (); -- - if (lightdm_user.logged_in) { -+ var logged_in = new Gtk.Image.from_icon_name ("selection-checked", Gtk.IconSize.LARGE_TOOLBAR); -+ logged_in.halign = logged_in.valign = Gtk.Align.END; -+ - avatar_overlay.add_overlay (logged_in); - - session_button.sensitive = false; -@@ -304,7 +299,6 @@ public class Greeter.UserCard : Greeter.BaseCard { - gtksettings.gtk_theme_name = "io.elementary.stylesheet." + accent_to_string (prefers_accent_color); - - var style_provider = Gtk.CssProvider.get_named (gtksettings.gtk_theme_name, null); -- logged_in_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); - password_entry_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); - } - -@@ -451,21 +445,4 @@ public class Greeter.UserCard : Greeter.BaseCard { - return GLib.Source.REMOVE; - }); - } -- -- private class SelectionCheck : Gtk.Spinner { -- private static Gtk.CssProvider check_provider; -- -- class construct { -- set_css_name (Gtk.STYLE_CLASS_CHECK); -- } -- -- static construct { -- check_provider = new Gtk.CssProvider (); -- check_provider.load_from_resource ("/io/elementary/greeter/Check.css"); -- } -- -- construct { -- get_style_context ().add_provider (check_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER); -- } -- } - } From 35bedf2f8947a2423632fd0aa2f25ddb6bda0c15 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 13 Feb 2022 17:24:33 +0800 Subject: [PATCH 4/5] 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. (cherry picked from commit f29955df819d176e269725557876fca38ecf10d7) Note: the above is the original commit message, the patch has been accepted on upstream. --- .../desktop/elementary-greeter/default.nix | 3 +++ .../elementary-greeter/fix-crash.patch | 21 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 18e00e63bccbc..a72c66d3b9457 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -94,6 +94,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 ]; preFixup = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch new file mode 100644 index 0000000000000..ca6f6aab6d606 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch @@ -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 + }; From cc8e6fffe0abd75de81622620115780669cd9056 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 1 Mar 2022 10:15:17 +0800 Subject: [PATCH 5/5] pantheon.elementary-greeter: 6.0.1 -> 6.0.2 (cherry picked from commit 4646e7f59cd6865cd04293865f39bdd5fe8b4477) --- .../desktop/elementary-greeter/default.nix | 7 ++----- .../elementary-greeter/fix-crash.patch | 21 ------------------- 2 files changed, 2 insertions(+), 26 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index a72c66d3b9457..82286be14ccd0 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { pname = "elementary-greeter"; - version = "6.0.1"; + version = "6.0.2"; repoName = "greeter"; @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1f606ds56sp1c58q8dblfpaq9pwwkqw9i4gkwksw45m2xkwlbflq"; + sha256 = "sha256-0chBM8JuCYgZXHneiSxSICZwBVm2Vgx+bas9wUjbnyg="; }; passthru = { @@ -94,9 +94,6 @@ 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 ]; preFixup = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch deleted file mode 100644 index ca6f6aab6d606..0000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch +++ /dev/null @@ -1,21 +0,0 @@ -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 - };