diff --git a/pkgs/applications/kde/grantleetheme.nix b/pkgs/applications/kde/grantleetheme.nix index 9555e153a30..976ccbe28ce 100644 --- a/pkgs/applications/kde/grantleetheme.nix +++ b/pkgs/applications/kde/grantleetheme.nix @@ -10,9 +10,11 @@ mkDerivation { license = with lib.licenses; [ gpl2 lgpl21 fdl12 ]; maintainers = kdepimTeam; }; + output = [ "out" "dev" ]; + patches = [ ./grantleetheme_check_null.patch ]; nativeBuildInputs = [ extra-cmake-modules kdoctools ]; buildInputs = [ grantlee5 ki18n kiconthemes knewstuff kservice kxmlgui qtbase ]; - output = [ "out" "dev" ]; + propagatedBuildInputs = [ grantlee5 kiconthemes knewstuff ]; } diff --git a/pkgs/applications/kde/grantleetheme_check_null.patch b/pkgs/applications/kde/grantleetheme_check_null.patch new file mode 100644 index 00000000000..730d5b0fe26 --- /dev/null +++ b/pkgs/applications/kde/grantleetheme_check_null.patch @@ -0,0 +1,25 @@ +diff --git a/src/grantleetheme.cpp b/src/grantleetheme.cpp +index b86fc3a..8af72f4 100644 +--- a/src/grantleetheme.cpp ++++ b/src/grantleetheme.cpp +@@ -102,7 +102,10 @@ QString ThemePrivate::errorTemplate(const QString &reason, + Grantlee::Context ctx = createContext(); + ctx.insert(QStringLiteral("error"), reason); + ctx.insert(QStringLiteral("templateName"), origTemplateName); +- ctx.insert(QStringLiteral("errorMessage"), failedTemplate->errorString()); ++ const QString errorString = failedTemplate ++ ? failedTemplate->errorString() ++ : QStringLiteral("(null template)"); ++ ctx.insert(QStringLiteral("errorMessage"), errorString); + return tpl->render(&ctx); + } + +@@ -208,7 +211,7 @@ QString Theme::render(const QString &templateName, const QVariantHash &data, con + } + + Grantlee::Template tpl = d->loader->loadByName(templateName, ThemePrivate::sEngine); +- if (tpl->error()) { ++ if (!tpl || tpl->error()) { + return d->errorTemplate(i18n("Template parsing error"), templateName, tpl); + } +