[gnome-software] Keep a GCancellable reference in the GsShell panels
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Keep a GCancellable reference in the GsShell panels
- Date: Fri, 23 Aug 2013 10:10:48 +0000 (UTC)
commit d7543126c872766204cb86ec8b11d848c8bcd9ba
Author: Richard Hughes <richard hughsie com>
Date: Fri Aug 23 09:47:35 2013 +0100
Keep a GCancellable reference in the GsShell panels
src/gs-shell-installed.c | 13 ++++++++-----
src/gs-shell-installed.h | 6 +++---
src/gs-shell-overview.c | 14 +++++++++-----
src/gs-shell-overview.h | 6 +++---
src/gs-shell-updates.c | 12 +++++++-----
src/gs-shell-updates.h | 6 +++---
src/gs-shell.c | 15 +++++++++------
7 files changed, 42 insertions(+), 30 deletions(-)
---
diff --git a/src/gs-shell-installed.c b/src/gs-shell-installed.c
index 61dfaf3..37cb24e 100644
--- a/src/gs-shell-installed.c
+++ b/src/gs-shell-installed.c
@@ -36,6 +36,7 @@ struct GsShellInstalledPrivate
{
GsPluginLoader *plugin_loader;
GtkBuilder *builder;
+ GCancellable *cancellable;
GtkListBox *list_box_installed;
GtkSizeGroup *sizegroup_image;
GtkSizeGroup *sizegroup_name;
@@ -216,7 +217,7 @@ gs_shell_installed_app_remove_cb (GsAppWidget *app_widget,
helper->app_widget = g_object_ref (app_widget);
gs_plugin_loader_app_remove (priv->plugin_loader,
app,
- NULL, /* cancellable */
+ priv->cancellable,
gs_shell_installed_finished_func,
helper);
}
@@ -283,8 +284,7 @@ out: ;
* gs_shell_installed_refresh:
**/
void
-gs_shell_installed_refresh (GsShellInstalled *shell_installed,
- GCancellable *cancellable)
+gs_shell_installed_refresh (GsShellInstalled *shell_installed)
{
GsShellInstalledPrivate *priv = shell_installed->priv;
GtkWidget *widget;
@@ -307,7 +307,7 @@ gs_shell_installed_refresh (GsShellInstalled *shell_installed,
/* get popular apps */
gs_plugin_loader_get_installed_async (priv->plugin_loader,
- cancellable,
+ priv->cancellable,
gs_shell_installed_get_installed_cb,
shell_installed);
priv->waiting = TRUE;
@@ -454,7 +454,8 @@ gs_shell_installed_pending_apps_changed_cb (GsPluginLoader *plugin_loader,
void
gs_shell_installed_setup (GsShellInstalled *shell_installed,
GsPluginLoader *plugin_loader,
- GtkBuilder *builder)
+ GtkBuilder *builder,
+ GCancellable *cancellable)
{
GsShellInstalledPrivate *priv = shell_installed->priv;
GtkWidget *widget;
@@ -467,6 +468,7 @@ gs_shell_installed_setup (GsShellInstalled *shell_installed,
shell_installed);
priv->builder = g_object_ref (builder);
+ priv->cancellable = g_object_ref (cancellable);
/* refilter on search box changing */
widget = GTK_WIDGET (gtk_builder_get_object (priv->builder, "entry_search"));
@@ -530,6 +532,7 @@ gs_shell_installed_finalize (GObject *object)
g_object_unref (priv->builder);
g_object_unref (priv->plugin_loader);
+ g_object_unref (priv->cancellable);
G_OBJECT_CLASS (gs_shell_installed_parent_class)->finalize (object);
}
diff --git a/src/gs-shell-installed.h b/src/gs-shell-installed.h
index 9de429e..aefc50a 100644
--- a/src/gs-shell-installed.h
+++ b/src/gs-shell-installed.h
@@ -53,10 +53,10 @@ GType gs_shell_installed_get_type (void);
GsShellInstalled *gs_shell_installed_new (void);
void gs_shell_installed_invalidate (GsShellInstalled *shell_installed);
-void gs_shell_installed_refresh (GsShellInstalled *shell_installed,
- GCancellable *cancellable);
+void gs_shell_installed_refresh (GsShellInstalled *shell_installed);
void gs_shell_installed_setup (GsShellInstalled *shell_installed,
GsPluginLoader *plugin_loader,
- GtkBuilder *builder);
+ GtkBuilder *builder,
+ GCancellable *cancellable);
#endif /* __GS_SHELL_INSTALLED_H */
diff --git a/src/gs-shell-overview.c b/src/gs-shell-overview.c
index b2eea9c..33eac50 100644
--- a/src/gs-shell-overview.c
+++ b/src/gs-shell-overview.c
@@ -34,6 +34,7 @@ struct GsShellOverviewPrivate
{
GsPluginLoader *plugin_loader;
GtkBuilder *builder;
+ GCancellable *cancellable;
gboolean cache_valid;
};
@@ -419,7 +420,7 @@ out:
* gs_shell_overview_refresh:
**/
void
-gs_shell_overview_refresh (GsShellOverview *shell_overview, GCancellable *cancellable)
+gs_shell_overview_refresh (GsShellOverview *shell_overview)
{
GsShellOverviewPrivate *priv = shell_overview->priv;
/* FIXME get real categories */
@@ -451,13 +452,13 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview, GCancellable *cancel
/* get popular apps */
gs_plugin_loader_get_popular_async (priv->plugin_loader,
- cancellable,
+ priv->cancellable,
gs_shell_overview_get_popular_cb,
shell_overview);
/* get featured apps */
gs_plugin_loader_get_featured_async (priv->plugin_loader,
- cancellable,
+ priv->cancellable,
gs_shell_overview_get_featured_cb,
shell_overview);
priv->cache_valid = TRUE;
@@ -468,8 +469,9 @@ gs_shell_overview_refresh (GsShellOverview *shell_overview, GCancellable *cancel
*/
void
gs_shell_overview_setup (GsShellOverview *shell_overview,
- GsPluginLoader *plugin_loader,
- GtkBuilder *builder)
+ GsPluginLoader *plugin_loader,
+ GtkBuilder *builder,
+ GCancellable *cancellable)
{
GsShellOverviewPrivate *priv = shell_overview->priv;
@@ -477,6 +479,7 @@ gs_shell_overview_setup (GsShellOverview *shell_overview,
priv->plugin_loader = g_object_ref (plugin_loader);
priv->builder = g_object_ref (builder);
+ priv->cancellable = g_object_ref (cancellable);
}
/**
@@ -518,6 +521,7 @@ gs_shell_overview_finalize (GObject *object)
g_object_unref (priv->builder);
g_object_unref (priv->plugin_loader);
+ g_object_unref (priv->cancellable);
G_OBJECT_CLASS (gs_shell_overview_parent_class)->finalize (object);
}
diff --git a/src/gs-shell-overview.h b/src/gs-shell-overview.h
index 37bf841..851ecae 100644
--- a/src/gs-shell-overview.h
+++ b/src/gs-shell-overview.h
@@ -57,11 +57,11 @@ GType gs_shell_overview_get_type (void);
GsShellOverview *gs_shell_overview_new (void);
void gs_shell_overview_invalidate (GsShellOverview *shell_overview);
-void gs_shell_overview_refresh (GsShellOverview *shell_overview,
- GCancellable *cancellable);
+void gs_shell_overview_refresh (GsShellOverview *shell_overview);
void gs_shell_overview_setup (GsShellOverview *shell_overview,
GsPluginLoader *plugin_loader,
- GtkBuilder *builder);
+ GtkBuilder *builder,
+ GCancellable *cancellable);
void gs_shell_overview_set_category (GsShellOverview *shell_overview,
const gchar *category);
diff --git a/src/gs-shell-updates.c b/src/gs-shell-updates.c
index 17d0475..3c06928 100644
--- a/src/gs-shell-updates.c
+++ b/src/gs-shell-updates.c
@@ -37,6 +37,7 @@ struct GsShellUpdatesPrivate
{
GsPluginLoader *plugin_loader;
GtkBuilder *builder;
+ GCancellable *cancellable;
GtkListBox *list_box_updates;
gboolean cache_valid;
gboolean waiting;
@@ -145,7 +146,7 @@ out:
* gs_shell_updates_refresh:
**/
void
-gs_shell_updates_refresh (GsShellUpdates *shell_updates, GCancellable *cancellable)
+gs_shell_updates_refresh (GsShellUpdates *shell_updates)
{
GsShellUpdatesPrivate *priv = shell_updates->priv;
GtkWidget *widget;
@@ -173,7 +174,7 @@ gs_shell_updates_refresh (GsShellUpdates *shell_updates, GCancellable *cancellab
_gtk_container_remove_all (GTK_CONTAINER (priv->list_box_updates));
gs_plugin_loader_get_updates_async (priv->plugin_loader,
- cancellable,
+ priv->cancellable,
(GAsyncReadyCallback) gs_shell_updates_get_updates_cb,
shell_updates);
priv->waiting = TRUE;
@@ -279,8 +280,6 @@ gs_shell_updates_unselect_treeview_cb (gpointer user_data)
static void
show_update_details (GsAppWidget *app_widget, GsShellUpdates *shell_updates)
{
-
-
GsApp *app = gs_app_widget_get_app (app_widget);
GsApp *app_related;
GsAppKind kind;
@@ -438,7 +437,8 @@ gs_shell_updates_button_update_all_cb (GtkButton *button,
void
gs_shell_updates_setup (GsShellUpdates *shell_updates,
GsPluginLoader *plugin_loader,
- GtkBuilder *builder)
+ GtkBuilder *builder,
+ GCancellable *cancellable)
{
GsShellUpdatesPrivate *priv = shell_updates->priv;
GtkCellRenderer *renderer;
@@ -453,6 +453,7 @@ gs_shell_updates_setup (GsShellUpdates *shell_updates,
G_CALLBACK (gs_shell_updates_pending_apps_changed_cb),
shell_updates);
priv->builder = g_object_ref (builder);
+ priv->cancellable = g_object_ref (cancellable);
/* setup updates */
priv->list_box_updates = GTK_LIST_BOX (gtk_list_box_new ());
@@ -543,6 +544,7 @@ gs_shell_updates_finalize (GObject *object)
g_object_unref (priv->builder);
g_object_unref (priv->plugin_loader);
+ g_object_unref (priv->cancellable);
G_OBJECT_CLASS (gs_shell_updates_parent_class)->finalize (object);
}
diff --git a/src/gs-shell-updates.h b/src/gs-shell-updates.h
index 859976b..5cdf42f 100644
--- a/src/gs-shell-updates.h
+++ b/src/gs-shell-updates.h
@@ -53,10 +53,10 @@ GType gs_shell_updates_get_type (void);
GsShellUpdates *gs_shell_updates_new (void);
void gs_shell_updates_invalidate (GsShellUpdates *shell_updates);
-void gs_shell_updates_refresh (GsShellUpdates *shell_updates,
- GCancellable *cancellable);
+void gs_shell_updates_refresh (GsShellUpdates *shell_updates);
void gs_shell_updates_setup (GsShellUpdates *shell_updates,
GsPluginLoader *plugin_loader,
- GtkBuilder *builder);
+ GtkBuilder *builder,
+ GCancellable *cancellable);
#endif /* __GS_SHELL_UPDATES_H */
diff --git a/src/gs-shell.c b/src/gs-shell.c
index f37fb5d..e26eb14 100644
--- a/src/gs-shell.c
+++ b/src/gs-shell.c
@@ -202,13 +202,13 @@ gs_shell_set_overview_mode (GsShell *shell, GsShellMode mode, GsApp *app, const
priv->mode = mode;
switch (mode) {
case GS_SHELL_MODE_OVERVIEW:
- gs_shell_overview_refresh (priv->shell_overview, priv->cancellable);
+ gs_shell_overview_refresh (priv->shell_overview);
break;
case GS_SHELL_MODE_INSTALLED:
- gs_shell_installed_refresh (priv->shell_installed, priv->cancellable);
+ gs_shell_installed_refresh (priv->shell_installed);
break;
case GS_SHELL_MODE_UPDATES:
- gs_shell_updates_refresh (priv->shell_updates, priv->cancellable);
+ gs_shell_updates_refresh (priv->shell_updates);
break;
case GS_SHELL_MODE_DETAILS:
tmp = gs_app_get_name (app);
@@ -394,13 +394,16 @@ gs_shell_setup (GsShell *shell, GsPluginLoader *plugin_loader, GCancellable *can
gs_shell_updates_setup (priv->shell_updates,
priv->plugin_loader,
- priv->builder);
+ priv->builder,
+ priv->cancellable);
gs_shell_installed_setup (priv->shell_installed,
priv->plugin_loader,
- priv->builder);
+ priv->builder,
+ priv->cancellable);
gs_shell_overview_setup (priv->shell_overview,
priv->plugin_loader,
- priv->builder);
+ priv->builder,
+ priv->cancellable);
g_signal_connect (priv->shell_overview, "set-overview-mode",
G_CALLBACK (gs_shell_set_overview_mode_cb), shell);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]