[gnome-packagekit/glib2: 45/79] moo
- From: Richard Hughes <rhughes src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gnome-packagekit/glib2: 45/79] moo
- Date: Tue, 6 Oct 2009 09:48:31 +0000 (UTC)
commit 22bd137cad1e28571738668a3caff841966733a9
Author: Richard Hughes <richard hughsie com>
Date: Sat Sep 26 13:13:19 2009 +0100
moo
src/gpk-check-update.c | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
---
diff --git a/src/gpk-check-update.c b/src/gpk-check-update.c
index 50a6f23..8325acd 100644
--- a/src/gpk-check-update.c
+++ b/src/gpk-check-update.c
@@ -1027,16 +1027,14 @@ out:
* gpk_check_update_get_active_roles:
**/
static PkBitfield
-gpk_check_update_get_active_roles (GpkCheckUpdate *cupdate)
+gpk_check_update_get_active_roles (GpkCheckUpdate *cupdate, gchar **tids)
{
PkRoleEnum role;
PkBitfield roles = 0;
- gchar **tids;
guint i;
PkProgress *progress;
GError *error = NULL;
- tids = pk_transaction_list_get_ids (cupdate->priv->tlist);
for (i=0; tids[i] != NULL; i++) {
/* get progress */
progress = pk_client_get_progress (PK_CLIENT(cupdate->priv->task), tids[i], cupdate->priv->cancellable, &error);
@@ -1063,10 +1061,12 @@ static void
gpk_check_update_query_updates (GpkCheckUpdate *cupdate)
{
PkBitfield roles;
+ gchar **tids;
g_return_if_fail (GPK_IS_CHECK_UPDATE (cupdate));
/* No point if we are already updating */
- roles = gpk_check_update_get_active_roles (cupdate);
+ tids = pk_transaction_list_get_ids (cupdate->priv->tlist);
+ roles = gpk_check_update_get_active_roles (cupdate, tids);
if (pk_bitfield_contain (roles, PK_ROLE_ENUM_UPDATE_PACKAGES) ||
pk_bitfield_contain (roles, PK_ROLE_ENUM_UPDATE_SYSTEM)) {
egg_debug ("Not checking for updates as already in progress");
@@ -1077,6 +1077,7 @@ gpk_check_update_query_updates (GpkCheckUpdate *cupdate)
pk_client_get_updates_async (PK_CLIENT(cupdate->priv->task), PK_FILTER_ENUM_NONE, cupdate->priv->cancellable, NULL, NULL,
(GAsyncReadyCallback) gpk_check_update_get_updates_finished_cb, cupdate);
out:
+ g_strfreev (tids);
return;
}
@@ -1148,13 +1149,13 @@ gpk_check_update_restart_schedule_cb (PkClient *client, GpkCheckUpdate *cupdate)
* gpk_check_update_transaction_list_changed_cb:
**/
static void
-gpk_check_update_transaction_list_changed_cb (PkControl *control, GpkCheckUpdate *cupdate)
+gpk_check_update_transaction_list_changed_cb (PkControl *control, gchar **transaction_ids, GpkCheckUpdate *cupdate)
{
PkBitfield roles;
g_return_if_fail (GPK_IS_CHECK_UPDATE (cupdate));
/* inhibit icon if we are updating */
- roles = gpk_check_update_get_active_roles (cupdate);
+ roles = gpk_check_update_get_active_roles (cupdate, transaction_ids);
cupdate->priv->icon_inhibit_update_in_progress =
(pk_bitfield_contain (roles, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
pk_bitfield_contain (roles, PK_ROLE_ENUM_UPDATE_PACKAGES));
@@ -1400,6 +1401,7 @@ gpk_check_update_init (GpkCheckUpdate *cupdate)
{
gboolean ret;
PkBitfield roles;
+ gchar **tids;
cupdate->priv = GPK_CHECK_UPDATE_GET_PRIVATE (cupdate);
@@ -1457,7 +1459,9 @@ gpk_check_update_init (GpkCheckUpdate *cupdate)
/* we need the task list so we can hide the update icon when we are doing the update */
cupdate->priv->tlist = pk_transaction_list_new ();
- roles = gpk_check_update_get_active_roles (cupdate);
+ tids = pk_transaction_list_get_ids (cupdate->priv->tlist);
+ roles = gpk_check_update_get_active_roles (cupdate, tids);
+ g_strfreev (tids);
/* coldplug update in progress */
cupdate->priv->icon_inhibit_update_in_progress =
(pk_bitfield_contain (roles, PK_ROLE_ENUM_UPDATE_SYSTEM) ||
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]