[gnome-builder] flatpak: ensure dirty bit is not changed after creation
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] flatpak: ensure dirty bit is not changed after creation
- Date: Fri, 3 Aug 2018 21:08:11 +0000 (UTC)
commit a1f8cdfeb5931415cdff7e1eed355a35c5d99b50
Author: Christian Hergert <chergert redhat com>
Date: Fri Aug 3 14:05:12 2018 -0700
flatpak: ensure dirty bit is not changed after creation
By validating properties and changing state, we lost our FALSE state for
the dirty bit in the configuration. That resulted in write-back of the
configuration in situations where we don't want to do that.
src/plugins/flatpak/gbp-flatpak-configuration-provider.c | 3 +++
src/plugins/flatpak/gbp-flatpak-manifest.c | 5 ++++-
2 files changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
index 82bd55837..6a8f2c159 100644
--- a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
+++ b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
@@ -326,6 +326,8 @@ gbp_flatpak_configuration_provider_load_worker (IdeTask *task,
continue;
}
+ g_assert (ide_configuration_get_dirty (IDE_CONFIGURATION (manifest)) == FALSE);
+
g_signal_connect_object (manifest,
"needs-reload",
G_CALLBACK (manifest_needs_reload),
@@ -550,6 +552,7 @@ gbp_flatpak_configuration_provider_load_finish (IdeConfigurationProvider *provi
IdeConfiguration *config = g_ptr_array_index (configs, i);
g_assert (IDE_IS_CONFIGURATION (config));
+ g_assert (ide_configuration_get_dirty (config) == FALSE);
ide_configuration_provider_emit_added (provider, config);
}
diff --git a/src/plugins/flatpak/gbp-flatpak-manifest.c b/src/plugins/flatpak/gbp-flatpak-manifest.c
index dcd427ade..c2e421d80 100644
--- a/src/plugins/flatpak/gbp-flatpak-manifest.c
+++ b/src/plugins/flatpak/gbp-flatpak-manifest.c
@@ -457,9 +457,12 @@ gbp_flatpak_manifest_initable_init (GInitable *initable,
self->root = json_node_ref (root);
self->primary = json_object_ref (primary);
+ if (!validate_properties (self, error))
+ return FALSE;
+
ide_configuration_set_dirty (IDE_CONFIGURATION (self), FALSE);
- return validate_properties (self, error);
+ return TRUE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]