diff options
author | Erwann Chenede - <erwann.chenede@sun.com> | 2006-11-01 19:35:43 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2006-11-01 19:35:43 +0000 |
commit | 7947db69cec96dde9b9eac0cea143f07a68c674c (patch) | |
tree | 0c7f1152c0e913b6e1f25c0f8cd1592600c3bcbc | |
parent | 24f836903b10e4c380439fbd7684dccc43d34f14 (diff) | |
download | gdm-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-- | ChangeLog | 7 | ||||
-rw-r--r-- | gui/greeter/greeter_item_customlist.c | 2 | ||||
-rw-r--r-- | gui/greeter/greeter_parser.c | 31 |
3 files changed, 39 insertions, 1 deletions
@@ -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) |