diff --git a/src/fu-engine.c b/src/fu-engine.c index 7b0b9111d..a2978cab5 100644 --- a/src/fu-engine.c +++ b/src/fu-engine.c @@ -965,6 +965,7 @@ fu_engine_vendor_quirk_release_version (FuEngine *self, AsApp *app) AsVersionParseFlag flags = AS_VERSION_PARSE_FLAG_USE_TRIPLET; GPtrArray *releases; const gchar *quirk; + const gchar *version_format; /* no quirk required */ if (as_app_get_kind (app) != AS_APP_KIND_FIRMWARE) @@ -977,6 +978,11 @@ fu_engine_vendor_quirk_release_version (FuEngine *self, AsApp *app) if (g_strcmp0 (quirk, "none") == 0) flags = AS_VERSION_PARSE_FLAG_NONE; + /* specified in metadata */ + version_format = as_app_get_metadata_item (app, "LVFS::VersionFormat"); + if (g_strcmp0 (version_format, "quad") == 0) + flags = AS_VERSION_PARSE_FLAG_NONE; + /* fix each release */ releases = as_app_get_releases (app); for (guint i = 0; i < releases->len; i++) {