summaryrefslogtreecommitdiff
path: root/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-10-17 11:04:43 +0000
committerRichard Purdie <richard@openedhand.com>2006-10-17 11:04:43 +0000
commit09f13534bdffe20734cb9d24171e7d04334ad24c (patch)
tree75d62cf9a1d5cfcd2a72602ec68dc90c61041699 /meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
parentb6959cf8d390ded754f9a4ab5ce746313663a510 (diff)
downloadopenembedded-core-09f13534bdffe20734cb9d24171e7d04334ad24c.tar.gz
openembedded-core-09f13534bdffe20734cb9d24171e7d04334ad24c.tar.bz2
openembedded-core-09f13534bdffe20734cb9d24171e7d04334ad24c.tar.xz
openembedded-core-09f13534bdffe20734cb9d24171e7d04334ad24c.zip
gtk+: remove outdated maemo version
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@804 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff')
-rw-r--r--meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff581
1 files changed, 0 insertions, 581 deletions
diff --git a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff b/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
deleted file mode 100644
index a6b4f999a..000000000
--- a/meta/packages/gtk+/gtk+-2.6.4-1.osso7/gtkrc.c.diff
+++ /dev/null
@@ -1,581 +0,0 @@
---- gtk+-2.6.4/gtk/gtkrc.c 2005-02-01 20:07:40.000000000 +0200
-+++ gtk+-2.6.4/gtk/gtkrc.c 2005-04-06 16:19:37.848784472 +0300
-@@ -56,6 +56,7 @@
- #include "gtkprivate.h"
- #include "gtksettings.h"
- #include "gtkwindow.h"
-+#include "gtkhashtable.h"
-
- #ifdef G_OS_WIN32
- #include <io.h>
-@@ -105,6 +106,14 @@
- GtkStyle *default_style;
- };
-
-+#define GTK_RC_STYLE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_RC_STYLE, GtkRcStylePrivate))
-+
-+typedef struct _GtkRcStylePrivate GtkRcStylePrivate;
-+
-+struct _GtkRcStylePrivate {
-+ GSList *logical_color_hashes;
-+};
-+
- static GtkRcContext *gtk_rc_context_get (GtkSettings *settings);
-
- static guint gtk_rc_style_hash (const gchar *name);
-@@ -179,6 +188,13 @@
- GScanner *scanner,
- GtkRcStyle *rc_style,
- GtkIconFactory *factory);
-+static guint gtk_rc_parse_logical_color (GScanner *scanner,
-+ GtkRcStyle *rc_style,
-+ GtkHashTable *hash);
-+static guint gtk_rc_parse_color_full (GScanner *scanner,
-+ GdkColor *color,
-+ GtkRcStyle *style);
-+
- static void gtk_rc_clear_hash_node (gpointer key,
- gpointer data,
- gpointer user_data);
-@@ -277,7 +293,8 @@
- { "stock", GTK_RC_TOKEN_STOCK },
- { "im_module_file", GTK_RC_TOKEN_IM_MODULE_FILE },
- { "LTR", GTK_RC_TOKEN_LTR },
-- { "RTL", GTK_RC_TOKEN_RTL }
-+ { "RTL", GTK_RC_TOKEN_RTL },
-+ { "logical_color", GTK_RC_TOKEN_LOGICAL_COLOR }
- };
-
- static GHashTable *realized_style_ht = NULL;
-@@ -954,6 +971,7 @@
- static void
- gtk_rc_style_init (GtkRcStyle *style)
- {
-+ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (style);
- guint i;
-
- style->name = NULL;
-@@ -976,6 +994,7 @@
-
- style->rc_style_lists = NULL;
- style->icon_factories = NULL;
-+ priv->logical_color_hashes = NULL;
- }
-
- static void
-@@ -991,6 +1010,21 @@
- klass->create_rc_style = gtk_rc_style_real_create_rc_style;
- klass->merge = gtk_rc_style_real_merge;
- klass->create_style = gtk_rc_style_real_create_style;
-+
-+ g_type_class_add_private (object_class, sizeof (GtkRcStylePrivate));
-+}
-+
-+static void
-+free_object_list (GSList *list)
-+{
-+ GSList *tmp_list = list;
-+ while (tmp_list)
-+ {
-+ g_object_unref (tmp_list->data);
-+ tmp_list = tmp_list->next;
-+ }
-+ g_slist_free (list);
-+
- }
-
- static void
-@@ -998,9 +1032,11 @@
- {
- GSList *tmp_list1, *tmp_list2;
- GtkRcStyle *rc_style;
-+ GtkRcStylePrivate *rc_priv;
- gint i;
-
- rc_style = GTK_RC_STYLE (object);
-+ rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
-
- if (rc_style->name)
- g_free (rc_style->name);
-@@ -1059,13 +1095,8 @@
- rc_style->rc_properties = NULL;
- }
-
-- tmp_list1 = rc_style->icon_factories;
-- while (tmp_list1)
-- {
-- g_object_unref (tmp_list1->data);
-- tmp_list1 = tmp_list1->next;
-- }
-- g_slist_free (rc_style->icon_factories);
-+ free_object_list (rc_style->icon_factories);
-+ free_object_list (rc_priv->logical_color_hashes);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
- }
-@@ -1125,6 +1156,14 @@
- return g_object_new (G_OBJECT_TYPE (style), NULL);
- }
-
-+GSList *
-+_gtk_rc_style_get_logical_color_hashes (GtkRcStyle *rc_style)
-+{
-+ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
-+
-+ return priv->logical_color_hashes;
-+}
-+
- static gint
- gtk_rc_properties_cmp (gconstpointer bsearch_node1,
- gconstpointer bsearch_node2)
-@@ -1499,6 +1538,22 @@
- context->rc_files = NULL;
-
- gtk_rc_parse_default_files (context);
-+/*Hildon- Swapped these sections of code, so the styles from the
-+ XSettings theme are available when parsing with gtk_rc_context_parse_string*/
-+ g_free (context->theme_name);
-+ g_free (context->key_theme_name);
-+
-+ g_object_get (context->settings,
-+ "gtk-theme-name", &context->theme_name,
-+ "gtk-key-theme-name", &context->key_theme_name,
-+ NULL);
-+
-+ if (context->theme_name && context->theme_name[0])
-+ gtk_rc_parse_named (context, context->theme_name, NULL);
-+ if (context->key_theme_name && context->key_theme_name[0])
-+ gtk_rc_parse_named (context, context->key_theme_name, "key");
-+
-+/*****/
-
- tmp_list = global_rc_files;
- while (tmp_list)
-@@ -1512,19 +1567,6 @@
-
- tmp_list = tmp_list->next;
- }
--
-- g_free (context->theme_name);
-- g_free (context->key_theme_name);
--
-- g_object_get (context->settings,
-- "gtk-theme-name", &context->theme_name,
-- "gtk-key-theme-name", &context->key_theme_name,
-- NULL);
--
-- if (context->theme_name && context->theme_name[0])
-- gtk_rc_parse_named (context, context->theme_name, NULL);
-- if (context->key_theme_name && context->key_theme_name[0])
-- gtk_rc_parse_named (context, context->key_theme_name, "key");
-
- g_object_thaw_notify (G_OBJECT (context->settings));
-
-@@ -1905,10 +1947,19 @@
- {
- GScanner *scanner;
- guint i;
-+ gchar *name_str;
- gboolean done;
-
- scanner = gtk_rc_scanner_new ();
-
-+ if (input_name != NULL)
-+ {
-+ name_str = (gchar *) g_malloc(strlen(input_name) + 7);
-+ sprintf(name_str, "%s.cache", input_name);
-+ /*osso_g_scanner_cache_open (scanner, name_str);*/
-+ g_free(name_str);
-+ }
-+
- if (input_fd >= 0)
- {
- g_assert (input_string == NULL);
-@@ -2062,6 +2113,29 @@
- return style;
- }
-
-+static GSList *
-+concat_object_lists (GSList *list_a, GSList *list_b)
-+{
-+ GSList *copy;
-+
-+ copy = g_slist_copy (list_b);
-+ if (copy)
-+ {
-+ GSList *iter;
-+
-+ iter = copy;
-+ while (iter != NULL)
-+ {
-+ g_object_ref (iter->data);
-+ iter = g_slist_next (iter);
-+ }
-+
-+ return g_slist_concat (list_a, copy);
-+ }
-+ else
-+ return list_a;
-+}
-+
- /* Reuses or frees rc_styles */
- static GtkStyle *
- gtk_rc_init_style (GtkRcContext *context,
-@@ -2083,6 +2157,7 @@
- GtkRcStyle *base_style = NULL;
- GtkRcStyle *proto_style;
- GtkRcStyleClass *proto_style_class;
-+ GtkRcStylePrivate *proto_priv;
- GSList *tmp_styles;
- GType rc_style_type = GTK_TYPE_RC_STYLE;
-
-@@ -2109,12 +2184,13 @@
-
- proto_style_class = GTK_RC_STYLE_GET_CLASS (base_style);
- proto_style = proto_style_class->create_rc_style (base_style);
-+ proto_priv = GTK_RC_STYLE_GET_PRIVATE (proto_style);
-
- tmp_styles = rc_styles;
- while (tmp_styles)
- {
- GtkRcStyle *rc_style = tmp_styles->data;
-- GSList *factories;
-+ GtkRcStylePrivate *rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
-
- proto_style_class->merge (proto_style, rc_style);
-
-@@ -2122,22 +2198,12 @@
- if (!g_slist_find (rc_style->rc_style_lists, rc_styles))
- rc_style->rc_style_lists = g_slist_prepend (rc_style->rc_style_lists, rc_styles);
-
-- factories = g_slist_copy (rc_style->icon_factories);
-- if (factories)
-- {
-- GSList *iter;
--
-- iter = factories;
-- while (iter != NULL)
-- {
-- g_object_ref (iter->data);
-- iter = g_slist_next (iter);
-- }
--
-- proto_style->icon_factories = g_slist_concat (proto_style->icon_factories,
-- factories);
--
-- }
-+ proto_style->icon_factories =
-+ concat_object_lists (proto_style->icon_factories,
-+ rc_style->icon_factories);
-+ proto_priv->logical_color_hashes =
-+ concat_object_lists (proto_priv->logical_color_hashes,
-+ rc_priv->logical_color_hashes);
-
- tmp_styles = tmp_styles->next;
- }
-@@ -2515,9 +2581,11 @@
- GtkRcStyle *rc_style;
- GtkRcStyle *orig_style;
- GtkRcStyle *parent_style;
-+ GtkRcStylePrivate *rc_priv = NULL;
- guint token;
- gint i;
- GtkIconFactory *our_factory = NULL;
-+ GtkHashTable *our_hash = NULL;
-
- token = g_scanner_get_next_token (scanner);
- if (token != GTK_RC_TOKEN_STYLE)
-@@ -2533,12 +2601,6 @@
- else
- orig_style = NULL;
-
-- /* If there's a list, its first member is always the factory belonging
-- * to this RcStyle
-- */
-- if (rc_style && rc_style->icon_factories)
-- our_factory = rc_style->icon_factories->data;
--
- if (!rc_style)
- {
- rc_style = gtk_rc_style_new ();
-@@ -2550,6 +2612,16 @@
- for (i = 0; i < 5; i++)
- rc_style->color_flags[i] = 0;
- }
-+
-+ rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style);
-+
-+ /* If there's a list, its first member is always the factory belonging
-+ * to this RcStyle
-+ */
-+ if (rc_style->icon_factories)
-+ our_factory = rc_style->icon_factories->data;
-+ if (rc_priv->logical_color_hashes)
-+ our_hash = rc_priv->logical_color_hashes->data;
-
- token = g_scanner_peek_next_token (scanner);
- if (token == G_TOKEN_EQUAL_SIGN)
-@@ -2566,8 +2638,8 @@
- parent_style = gtk_rc_style_find (context, scanner->value.v_string);
- if (parent_style)
- {
-- GSList *factories;
--
-+ GtkRcStylePrivate *parent_priv = GTK_RC_STYLE_GET_PRIVATE (parent_style);
-+
- for (i = 0; i < 5; i++)
- {
- rc_style->color_flags[i] = parent_style->color_flags[i];
-@@ -2621,17 +2693,24 @@
- rc_style->icon_factories = g_slist_prepend (rc_style->icon_factories,
- our_factory);
- }
--
-- rc_style->icon_factories = g_slist_concat (rc_style->icon_factories,
-- g_slist_copy (parent_style->icon_factories));
--
-- factories = parent_style->icon_factories;
-- while (factories != NULL)
-+ rc_style->icon_factories = concat_object_lists (rc_style->icon_factories,
-+ parent_style->icon_factories);
-+ }
-+
-+ /* Also append parent's color hashes, adding a ref to them */
-+ if (parent_priv->logical_color_hashes != NULL)
-+ {
-+ /* See comment above .. */
-+ if (our_hash == NULL)
- {
-- g_object_ref (factories->data);
-- factories = factories->next;
-+ our_hash = _gtk_hash_table_new ();
-+ rc_priv->logical_color_hashes = g_slist_prepend (rc_priv->logical_color_hashes,
-+ our_hash);
- }
-- }
-+
-+ rc_priv->logical_color_hashes = concat_object_lists (rc_priv->logical_color_hashes,
-+ parent_priv->logical_color_hashes);
-+ }
- }
- }
-
-@@ -2689,12 +2768,22 @@
- }
- token = gtk_rc_parse_stock (context, scanner, rc_style, our_factory);
- break;
-+ case GTK_RC_TOKEN_LOGICAL_COLOR:
-+ if (our_hash == NULL)
-+ {
-+ our_hash = _gtk_hash_table_new ();
-+ rc_priv->logical_color_hashes = g_slist_prepend (rc_priv->logical_color_hashes,
-+ our_hash);
-+ }
-+ token = gtk_rc_parse_logical_color (scanner, rc_style, our_hash);
-+ break;
- case G_TOKEN_IDENTIFIER:
- if (is_c_identifier (scanner->next_value.v_identifier) &&
- scanner->next_value.v_identifier[0] >= 'A' &&
- scanner->next_value.v_identifier[0] <= 'Z') /* match namespaced type names */
- {
- GtkRcProperty prop = { 0, 0, NULL, { 0, }, };
-+ gchar *name;
-
- g_scanner_get_next_token (scanner); /* eat type name */
- prop.type_name = g_quark_from_string (scanner->value.v_identifier);
-@@ -2712,8 +2801,10 @@
- }
-
- /* it's important that we do the same canonification as GParamSpecPool here */
-- g_strcanon (scanner->value.v_identifier, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
-- prop.property_name = g_quark_from_string (scanner->value.v_identifier);
-+ name = g_strdup (scanner->value.v_identifier);
-+ g_strcanon (name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-", '-');
-+ prop.property_name = g_quark_from_string (name);
-+ g_free (name);
-
- token = gtk_rc_parse_assignment (scanner, &prop);
- if (token == G_TOKEN_NONE)
-@@ -2825,7 +2916,7 @@
- return G_TOKEN_EQUAL_SIGN;
-
- style->color_flags[state] |= GTK_RC_BG;
-- return gtk_rc_parse_color (scanner, &style->bg[state]);
-+ return gtk_rc_parse_color_full (scanner, &style->bg[state], style);
- }
-
- static guint
-@@ -2848,7 +2939,7 @@
- return G_TOKEN_EQUAL_SIGN;
-
- style->color_flags[state] |= GTK_RC_FG;
-- return gtk_rc_parse_color (scanner, &style->fg[state]);
-+ return gtk_rc_parse_color_full (scanner, &style->fg[state], style);
- }
-
- static guint
-@@ -2871,7 +2962,7 @@
- return G_TOKEN_EQUAL_SIGN;
-
- style->color_flags[state] |= GTK_RC_TEXT;
-- return gtk_rc_parse_color (scanner, &style->text[state]);
-+ return gtk_rc_parse_color_full (scanner, &style->text[state], style);
- }
-
- static guint
-@@ -2894,7 +2985,7 @@
- return G_TOKEN_EQUAL_SIGN;
-
- style->color_flags[state] |= GTK_RC_BASE;
-- return gtk_rc_parse_color (scanner, &style->base[state]);
-+ return gtk_rc_parse_color_full (scanner, &style->base[state], style);
- }
-
- static guint
-@@ -3345,11 +3436,45 @@
-
- return G_TOKEN_NONE;
- }
-+static gboolean
-+lookup_logical_color (GtkRcStyle *style,
-+ const char *color_name,
-+ GdkColor *color)
-+{
-+ GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (style);
-+ GSList *iter;
-+
-+ iter = priv->logical_color_hashes;
-+ while (iter != NULL)
-+ {
-+ GdkColor *match = g_hash_table_lookup (GTK_HASH_TABLE (iter->data)->hash,
-+ color_name);
-+ if (match)
-+ {
-+ color->red = match->red;
-+ color->green = match->green;
-+ color->blue = match->blue;
-+ return TRUE;
-+ }
-+
-+ iter = g_slist_next (iter);
-+ }
-+
-+ return FALSE;
-+}
-
- guint
- gtk_rc_parse_color (GScanner *scanner,
- GdkColor *color)
- {
-+ return gtk_rc_parse_color_full (scanner, color, NULL);
-+}
-+
-+static guint
-+gtk_rc_parse_color_full (GScanner *scanner,
-+ GdkColor *color,
-+ GtkRcStyle *style)
-+{
- guint token;
-
- g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR);
-@@ -3407,11 +3532,14 @@
- case G_TOKEN_STRING:
- if (!gdk_color_parse (scanner->value.v_string, color))
- {
-- g_scanner_warn (scanner, "Invalid color constant '%s'",
-- scanner->value.v_string);
-- return G_TOKEN_STRING;
-+ if (!(style && lookup_logical_color (style, scanner->value.v_string, color)))
-+ {
-+ g_scanner_warn (scanner, "Invalid color constant '%s'",
-+ scanner->value.v_string);
-+ return G_TOKEN_STRING;
-+ }
- }
-- else
-+
- return G_TOKEN_NONE;
-
- default:
-@@ -3625,8 +3753,8 @@
- }
-
- static guint
--gtk_rc_parse_stock_id (GScanner *scanner,
-- gchar **stock_id)
-+gtk_rc_parse_hash_key (GScanner *scanner,
-+ gchar **hash_key)
- {
- guint token;
-
-@@ -3639,12 +3767,12 @@
- if (token != G_TOKEN_STRING)
- return G_TOKEN_STRING;
-
-- *stock_id = g_strdup (scanner->value.v_string);
-+ *hash_key = g_strdup (scanner->value.v_string);
-
- token = g_scanner_get_next_token (scanner);
- if (token != G_TOKEN_RIGHT_BRACE)
- {
-- g_free (*stock_id);
-+ g_free (*hash_key);
- return G_TOKEN_RIGHT_BRACE;
- }
-
-@@ -3854,7 +3982,7 @@
- if (token != GTK_RC_TOKEN_STOCK)
- return GTK_RC_TOKEN_STOCK;
-
-- token = gtk_rc_parse_stock_id (scanner, &stock_id);
-+ token = gtk_rc_parse_hash_key (scanner, &stock_id);
- if (token != G_TOKEN_NONE)
- return token;
-
-@@ -3965,3 +4093,46 @@
- }
-
- #endif
-+
-+static guint
-+gtk_rc_parse_logical_color (GScanner *scanner,
-+ GtkRcStyle *rc_style,
-+ GtkHashTable *hash)
-+{
-+ gchar *color_id = NULL;
-+ guint token;
-+ GdkColor *color;
-+
-+ token = g_scanner_get_next_token (scanner);
-+ if (token != GTK_RC_TOKEN_LOGICAL_COLOR)
-+ return GTK_RC_TOKEN_LOGICAL_COLOR;
-+
-+ token = gtk_rc_parse_hash_key (scanner, &color_id);
-+ if (token != G_TOKEN_NONE)
-+ return token;
-+
-+ token = g_scanner_get_next_token (scanner);
-+ if (token != G_TOKEN_EQUAL_SIGN)
-+ {
-+ g_free (color_id);
-+ return G_TOKEN_EQUAL_SIGN;
-+ }
-+
-+ color = g_new (GdkColor, 1);
-+ token = gtk_rc_parse_color_full (scanner, color, rc_style);
-+ if (token != G_TOKEN_NONE)
-+ {
-+ g_free (color_id);
-+ g_free (color);
-+ return token;
-+ }
-+
-+ /* Because the hash is created with destroy functions,
-+ * g_hash_table_insert will free any old values for us,
-+ * if a mapping with the specified key already exists. */
-+ g_hash_table_insert (hash->hash, color_id, color);
-+
-+ return G_TOKEN_NONE;
-+}
-+
-+