libostree: Ensure progress keys are all always set

If one of the progress keys is set in a pull operation, a ::changed
signal is emitted on the progress object, and the callback for that
could query any of the progress keys — so they all need to be set,
otherwise we get an assertion failure in ostree_async_progress_get() due
to a named key not existing.

Spotted by Dan Nicholson in PR #819.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Closes: #835
Approved by: cgwalters
This commit is contained in:
Philip Withnall authored and Atomic Bot committed 2017-05-05 14:58:03 +00:00
1 parent f1da7ec300
commit bf9772f231
1 file changed
+3
+3
View File
@@ -3477,6 +3477,9 @@ ostree_repo_pull_with_options (OstreeRepo *self,
guint shift;
GString *buf = g_string_new ("");
/* Ensure the rest of the progress keys are set appropriately. */
update_progress (pull_data);
if (bytes_transferred < 1024)
shift = 1;
else