[gnome-software] Make feature style code safe against reloading
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-software] Make feature style code safe against reloading
- Date: Sat, 7 Sep 2013 02:46:31 +0000 (UTC)
commit a67338bdcee46a8a22b9447f813211d01eb74c14
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Sep 6 22:45:49 2013 -0400
Make feature style code safe against reloading
We currently don't ever do that, but the code shold be safe
against loading a different featured app.
src/gs-shell-overview.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
---
diff --git a/src/gs-shell-overview.c b/src/gs-shell-overview.c
index 9ae9441..771b068 100644
--- a/src/gs-shell-overview.c
+++ b/src/gs-shell-overview.c
@@ -42,6 +42,7 @@ struct GsShellOverviewPrivate
gboolean cache_valid;
GsShell *shell;
gint refresh_count;
+ GtkCssProvider *feature_style;
};
G_DEFINE_TYPE (GsShellOverview, gs_shell_overview, G_TYPE_OBJECT)
@@ -265,7 +266,6 @@ gs_shell_overview_get_featured_cb (GObject *source_object,
GtkWidget *widget;
const gchar *text;
gchar *css;
- GtkCssProvider *provider;
list = gs_plugin_loader_get_featured_finish (plugin_loader,
res,
@@ -326,11 +326,7 @@ gs_shell_overview_get_featured_cb (GObject *source_object,
gs_app_get_metadata_item (app, "featured-gradient1-color"),
gs_app_get_metadata_item (app, "featured-gradient2-color"));
- provider = gtk_css_provider_new ();
- gtk_css_provider_load_from_data (provider, css, -1, NULL);
- gtk_style_context_add_provider_for_screen (gtk_widget_get_screen (button),
- GTK_STYLE_PROVIDER (provider),
- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ gtk_css_provider_load_from_data (priv->feature_style, css, -1, NULL);
g_free (css);
@@ -458,6 +454,11 @@ gs_shell_overview_setup (GsShellOverview *shell_overview,
/* avoid a ref cycle */
priv->shell = shell;
+
+ priv->feature_style = gtk_css_provider_new ();
+ gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
+ GTK_STYLE_PROVIDER (priv->feature_style),
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
}
/**
@@ -500,6 +501,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_unref (priv->feature_style);
G_OBJECT_CLASS (gs_shell_overview_parent_class)->finalize (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]