forked from mirrors/nixpkgs
grantleetheme: check for a null pointer
This commit is contained in:
parent
fa8d240188
commit
828124b420
|
@ -10,9 +10,11 @@ mkDerivation {
|
||||||
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
|
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
|
||||||
maintainers = kdepimTeam;
|
maintainers = kdepimTeam;
|
||||||
};
|
};
|
||||||
|
output = [ "out" "dev" ];
|
||||||
|
patches = [ ./grantleetheme_check_null.patch ];
|
||||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
grantlee5 ki18n kiconthemes knewstuff kservice kxmlgui qtbase
|
grantlee5 ki18n kiconthemes knewstuff kservice kxmlgui qtbase
|
||||||
];
|
];
|
||||||
output = [ "out" "dev" ];
|
propagatedBuildInputs = [ grantlee5 kiconthemes knewstuff ];
|
||||||
}
|
}
|
||||||
|
|
25
pkgs/applications/kde/grantleetheme_check_null.patch
Normal file
25
pkgs/applications/kde/grantleetheme_check_null.patch
Normal file
|
@ -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);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue