diff options
Diffstat (limited to 'src/software-dbus/LMI_SoftwareIdentityResourceProvider.c')
-rw-r--r-- | src/software-dbus/LMI_SoftwareIdentityResourceProvider.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/software-dbus/LMI_SoftwareIdentityResourceProvider.c b/src/software-dbus/LMI_SoftwareIdentityResourceProvider.c index ecf1391..c92900e 100644 --- a/src/software-dbus/LMI_SoftwareIdentityResourceProvider.c +++ b/src/software-dbus/LMI_SoftwareIdentityResourceProvider.c @@ -58,6 +58,7 @@ static CMPIStatus LMI_SoftwareIdentityResourceEnumInstances( { PkTask *task = NULL; PkResults *results = NULL; + GError *gerror = NULL; GPtrArray *array = NULL; gboolean repo_enabled; gchar *repo_id = NULL, *repo_desc = NULL; @@ -67,8 +68,8 @@ static CMPIStatus LMI_SoftwareIdentityResourceEnumInstances( task = pk_task_new(); - results = pk_task_get_repo_list_sync(task, 0, NULL, NULL, NULL, NULL); - if (check_and_create_error_msg(results, + results = pk_task_get_repo_list_sync(task, 0, NULL, NULL, NULL, &gerror); + if (check_and_create_error_msg(results, gerror, "Getting list of repositories failed", error_msg, ERROR_MSG_LEN)) { goto done; } @@ -133,6 +134,8 @@ static CMPIStatus LMI_SoftwareIdentityResourceEnumInstances( } done: + g_clear_error(&gerror); + if (task) { g_object_unref(task); } @@ -254,6 +257,7 @@ KUint32 LMI_SoftwareIdentityResource_RequestStateChange( KUint32 result = KUINT32_INIT; PkTask *task = NULL; PkResults *results = NULL; + GError *gerror = NULL; gboolean enable; char error_msg[ERROR_MSG_LEN] = ""; unsigned ret = 1; @@ -285,8 +289,8 @@ KUint32 LMI_SoftwareIdentityResource_RequestStateChange( task = pk_task_new(); results = pk_task_repo_enable_sync(task, self->Name.chars, enable, NULL, - NULL, NULL, NULL); - if (check_and_create_error_msg(results, + NULL, NULL, &gerror); + if (check_and_create_error_msg(results, gerror, "Failed to set repository state", error_msg, ERROR_MSG_LEN)) { goto done; } @@ -294,6 +298,8 @@ KUint32 LMI_SoftwareIdentityResource_RequestStateChange( ret = 0; done: + g_clear_error(&gerror); + if (task) { g_object_unref(task); } |