[gnome-software] Get rid of last two g_cancellable_reset uses
- From: Kalev Lember <klember src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Get rid of last two g_cancellable_reset uses
- Date: Sun, 5 Oct 2014 19:39:23 +0000 (UTC)
commit de2f1828dfc0ebf22cbbdfb9b3ff155b8ce0f374
Author: Kalev Lember <kalevlember gmail com>
Date: Sun Oct 5 21:36:38 2014 +0200
Get rid of last two g_cancellable_reset uses
It's safer to create new cancellables each time instead of resetting the
existing ones.
src/gs-shell-category.c | 14 ++++++++++----
src/gs-shell-updates.c | 16 ++++++++++++----
2 files changed, 22 insertions(+), 8 deletions(-)
---
diff --git a/src/gs-shell-category.c b/src/gs-shell-category.c
index 02425f1..e332610 100644
--- a/src/gs-shell-category.c
+++ b/src/gs-shell-category.c
@@ -134,8 +134,11 @@ gs_shell_category_populate_filtered (GsShellCategory *shell)
GtkWidget *tile;
guint i;
- g_cancellable_cancel (priv->cancellable);
- g_cancellable_reset (priv->cancellable);
+ if (priv->cancellable != NULL) {
+ g_cancellable_cancel (priv->cancellable);
+ g_object_unref (priv->cancellable);
+ }
+ priv->cancellable = g_cancellable_new ();
parent = gs_category_get_parent (priv->category);
if (parent == NULL) {
@@ -281,10 +284,14 @@ gs_shell_category_finalize (GObject *object)
GsShellCategory *shell = GS_SHELL_CATEGORY (object);
GsShellCategoryPrivate *priv = shell->priv;
+ if (priv->cancellable != NULL) {
+ g_cancellable_cancel (priv->cancellable);
+ g_clear_object (&priv->cancellable);
+ }
+
g_clear_object (&priv->builder);
g_clear_object (&priv->category);
g_clear_object (&priv->plugin_loader);
- g_clear_object (&priv->cancellable);
g_clear_object (&priv->col0_placeholder);
g_clear_object (&priv->col1_placeholder);
@@ -346,7 +353,6 @@ gs_shell_category_setup (GsShellCategory *shell_category,
priv->plugin_loader = g_object_ref (plugin_loader);
priv->builder = g_object_ref (builder);
- priv->cancellable = g_cancellable_new ();
priv->shell = shell;
g_signal_connect (priv->listbox_filter, "row-selected", G_CALLBACK (filter_selected), shell_category);
diff --git a/src/gs-shell-updates.c b/src/gs-shell-updates.c
index 5d7bb31..222db40 100644
--- a/src/gs-shell-updates.c
+++ b/src/gs-shell-updates.c
@@ -666,7 +666,13 @@ gs_shell_updates_get_new_updates (GsShellUpdates *shell_updates)
priv->state == GS_SHELL_UPDATES_STATE_HAS_UPDATES ?
GS_SHELL_UPDATES_STATE_ACTION_REFRESH_HAS_UPDATES :
GS_SHELL_UPDATES_STATE_ACTION_REFRESH_NO_UPDATES);
- g_cancellable_reset (priv->cancellable_refresh);
+
+ if (priv->cancellable_refresh != NULL) {
+ g_cancellable_cancel (priv->cancellable_refresh);
+ g_object_unref (priv->cancellable_refresh);
+ }
+ priv->cancellable_refresh = g_cancellable_new ();
+
gs_plugin_loader_refresh_async (priv->plugin_loader,
10 * 60,
GS_PLUGIN_REFRESH_FLAGS_UPDATES,
@@ -755,6 +761,7 @@ gs_shell_updates_button_refresh_cb (GtkWidget *widget,
if (priv->state == GS_SHELL_UPDATES_STATE_ACTION_REFRESH_HAS_UPDATES ||
priv->state == GS_SHELL_UPDATES_STATE_ACTION_REFRESH_NO_UPDATES) {
g_cancellable_cancel (priv->cancellable_refresh);
+ g_clear_object (&priv->cancellable_refresh);
return;
}
@@ -982,7 +989,6 @@ gs_shell_updates_init (GsShellUpdates *shell_updates)
shell_updates->priv = gs_shell_updates_get_instance_private (shell_updates);
shell_updates->priv->control = pk_control_new ();
- shell_updates->priv->cancellable_refresh = g_cancellable_new ();
shell_updates->priv->state = GS_SHELL_UPDATES_STATE_STARTUP;
shell_updates->priv->settings = g_settings_new ("org.gnome.software");
shell_updates->priv->desktop_settings = g_settings_new ("org.gnome.desktop.interface");
@@ -1001,9 +1007,11 @@ gs_shell_updates_finalize (GObject *object)
GsShellUpdates *shell_updates = GS_SHELL_UPDATES (object);
GsShellUpdatesPrivate *priv = shell_updates->priv;
- g_cancellable_cancel (priv->cancellable_refresh);
+ if (priv->cancellable_refresh != NULL) {
+ g_cancellable_cancel (priv->cancellable_refresh);
+ g_object_unref (priv->cancellable_refresh);
+ }
- g_object_unref (priv->cancellable_refresh);
g_object_unref (priv->builder);
g_object_unref (priv->plugin_loader);
g_object_unref (priv->cancellable);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]