]>
Commit | Line | Data |
---|---|---|
1ee8039b MB |
1 | --- gnome-desktop-2.21.91/libgnome-desktop/gnome-bg.c 2008-02-11 19:35:11.000000000 +0100 |
2 | +++ trunk/libgnome-desktop/gnome-bg.c 2008-02-15 15:09:57.000000000 +0100 | |
3 | @@ -238,8 +238,13 @@ | |
4 | gnome_bg_set_uri (GnomeBG *bg, | |
5 | const char *uri) | |
6 | { | |
7 | + char *free_me = NULL; | |
8 | + | |
9 | g_return_if_fail (bg != NULL); | |
10 | ||
11 | + if (g_path_is_absolute (uri)) | |
12 | + uri = free_me = g_filename_to_uri (uri, NULL, NULL); | |
13 | + | |
14 | if (is_different (bg, uri)) { | |
15 | char *tmp = g_strdup (uri); | |
16 | ||
17 | @@ -253,6 +258,8 @@ | |
18 | ||
19 | emit_changed (bg); | |
20 | } | |
21 | + | |
22 | + g_free (free_me); | |
23 | } | |
24 | ||
25 | static void | |
26 | @@ -1076,10 +1083,11 @@ | |
27 | file = g_file_new_for_uri (uri); | |
28 | info = g_file_query_info (file, G_FILE_ATTRIBUTE_TIME_MODIFIED, | |
29 | G_FILE_QUERY_INFO_NONE, NULL, NULL); | |
30 | - if (info) | |
31 | + if (info) { | |
32 | mtime = g_file_info_get_attribute_uint64 (info, | |
33 | G_FILE_ATTRIBUTE_TIME_MODIFIED); | |
34 | - g_object_unref (info); | |
35 | + g_object_unref (info); | |
36 | + } | |
37 | g_object_unref (file); | |
38 | } | |
39 | ||
40 | @@ -1602,6 +1610,21 @@ | |
41 | return strtol (text, NULL, 0); | |
42 | } | |
43 | ||
44 | +static char * | |
45 | +make_uri (char *file) | |
46 | +{ | |
47 | + if (g_path_is_absolute (file)) { | |
48 | + char *result = g_filename_to_uri (file, NULL, NULL); | |
49 | + | |
50 | + g_free (file); | |
51 | + | |
52 | + return result; | |
53 | + } | |
54 | + else { | |
55 | + return file; | |
56 | + } | |
57 | +} | |
58 | + | |
59 | static void | |
60 | handle_text (GMarkupParseContext *context, | |
61 | const gchar *text, | |
62 | @@ -1638,9 +1661,11 @@ | |
63 | else if (stack_is (parser, "file", "static", "background", NULL) || | |
64 | stack_is (parser, "from", "transition", "background", NULL)) { | |
65 | slide->file1 = g_strdup (text); | |
66 | + slide->file1 = make_uri (slide->file1); | |
67 | } | |
68 | else if (stack_is (parser, "to", "transition", "background", NULL)) { | |
69 | slide->file2 = g_strdup (text); | |
70 | + slide->file2 = make_uri (slide->file2); | |
71 | } | |
72 | } | |
73 |