diff --git a/src/data/keyword.cpp b/src/data/keyword.cpp
index 352b4adc..4ea72a78 100644
--- a/src/data/keyword.cpp
+++ b/src/data/keyword.cpp
@@ -60,6 +60,9 @@ void read_compat(Reader& tag, Keyword* k) {
if (start != String::npos && end != String::npos) {
k->match += separator.substr(start + 1, end - start - 1);
}
+ if (parameter == _("no parameter")) {
+ parameter.clear(); // was used for magic to indicate absence of parameter
+ }
if (!parameter.empty()) {
k->match += _("") + parameter + _("");
}
diff --git a/src/gui/control/package_list.cpp b/src/gui/control/package_list.cpp
index ae5aeab2..42b3aedd 100644
--- a/src/gui/control/package_list.cpp
+++ b/src/gui/control/package_list.cpp
@@ -52,7 +52,7 @@ void PackageList::showData(const String& pattern) {
while (!f.empty()) {
// try to open the package
// try {
- PackagedP package = ::packages.openAny(f);
+ PackagedP package = ::packages.openAny(f, true);
// open image
InputStreamP stream = package->openIconFile();
Image img;
diff --git a/src/gui/control/package_list.hpp b/src/gui/control/package_list.hpp
index 73169c23..94a99eab 100644
--- a/src/gui/control/package_list.hpp
+++ b/src/gui/control/package_list.hpp
@@ -41,6 +41,7 @@ class PackageList : public GalleryList {
shared_ptr getSelection() const {
shared_ptr ret = dynamic_pointer_cast(packages.at(selection).package);
if (!ret) throw InternalError(_("PackageList: Selected package has the wrong type"));
+ ret->loadFully();
return ret;
}
diff --git a/src/gui/update_checker.cpp b/src/gui/update_checker.cpp
index 255a8619..dca481a3 100644
--- a/src/gui/update_checker.cpp
+++ b/src/gui/update_checker.cpp
@@ -8,22 +8,38 @@
#include
#include
+#include
#include
#include