update: Don't update appdata if transaction was aborted by user

Closes: #1797
Approved by: alexlarsson
This commit is contained in:
Alexander Larsson 2018-06-18 14:37:46 +02:00 committed by Atomic Bot
parent 4c8f788ecd
commit 3367938432
3 changed files with 23 additions and 4 deletions

View File

@ -230,6 +230,9 @@ flatpak_builtin_update (int argc,
if (!flatpak_transaction_is_empty (transaction) &&
!flatpak_cli_transaction_run (transaction, cancellable, error))
return FALSE;
if (flatpak_cli_transaction_was_aborted (transaction))
return TRUE;
}
if (n_prefs == 0)

View File

@ -35,6 +35,7 @@ struct _FlatpakCliTransaction {
gboolean disable_interaction;
gboolean stop_on_first_error;
gboolean is_user;
gboolean aborted;
GError *first_operation_error;
gboolean progress_initialized;
@ -403,11 +404,17 @@ flatpak_cli_transaction_run (FlatpakTransaction *transaction,
/* If we got some weird error (i.e. not ABORTED because we chose to abort
on an error, report that */
if (!res &&
!g_error_matches (local_error, FLATPAK_ERROR, FLATPAK_ERROR_ABORTED))
if (!res)
{
g_propagate_error (error, g_steal_pointer (&local_error));
return FALSE;
if (g_error_matches (local_error, FLATPAK_ERROR, FLATPAK_ERROR_ABORTED))
{
self->aborted = TRUE;
}
else
{
g_propagate_error (error, g_steal_pointer (&local_error));
return FALSE;
}
}
if (self->first_operation_error)
@ -434,3 +441,11 @@ flatpak_cli_transaction_run (FlatpakTransaction *transaction,
return TRUE;
}
gboolean
flatpak_cli_transaction_was_aborted (FlatpakTransaction *transaction)
{
FlatpakCliTransaction *self = FLATPAK_CLI_TRANSACTION (transaction);
return self->aborted;
}

View File

@ -37,6 +37,7 @@ gboolean flatpak_cli_transaction_add_install (FlatpakTransaction *self,
const char *ref,
const char **subpaths,
GError **error);
gboolean flatpak_cli_transaction_was_aborted (FlatpakTransaction *transaction);
gboolean flatpak_cli_transaction_run (FlatpakTransaction *transaction,
GCancellable *cancellable,