summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwann Chenede - <erwann.chenede@sun.com>2006-11-01 19:35:43 +0000
committerBrian Cameron <bcameron@src.gnome.org>2006-11-01 19:35:43 +0000
commit7947db69cec96dde9b9eac0cea143f07a68c674c (patch)
tree0c7f1152c0e913b6e1f25c0f8cd1592600c3bcbc
parent24f836903b10e4c380439fbd7684dccc43d34f14 (diff)
downloadgdm-7947db69cec96dde9b9eac0cea143f07a68c674c.tar.gz
Backporting Erwann Chenede's altfile feature to 2.16. introduced
2006-10-31 Erwann Chenede - <erwann.chenede@sun.com> Backporting Erwann Chenede's altfile feature to 2.16. * gui/greeter/greeter_parser.c: introduced altfile[n] property to cater for alternate image file definition. * gui/greeter/greeter_item_customlist.c: Fix casting.
-rw-r--r--ChangeLog7
-rw-r--r--gui/greeter/greeter_item_customlist.c2
-rw-r--r--gui/greeter/greeter_parser.c31
3 files changed, 39 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 6d116d37..d49ce688 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-10-31 Erwann Chenede - <erwann.chenede@sun.com>
+
+ Backporting Erwann Chenede's altfile feature to 2.16.
+ * gui/greeter/greeter_parser.c: introduced altfile[n] property
+ to cater for alternate image file definition.
+ * gui/greeter/greeter_item_customlist.c: Fix casting.
+
2006-10-31 Brian Cameron <brian.cameron@sun.com>
* gui/greeter/greeter_item_customlist.c: Fix custom lists so
diff --git a/gui/greeter/greeter_item_customlist.c b/gui/greeter/greeter_item_customlist.c
index ac80972c..aee288fa 100644
--- a/gui/greeter/greeter_item_customlist.c
+++ b/gui/greeter/greeter_item_customlist.c
@@ -582,7 +582,7 @@ setup_customlist (GtkWidget *tv, GreeterItemInfo *item)
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tv), column);
- g_signal_connect (GTK_TREE_VIEW (tv), "button_release_event",
+ g_signal_connect (tv, "button_release_event",
G_CALLBACK (custom_list_release_event),
NULL);
diff --git a/gui/greeter/greeter_parser.c b/gui/greeter/greeter_parser.c
index e4b0f3e9..c09fd66d 100644
--- a/gui/greeter/greeter_parser.c
+++ b/gui/greeter/greeter_parser.c
@@ -856,6 +856,37 @@ parse_state_file_pixmap (xmlNodePtr node,
xmlFree (prop);
}
+
+ {
+ int i = 1;
+ char *altfile_prop_name = g_strdup_printf ("altfile%d", i);
+
+ prop = xmlGetProp (node,(const xmlChar *) altfile_prop_name);
+ while (prop)
+ {
+ char *filename = NULL;
+ if (g_path_is_absolute ((char *) prop))
+ filename = g_strdup ((char *) prop);
+ else
+ filename = g_build_filename (file_search_path,
+ (char *) prop,
+ NULL);
+
+ if (g_file_test (filename, G_FILE_TEST_EXISTS))
+ {
+ if (info->data.pixmap.files[state])
+ g_free (info->data.pixmap.files[state]);
+ info->data.pixmap.files[state] = filename;
+ }
+ xmlFree (prop);
+ g_free (altfile_prop_name);
+
+ i++;
+ altfile_prop_name = g_strdup_printf ("altfile%d", i);
+ prop = xmlGetProp (node,(const xmlChar *) altfile_prop_name);
+ }
+ g_free (altfile_prop_name);
+ }
prop = xmlGetProp (node,(const xmlChar *) "tint");
if (prop)