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