diff options
author | Richard Hughes <richard@hughsie.com> | 2014-07-11 09:02:03 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-07-11 11:25:39 +0100 |
commit | bad76fb07a4fe946aff70cf36b87b3959c6b4fe5 (patch) | |
tree | 1a1f39a8d4c91d19ff6901893c022b52260e225c | |
parent | ca31d4ebf39813a085783fe604ad430df8fe387e (diff) | |
download | appstream-glib-bad76fb07a4fe946aff70cf36b87b3959c6b4fe5.tar.gz |
Do not allow RequiresAppdata to become true with AppData
-rw-r--r-- | libappstream-builder/asb-app.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libappstream-builder/asb-app.c b/libappstream-builder/asb-app.c index 951525c..0b7af3f 100644 --- a/libappstream-builder/asb-app.c +++ b/libappstream-builder/asb-app.c @@ -42,6 +42,7 @@ struct _AsbAppPrivate GPtrArray *requires_appdata; GdkPixbuf *pixbuf; AsbPackage *pkg; + gboolean ignore_requires_appdata; }; G_DEFINE_TYPE_WITH_PRIVATE (AsbApp, asb_app, AS_TYPE_APP) @@ -156,6 +157,8 @@ asb_app_add_requires_appdata (AsbApp *app, const gchar *fmt, ...) AsbAppPrivate *priv = GET_PRIVATE (app); gchar *tmp; va_list args; + if (priv->ignore_requires_appdata) + return; va_start (args, fmt); tmp = g_strdup_vprintf (fmt, args); va_end (args); @@ -176,9 +179,12 @@ asb_app_set_requires_appdata (AsbApp *app, gboolean requires_appdata) { AsbAppPrivate *priv = GET_PRIVATE (app); if (requires_appdata) { + if (priv->ignore_requires_appdata) + return; g_ptr_array_add (priv->requires_appdata, NULL); } else { g_ptr_array_set_size (priv->requires_appdata, 0); + priv->ignore_requires_appdata = TRUE; } } |