summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libappstream-glib/as-app.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libappstream-glib/as-app.c b/libappstream-glib/as-app.c
index d1c77d9..0510b98 100644
--- a/libappstream-glib/as-app.c
+++ b/libappstream-glib/as-app.c
@@ -2764,10 +2764,8 @@ as_app_parse_file (AsApp *app,
if (priv->source_kind == AS_APP_SOURCE_KIND_UNKNOWN) {
if (g_str_has_suffix (filename, ".desktop")) {
as_app_set_source_kind (app, AS_APP_SOURCE_KIND_DESKTOP);
- } else if (g_str_has_suffix (filename, ".appdata.xml")) {
- as_app_set_source_kind (app, AS_APP_SOURCE_KIND_APPDATA);
- } else if (g_str_has_suffix (filename, ".appdata.xml.in")) {
- flags |= AS_APP_PARSE_FLAG_CONVERT_TRANSLATABLE;
+ } else if (g_str_has_suffix (filename, ".appdata.xml") ||
+ g_str_has_suffix (filename, ".appdata.xml.in")) {
as_app_set_source_kind (app, AS_APP_SOURCE_KIND_APPDATA);
} else {
g_set_error (error,
@@ -2779,6 +2777,10 @@ as_app_parse_file (AsApp *app,
}
}
+ /* convert <_p> into <p> for easy validation */
+ if (g_str_has_suffix (filename, ".appdata.xml.in"))
+ flags |= AS_APP_PARSE_FLAG_CONVERT_TRANSLATABLE;
+
/* parse */
switch (priv->source_kind) {
case AS_APP_SOURCE_KIND_DESKTOP: