diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix index 956a87773d6d..91c495563058 100644 --- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix @@ -38,6 +38,11 @@ stdenv.mkDerivation rec { hash = "sha256-d7h9OJ39HVQNCHNr13M1ybDFoU3Xnd1PEczGLHZU/lU="; }; + patches = [ + # See https://github.com/linuxmint/cinnamon-screensaver/issues/446#issuecomment-1819580053 + ./fix-broken-theming-with-pygobject-3-46.patch + ]; + nativeBuildInputs = [ pkg-config wrapGAppsHook diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch b/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch new file mode 100644 index 000000000000..c594826d5261 --- /dev/null +++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/fix-broken-theming-with-pygobject-3-46.patch @@ -0,0 +1,17 @@ +diff --git a/src/cinnamon-screensaver-main.py b/src/cinnamon-screensaver-main.py +index 05b727c..a185159 100755 +--- a/src/cinnamon-screensaver-main.py ++++ b/src/cinnamon-screensaver-main.py +@@ -139,9 +139,9 @@ class Main(Gtk.Application): + + fallback_prov = Gtk.CssProvider() + +- if fallback_prov.load_from_data(fallback_css.encode()): +- Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), fallback_prov, 600) +- Gtk.StyleContext.reset_widgets(Gdk.Screen.get_default()) ++ fallback_prov.load_from_data(fallback_css.encode()) ++ Gtk.StyleContext.add_provider_for_screen (Gdk.Screen.get_default(), fallback_prov, 600) ++ Gtk.StyleContext.reset_widgets(Gdk.Screen.get_default()) + + if __name__ == "__main__": + setproctitle.setproctitle('cinnamon-screensaver')