diff --git a/pkgs/kde/plasma/kglobalacceld/default.nix b/pkgs/kde/plasma/kglobalacceld/default.nix index caafb6c91347..495392430e17 100644 --- a/pkgs/kde/plasma/kglobalacceld/default.nix +++ b/pkgs/kde/plasma/kglobalacceld/default.nix @@ -1,4 +1,9 @@ {mkKdeDerivation}: mkKdeDerivation { pname = "kglobalacceld"; + + # Don't delete shortcuts when applications disappear from sycoca, + # because for us they sometimes do. + # FIXME: make them actually not do that instead. + patches = [./dont-delete-shortcuts.patch]; } diff --git a/pkgs/kde/plasma/kglobalacceld/dont-delete-shortcuts.patch b/pkgs/kde/plasma/kglobalacceld/dont-delete-shortcuts.patch new file mode 100644 index 000000000000..497217616ef9 --- /dev/null +++ b/pkgs/kde/plasma/kglobalacceld/dont-delete-shortcuts.patch @@ -0,0 +1,14 @@ +diff --git a/src/globalshortcutsregistry.cpp b/src/globalshortcutsregistry.cpp +index 3cbaded..9adcf38 100644 +--- a/src/globalshortcutsregistry.cpp ++++ b/src/globalshortcutsregistry.cpp +@@ -909,7 +909,8 @@ void GlobalShortcutsRegistry::refreshServices() + return false; + } + +- return true; ++ qCDebug(KGLOBALACCELD) << "NIXPKGS: component" << component->uniqueName() << "disappeared, keeping shortcuts anyway"; ++ return false; + }); + + m_components.erase(it, m_components.end());