diff options
Diffstat (limited to 'x11-libs/gtk+/files/gtk+-3.2.4-fallback-theme.patch')
-rw-r--r-- | x11-libs/gtk+/files/gtk+-3.2.4-fallback-theme.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/x11-libs/gtk+/files/gtk+-3.2.4-fallback-theme.patch b/x11-libs/gtk+/files/gtk+-3.2.4-fallback-theme.patch deleted file mode 100644 index d2ec99db477f..000000000000 --- a/x11-libs/gtk+/files/gtk+-3.2.4-fallback-theme.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 65ba7fe4ae1ad96f69395fbc585c34fd577e5279 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev <tetromino@gentoo.org> -Date: Wed, 14 Mar 2012 23:08:53 -0400 -Subject: [PATCH] settings: fall back to settings.ini gtk theme if requested - theme fails - -If a gtk3 application is run in gnome2 and the settings daemon uses -xsettings to request a gtk2 theme with no gtk3 version (which is the -case by default), then instead of failing to load any theme, we should -attempt to fall back to the theme specified in settings.ini files. - -https://bugzilla.gnome.org/show_bug.cgi?id=654108 ---- - gtk/gtksettings.c | 23 +++++++++++++++++++++++ - 1 files changed, 23 insertions(+), 0 deletions(-) - -diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c -index 289006f..561cb56 100644 ---- a/gtk/gtksettings.c -+++ b/gtk/gtksettings.c -@@ -99,6 +99,7 @@ struct _GtkSettingsPrivate - GdkScreen *screen; - GtkCssProvider *theme_provider; - GtkCssProvider *key_theme_provider; -+ gchar *fallback_gtk_theme_name; - }; - - typedef enum -@@ -1420,6 +1421,8 @@ gtk_settings_finalize (GObject *object) - if (priv->key_theme_provider) - g_object_unref (priv->key_theme_provider); - -+ g_free (priv->fallback_gtk_theme_name); -+ - G_OBJECT_CLASS (gtk_settings_parent_class)->finalize (object); - } - -@@ -1769,6 +1772,12 @@ apply_queued_setting (GtkSettings *settings, - if (pspec->param_id == PROP_COLOR_SCHEME) - merge_color_scheme (settings, &tmp_value, qvalue->source); - -+ if (!g_strcmp0 (pspec->name, "gtk-theme-name") && qvalue->source == GTK_SETTINGS_SOURCE_DEFAULT) -+ { -+ g_free (priv->fallback_gtk_theme_name); -+ priv->fallback_gtk_theme_name = g_value_dup_string (&tmp_value); -+ } -+ - if (priv->property_values[pspec->param_id - 1].source <= qvalue->source) - { - g_value_copy (&tmp_value, &priv->property_values[pspec->param_id - 1].value); -@@ -2474,6 +2483,10 @@ _gtk_settings_reset_rc_values (GtkSettings *settings) - } - i++; - } -+ -+ g_free (priv->fallback_gtk_theme_name); -+ priv->fallback_gtk_theme_name = NULL; -+ - g_object_thaw_notify (G_OBJECT (settings)); - g_free (pspecs); - } -@@ -2759,6 +2772,16 @@ settings_update_theme (GtkSettings *settings) - - if (!provider) - provider = gtk_css_provider_get_named (theme_name, NULL); -+ -+ /* If we failed, fall back to the theme from settings.ini */ -+ if (!provider && priv->fallback_gtk_theme_name && *priv->fallback_gtk_theme_name -+ && g_strcmp0 (theme_name, priv->fallback_gtk_theme_name)) -+ { -+ provider = gtk_css_provider_get_named (priv->fallback_gtk_theme_name, NULL); -+ -+ if (!provider) -+ provider = gtk_css_provider_get_named (priv->fallback_gtk_theme_name, NULL); -+ } - } - - settings_update_provider (priv->screen, &priv->theme_provider, provider); --- -1.7.8.5 - |