From 5937a4aff8cd96cfceff9e98ee108595a26dc696 Mon Sep 17 00:00:00 2001 From: Claudio Bley Date: Tue, 9 Feb 2021 14:38:15 +0100 Subject: [PATCH] spaceFM: Avoid segfault when running under Wayland SpaceFM is a Gtk+ application that was written with only the X11 backend in mind. By explicitly allowing only the "x11" backend, it will not try to use the wayland backend when it is run under sway, for example. Fixes #107242 --- pkgs/applications/misc/spacefm/default.nix | 8 +++++++- pkgs/applications/misc/spacefm/x11-only.patch | 10 ++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/misc/spacefm/x11-only.patch diff --git a/pkgs/applications/misc/spacefm/default.nix b/pkgs/applications/misc/spacefm/default.nix index e08240733d1..3d9f7204875 100644 --- a/pkgs/applications/misc/spacefm/default.nix +++ b/pkgs/applications/misc/spacefm/default.nix @@ -13,7 +13,13 @@ stdenv.mkDerivation rec { sha256 = "089r6i40lxcwzp60553b18f130asspnzqldlpii53smz52kvpirx"; }; - patches = [ ./glibc-fix.patch ]; + patches = [ + # fix compilation error due to missing include + ./glibc-fix.patch + + # restrict GDK backends to only X11 + ./x11-only.patch + ]; configureFlags = [ "--with-bash-path=${pkgs.bash}/bin/bash" diff --git a/pkgs/applications/misc/spacefm/x11-only.patch b/pkgs/applications/misc/spacefm/x11-only.patch new file mode 100644 index 00000000000..1b2f9f14582 --- /dev/null +++ b/pkgs/applications/misc/spacefm/x11-only.patch @@ -0,0 +1,10 @@ +--- a/src/main.c 2021-02-09 13:54:32.847364236 +0100 ++++ b/src/main.c 2021-02-09 10:41:51.541203271 +0100 +@@ -1350,6 +1351,7 @@ + vfs_file_monitor_clean(); + return 1; + } ++ gdk_set_allowed_backends("x11"); + gtk_init (&argc, &argv); + int ret = custom_dialog_init( argc, argv ); + if ( ret != 0 )