Merge lp:~rodrigo-moya/ubuntu/natty/evolution/2_32_1_release into lp:~ubuntu-desktop/evolution/ubuntu

Proposed by Rodrigo Moya on 2010-11-25
Status: Merged
Merged at revision: 145
Proposed branch: lp:~rodrigo-moya/ubuntu/natty/evolution/2_32_1_release
Merge into: lp:~ubuntu-desktop/evolution/ubuntu
Diff against target: 620 lines (+549/-54)
3 files modified
debian/changelog (+59/-0)
debian/patches/92_remove_views_after_xdg_migration.patch (+0/-54)
debian/patches/93_fix_sources_migration.patch (+490/-0)
To merge this branch: bzr merge lp:~rodrigo-moya/ubuntu/natty/evolution/2_32_1_release
Reviewer Review Type Date Requested Status
Didier Roche 2010-11-25 Pending
Ubuntu Desktop 2010-11-25 Pending
Review via email: mp+41883@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2010-11-23 13:26:36 +0000
3+++ debian/changelog 2010-11-25 16:51:49 +0000
4@@ -1,3 +1,62 @@
5+evolution (2.32.1-0ubuntu1) natty; urgency=low
6+
7+ * Upstream release 2.32.1
8+ - Bug #632293 - Do not add POP accounts into folder tree
9+ - Bug #634088 - Uses uninitialized variable in action_contact_new_cb
10+ - Bug #628139 - Thread-safety issues in libical time zone loading
11+ - Bug #632941 - Calendar ignores preference "show/hide end times"
12+ - Bug #632278 - Double .vcf extension on addressbook save
13+ - Bug #632199 - Opening calendar from panel clock goes to previous day
14+ - Bug #592045 - Use week-day names in abbreviated date
15+ - Bug #632870 - Cut and paste broken in ESignatureEditor
16+ - Bug #597567 - Crash in comp_subject()
17+ - Bug #631526 - Loading images doesn't use proxy credentials
18+ - Bug #567265 - BCC kept on message forward from Sent folder
19+ - Bug #630518 - Hides calendar parts from multipart/alternative
20+ - Bug #631968 - Date wrongly displayed as Tomorrow.
21+ - Bug #604981 - Always bcc ignored for Contacts.
22+ - Bug #632171 - "New Address Book" dialog accepts whitespace for name
23+ - Bug #630375 - Character encoding of GPG encrypted message not honored
24+ - Bug #617611 - redo_queries calls gtk+ functions in non-main thread
25+ - Bug #619387 - EMailBrowser doesn't honour sorting of a mail window
26+ - Bug #552121 - Drop UUENCODE inline filter
27+ - Bug #631588 - Sort by Subject doesn't work
28+ - Bug #617953 - Hide Junk messages in Search folders
29+ - Bug #618102 - Single event print doesn't show time
30+ - Bug #211593 - Show week numbers on calendar printout
31+ - Bug #500591 - Crash when viewing a large message
32+ - Bug #630295 - Inline GPG encrypted message is not always recognized
33+ - Bug #629825 - Hide Free/Busy tab if not needed in express mode
34+ - Bug #615835 - Alarm not working for authenticated calendars
35+ - Bug #626066 - "trust" properties on certificate authority not saved
36+ - Bug #629462 - Tasks 'Due' filters don't work properly
37+ - Bug #629799 - Crash importing a mail with an ics attachment
38+ - Bug #630294 - Shouldn't send invitation reply when has no organizer
39+ - Bug #628522 - Invalid access off end of array in e_bit_array_delete()
40+ - Bug #630700 - Crash on message send
41+ - Bug #629266 - Crash on search in Current Account
42+ - Bug #604080 - Predefined account SSL not propagated to UI
43+ - Bug #629934 - Month view defaults to Monday as start of week
44+ - Bug #629636 - Doesn't recognize local ESource-s
45+ - Bug #629480 - calendar-gui-WARNING: Couldn't find event window
46+ - Bug #629150 - Empty calendar view
47+ - Bug #629972 - [backup-restore] Problems restoring old data
48+ - Drop accessibility support for ECellText.
49+ - Workaround crash when pasting nothing into html message composer
50+ - stock_appontment-reminder icons renamed
51+ - Fix build on platforms when ngettext is a macro
52+ - Memory leaks around g_value_set_string
53+ - MailFolderCache notifies in reverse order
54+ - Calendar's "Open Web Page" actions doesn't work
55+ - Updated translations (eu, ja, cs, ca@valencia, ca, gl, ta, et
56+ * debian/patches/93_fix_sources_migration.patch:
57+ - Add upstream patch to fix migration of calendar and addressbook sources to
58+ the new location.
59+ * debian/patches/92_remove_views_after_xdg_migration.patch:
60+ - Remove upstreamed patch
61+
62+ -- Rodrigo Moya <rodrigo.moya@canonical.com> Thu, 25 Nov 2010 16:11:59 +0100
63+
64 evolution (2.32.0-0ubuntu1) natty; urgency=low
65
66 * Upstream release 2.32.0
67
68=== removed file 'debian/patches/92_remove_views_after_xdg_migration.patch'
69--- debian/patches/92_remove_views_after_xdg_migration.patch 2010-11-17 15:10:47 +0000
70+++ debian/patches/92_remove_views_after_xdg_migration.patch 1970-01-01 00:00:00 +0000
71@@ -1,54 +0,0 @@
72-From: Mathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>
73-Subject: Cleanup "views" directories
74-
75- Make sure the "views" directories get removed once xdg migration of its
76- files is done. This is because differently from ..._rename,
77- ..._rename_files only goes through the contents of the directory and
78- renames the files there, but doesn't touch the base directory, even in
79- corrections.
80-
81- As the <backend>/config directories are dealt in the same way, and because
82- "views" should also be considered config, make sure we process "views" the
83- same way as "config" gets processed -- rename the contents, then trash the
84- empty directory later.
85-
86-diff -Nur -x '*.orig' -x '*~' evolution-2.32.0//shell/e-shell-migrate.c evolution-2.32.0.new//shell/e-shell-migrate.c
87---- evolution-2.32.0//shell/e-shell-migrate.c 2010-09-13 08:18:24.000000000 -0400
88-+++ evolution-2.32.0.new//shell/e-shell-migrate.c 2010-11-16 14:53:20.386539000 -0500
89-@@ -433,14 +443,15 @@
90- }
91-
92- static void
93--shell_xdg_migrate_config_dir_cleanup (EShell *shell,
94-+shell_xdg_migrate_dir_cleanup (EShell *shell,
95- const gchar *old_base_dir,
96-- const gchar *backend_name)
97-+ const gchar *backend_name,
98-+ const gchar *dir_name)
99- {
100- gchar *dirname;
101-
102- dirname = g_build_filename (
103-- old_base_dir, backend_name, "config", NULL);
104-+ old_base_dir, backend_name, dir_name, NULL);
105-
106- shell_xdg_migrate_rmdir (dirname);
107-
108-@@ -467,10 +478,14 @@
109- /* Handle backend-specific files. */
110- shell_xdg_migrate_config_dir_mail (shell, old_base_dir);
111-
112-- /* Remove leftover "config" directories. */
113-+ /* Remove leftover config directories. */
114- for (ii = 0; shell_backend_names[ii] != NULL; ii++)
115-- shell_xdg_migrate_config_dir_cleanup (
116-- shell, old_base_dir, shell_backend_names[ii]);
117-+ {
118-+ shell_xdg_migrate_dir_cleanup (
119-+ shell, old_base_dir, shell_backend_names[ii], "config");
120-+ shell_xdg_migrate_dir_cleanup (
121-+ shell, old_base_dir, shell_backend_names[ii], "views");
122-+ }
123-
124- /*** Miscellaneous configuration files. ***/
125-
126
127=== added file 'debian/patches/93_fix_sources_migration.patch'
128--- debian/patches/93_fix_sources_migration.patch 1970-01-01 00:00:00 +0000
129+++ debian/patches/93_fix_sources_migration.patch 2010-11-25 16:51:49 +0000
130@@ -0,0 +1,490 @@
131+diff --git a/calendar/common/authentication.c b/calendar/common/authentication.c
132+index 0420f1f..286b7d6 100644
133+--- a/calendar/common/authentication.c
134++++ b/calendar/common/authentication.c
135+@@ -274,6 +274,7 @@ fail:
136+ } else if (g_error_matches (
137+ error, E_CALENDAR_ERROR, E_CALENDAR_STATUS_BUSY)) {
138+ g_clear_error (&error);
139++ g_usleep (250000);
140+ goto try_again;
141+
142+ } else {
143+diff --git a/calendar/gui/e-cal-model.c b/calendar/gui/e-cal-model.c
144+index 3549fb4..d46302c 100644
145+--- a/calendar/gui/e-cal-model.c
146++++ b/calendar/gui/e-cal-model.c
147+@@ -2114,6 +2114,19 @@ backend_died_cb (ECal *client, gpointer user_data)
148+ e_cal_model_remove_client (model, client);
149+ }
150+
151++static gboolean
152++wait_open_cb (gpointer data)
153++{
154++ ECal *client = data;
155++
156++ g_return_val_if_fail (client != NULL, FALSE);
157++ g_return_val_if_fail (E_IS_CAL (client), FALSE);
158++
159++ e_cal_open_async (client, FALSE);
160++
161++ return FALSE;
162++}
163++
164+ static void
165+ cal_opened_cb (ECal *client, const GError *error, gpointer user_data)
166+ {
167+@@ -2121,10 +2134,13 @@ cal_opened_cb (ECal *client, const GError *error, gpointer user_data)
168+ ECalModelClient *client_data;
169+
170+ if (g_error_matches (error, E_CALENDAR_ERROR, E_CALENDAR_STATUS_BUSY)) {
171+- e_cal_open_async (client, FALSE);
172++ g_timeout_add (250, wait_open_cb, client);
173+ return;
174+ }
175+
176++ /* Stop listening for this calendar to be opened */
177++ g_signal_handlers_disconnect_matched (client, G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, 0, 0, NULL, cal_opened_cb, model);
178++
179+ if (error) {
180+ e_cal_model_remove_client (model, client);
181+ e_cal_model_update_status_message (model, NULL, -1.0);
182+@@ -2133,9 +2149,6 @@ cal_opened_cb (ECal *client, const GError *error, gpointer user_data)
183+
184+ e_cal_model_update_status_message (model, NULL, -1.0);
185+
186+- /* Stop listening for this calendar to be opened */
187+- g_signal_handlers_disconnect_matched (client, G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, 0, 0, NULL, cal_opened_cb, model);
188+-
189+ client_data = find_client_data (model, client);
190+ g_return_if_fail (client_data);
191+
192+diff --git a/capplet/settings/mail-capplet-shell.c b/capplet/settings/mail-capplet-shell.c
193+index a1cdbb8..46201fb 100644
194+--- a/capplet/settings/mail-capplet-shell.c
195++++ b/capplet/settings/mail-capplet-shell.c
196+@@ -283,21 +283,18 @@ mail_capplet_shell_new (gint socket_id, gboolean just_druid, gboolean main_loop)
197+ return GTK_WIDGET (shell);
198+ }
199+
200++#define LOCAL_BASE_URI "local:"
201+ #define PERSONAL_RELATIVE_URI "system"
202+
203+ static void
204+-setup_abooks()
205++setup_abooks (void)
206+ {
207+- gchar *base_dir, *uri;
208+ GSList *groups;
209+ ESourceGroup *group;
210+ ESourceList *list = NULL;
211+ ESourceGroup *on_this_computer = NULL;
212+ ESource *personal_source = NULL;
213+
214+- base_dir = g_build_filename (e_get_user_data_dir (), "addressbook", "local", NULL);
215+- uri = g_filename_to_uri (base_dir, NULL, NULL);
216+-
217+ if (!e_book_get_addressbooks(&list, NULL)) {
218+ g_warning ("Unable to get books\n");
219+ return;
220+@@ -307,16 +304,25 @@ setup_abooks()
221+ if (groups) {
222+ /* groups are already there, we need to search for things... */
223+ GSList *g;
224++ gchar *base_dir, *base_uri;
225+
226+- for (g = groups; g; g = g->next) {
227++ base_dir = g_build_filename (e_get_user_data_dir (), "addressbook", "local", NULL);
228++ base_uri = g_filename_to_uri (base_dir, NULL, NULL);
229+
230++ for (g = groups; g; g = g->next) {
231+ group = E_SOURCE_GROUP (g->data);
232+
233+- if (!on_this_computer && !strcmp (uri, e_source_group_peek_base_uri (group))) {
234++ if (strcmp (base_uri, e_source_group_peek_base_uri (group)) == 0)
235++ e_source_group_set_base_uri (group, LOCAL_BASE_URI);
236++
237++ if (!on_this_computer && !strcmp (LOCAL_BASE_URI, e_source_group_peek_base_uri (group))) {
238+ on_this_computer = g_object_ref (group);
239+ break;
240+ }
241+ }
242++
243++ g_free (base_dir);
244++ g_free (base_uri);
245+ }
246+
247+ if (on_this_computer) {
248+@@ -339,7 +345,7 @@ setup_abooks()
249+ }
250+ else {
251+ /* create the local source group */
252+- group = e_source_group_new (_("On This Computer"), uri);
253++ group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
254+ e_source_list_add_group (list, group, -1);
255+
256+ on_this_computer = group;
257+@@ -362,7 +368,5 @@ setup_abooks()
258+
259+ e_source_list_sync (list, NULL);
260+ g_object_unref (list);
261+- g_free (uri);
262+- g_free (base_dir);
263+ }
264+
265+diff --git a/modules/addressbook/e-book-shell-migrate.c b/modules/addressbook/e-book-shell-migrate.c
266+index 7440564..7b91a04 100644
267+--- a/modules/addressbook/e-book-shell-migrate.c
268++++ b/modules/addressbook/e-book-shell-migrate.c
269+@@ -66,6 +66,7 @@ typedef struct {
270+ GtkWidget *progress;
271+ } MigrationContext;
272+
273++#define LOCAL_BASE_URI "local:"
274+ #define LDAP_BASE_URI "ldap://"
275+ #define PERSONAL_RELATIVE_URI "system"
276+
277+@@ -77,27 +78,28 @@ create_groups (MigrationContext *context,
278+ {
279+ GSList *groups;
280+ ESourceGroup *group;
281+- gchar *base_uri, *base_uri_proto;
282+
283+ *on_this_computer = NULL;
284+ *on_ldap_servers = NULL;
285+ *personal_source = NULL;
286+
287+- base_uri = g_build_filename (context->data_dir, "local", NULL);
288+-
289+- base_uri_proto = g_filename_to_uri (base_uri, NULL, NULL);
290+-
291+ groups = e_source_list_peek_groups (context->source_list);
292+ if (groups) {
293+ /* groups are already there, we need to search for things... */
294+ GSList *g;
295++ gchar *base_dir, *base_uri;
296+
297+- for (g = groups; g; g = g->next) {
298++ base_dir = g_build_filename (context->data_dir, "local", NULL);
299++ base_uri = g_filename_to_uri (base_dir, NULL, NULL);
300+
301++ for (g = groups; g; g = g->next) {
302+ group = E_SOURCE_GROUP (g->data);
303+
304++ if (strcmp (base_uri, e_source_group_peek_base_uri (group)) == 0)
305++ e_source_group_set_base_uri (group, LOCAL_BASE_URI);
306++
307+ if (!*on_this_computer &&
308+- !strcmp (base_uri_proto,
309++ !strcmp (LOCAL_BASE_URI,
310+ e_source_group_peek_base_uri (group)))
311+ *on_this_computer = g_object_ref (group);
312+ else if (!*on_ldap_servers &&
313+@@ -105,6 +107,9 @@ create_groups (MigrationContext *context,
314+ e_source_group_peek_base_uri (group)))
315+ *on_ldap_servers = g_object_ref (group);
316+ }
317++
318++ g_free (base_dir);
319++ g_free (base_uri);
320+ }
321+
322+ if (*on_this_computer) {
323+@@ -127,7 +132,7 @@ create_groups (MigrationContext *context,
324+ }
325+ else {
326+ /* create the local source group */
327+- group = e_source_group_new (_("On This Computer"), base_uri_proto);
328++ group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
329+ e_source_list_add_group (context->source_list, group, -1);
330+
331+ *on_this_computer = group;
332+@@ -150,9 +155,6 @@ create_groups (MigrationContext *context,
333+
334+ *on_ldap_servers = group;
335+ }
336+-
337+- g_free (base_uri_proto);
338+- g_free (base_uri);
339+ }
340+
341+ static MigrationContext *
342+diff --git a/modules/calendar/e-cal-shell-migrate.c b/modules/calendar/e-cal-shell-migrate.c
343+index c1a7221..d27b941 100644
344+--- a/modules/calendar/e-cal-shell-migrate.c
345++++ b/modules/calendar/e-cal-shell-migrate.c
346+@@ -42,6 +42,7 @@
347+ #include "calendar/gui/e-cal-event.h"
348+ #include "shell/e-shell.h"
349+
350++#define LOCAL_BASE_URI "local:"
351+ #define WEBCAL_BASE_URI "webcal://"
352+ #define CONTACTS_BASE_URI "contacts://"
353+ #define BAD_CONTACTS_BASE_URI "contact://"
354+@@ -79,8 +80,6 @@ create_calendar_sources (EShellBackend *shell_backend,
355+ EShellSettings *shell_settings;
356+ GSList *groups;
357+ ESourceGroup *group;
358+- gchar *base_uri, *base_uri_proto;
359+- const gchar *base_dir;
360+
361+ *on_this_computer = NULL;
362+ *on_the_web = NULL;
363+@@ -90,15 +89,14 @@ create_calendar_sources (EShellBackend *shell_backend,
364+ shell = e_shell_backend_get_shell (shell_backend);
365+ shell_settings = e_shell_get_shell_settings (shell);
366+
367+- base_dir = e_shell_backend_get_data_dir (shell_backend);
368+- base_uri = g_build_filename (base_dir, "local", NULL);
369+-
370+- base_uri_proto = g_filename_to_uri (base_uri, NULL, NULL);
371+-
372+ groups = e_source_list_peek_groups (source_list);
373+ if (groups) {
374+ /* groups are already there, we need to search for things... */
375+ GSList *g;
376++ gchar *base_dir, *base_uri;
377++
378++ base_dir = g_build_filename (e_shell_backend_get_data_dir (shell_backend), "local", NULL);
379++ base_uri = g_filename_to_uri (base_dir, NULL, NULL);
380+
381+ for (g = groups; g; g = g->next) {
382+
383+@@ -108,9 +106,9 @@ create_calendar_sources (EShellBackend *shell_backend,
384+ e_source_group_set_base_uri (group, CONTACTS_BASE_URI);
385+
386+ if (!strcmp (base_uri, e_source_group_peek_base_uri (group)))
387+- e_source_group_set_base_uri (group, base_uri_proto);
388++ e_source_group_set_base_uri (group, LOCAL_BASE_URI);
389+
390+- if (!*on_this_computer && !strcmp (base_uri_proto,
391++ if (!*on_this_computer && !strcmp (LOCAL_BASE_URI,
392+ e_source_group_peek_base_uri (group)))
393+ *on_this_computer = g_object_ref (group);
394+
395+@@ -122,6 +120,9 @@ create_calendar_sources (EShellBackend *shell_backend,
396+ e_source_group_peek_base_uri (group)))
397+ *contacts = g_object_ref (group);
398+ }
399++
400++ g_free (base_dir);
401++ g_free (base_uri);
402+ }
403+
404+ if (*on_this_computer) {
405+@@ -143,7 +144,7 @@ create_calendar_sources (EShellBackend *shell_backend,
406+ }
407+ } else {
408+ /* create the local source group */
409+- group = e_source_group_new (_("On This Computer"), base_uri_proto);
410++ group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
411+ e_source_list_add_group (source_list, group, -1);
412+
413+ *on_this_computer = group;
414+@@ -189,9 +190,6 @@ create_calendar_sources (EShellBackend *shell_backend,
415+
416+ *contacts = group;
417+ }
418+-
419+- g_free (base_uri_proto);
420+- g_free (base_uri);
421+ }
422+
423+ gboolean
424+diff --git a/modules/calendar/e-memo-shell-migrate.c b/modules/calendar/e-memo-shell-migrate.c
425+index d858247..d2ec8e2 100644
426+--- a/modules/calendar/e-memo-shell-migrate.c
427++++ b/modules/calendar/e-memo-shell-migrate.c
428+@@ -34,6 +34,7 @@
429+ #include "calendar/gui/calendar-config-keys.h"
430+ #include "shell/e-shell.h"
431+
432++#define LOCAL_BASE_URI "local:"
433+ #define WEBCAL_BASE_URI "webcal://"
434+ #define PERSONAL_RELATIVE_URI "system"
435+ #define GROUPWISE_BASE_URI "groupwise://"
436+@@ -49,8 +50,6 @@ create_memo_sources (EShellBackend *shell_backend,
437+ EShellSettings *shell_settings;
438+ GSList *groups;
439+ ESourceGroup *group;
440+- gchar *base_uri, *base_uri_proto;
441+- const gchar *base_dir;
442+
443+ *on_this_computer = NULL;
444+ *on_the_web = NULL;
445+@@ -59,25 +58,29 @@ create_memo_sources (EShellBackend *shell_backend,
446+ shell = e_shell_backend_get_shell (shell_backend);
447+ shell_settings = e_shell_get_shell_settings (shell);
448+
449+- base_dir = e_shell_backend_get_data_dir (shell_backend);
450+- base_uri = g_build_filename (base_dir, "local", NULL);
451+-
452+- base_uri_proto = g_filename_to_uri (base_uri, NULL, NULL);
453+-
454+ groups = e_source_list_peek_groups (source_list);
455+ if (groups) {
456+ /* groups are already there, we need to search for things... */
457+ GSList *g;
458++ gchar *base_dir, *base_uri;
459+
460+- for (g = groups; g; g = g->next) {
461++ base_dir = g_build_filename (e_shell_backend_get_data_dir (shell_backend), "local", NULL);
462++ base_uri = g_filename_to_uri (base_dir, NULL, NULL);
463+
464++ for (g = groups; g; g = g->next) {
465+ group = E_SOURCE_GROUP (g->data);
466+
467+- if (!*on_this_computer && !strcmp (base_uri_proto, e_source_group_peek_base_uri (group)))
468++ if (strcmp (base_uri, e_source_group_peek_base_uri (group)) == 0)
469++ e_source_group_set_base_uri (group, LOCAL_BASE_URI);
470++
471++ if (!*on_this_computer && !strcmp (LOCAL_BASE_URI, e_source_group_peek_base_uri (group)))
472+ *on_this_computer = g_object_ref (group);
473+ else if (!*on_the_web && !strcmp (WEBCAL_BASE_URI, e_source_group_peek_base_uri (group)))
474+ *on_the_web = g_object_ref (group);
475+ }
476++
477++ g_free (base_dir);
478++ g_free (base_uri);
479+ }
480+
481+ if (*on_this_computer) {
482+@@ -99,7 +102,7 @@ create_memo_sources (EShellBackend *shell_backend,
483+ }
484+ } else {
485+ /* create the local source group */
486+- group = e_source_group_new (_("On This Computer"), base_uri_proto);
487++ group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
488+ e_source_list_add_group (source_list, group, -1);
489+
490+ *on_this_computer = group;
491+@@ -138,9 +141,6 @@ create_memo_sources (EShellBackend *shell_backend,
492+
493+ *on_the_web = group;
494+ }
495+-
496+- g_free (base_uri_proto);
497+- g_free (base_uri);
498+ }
499+
500+ static gboolean
501+diff --git a/modules/calendar/e-task-shell-migrate.c b/modules/calendar/e-task-shell-migrate.c
502+index 91da8f4..dc240b9 100644
503+--- a/modules/calendar/e-task-shell-migrate.c
504++++ b/modules/calendar/e-task-shell-migrate.c
505+@@ -42,6 +42,7 @@
506+ #include "calendar/gui/calendar-config-keys.h"
507+ #include "shell/e-shell.h"
508+
509++#define LOCAL_BASE_URI "local:"
510+ #define WEBCAL_BASE_URI "webcal://"
511+ #define PERSONAL_RELATIVE_URI "system"
512+
513+@@ -56,8 +57,6 @@ create_task_sources (EShellBackend *shell_backend,
514+ EShellSettings *shell_settings;
515+ GSList *groups;
516+ ESourceGroup *group;
517+- gchar *base_uri, *base_uri_proto;
518+- const gchar *base_dir;
519+
520+ *on_this_computer = NULL;
521+ *on_the_web = NULL;
522+@@ -66,27 +65,31 @@ create_task_sources (EShellBackend *shell_backend,
523+ shell = e_shell_backend_get_shell (shell_backend);
524+ shell_settings = e_shell_get_shell_settings (shell);
525+
526+- base_dir = e_shell_backend_get_data_dir (shell_backend);
527+- base_uri = g_build_filename (base_dir, "local", NULL);
528+-
529+- base_uri_proto = g_filename_to_uri (base_uri, NULL, NULL);
530+-
531+ groups = e_source_list_peek_groups (source_list);
532+ if (groups) {
533+ /* groups are already there, we need to search for things... */
534+ GSList *g;
535++ gchar *base_dir, *base_uri;
536+
537+- for (g = groups; g; g = g->next) {
538++ base_dir = g_build_filename (e_shell_backend_get_data_dir (shell_backend), "local", NULL);
539++ base_uri = g_filename_to_uri (base_dir, NULL, NULL);
540+
541++ for (g = groups; g; g = g->next) {
542+ group = E_SOURCE_GROUP (g->data);
543+
544+- if (!*on_this_computer && !strcmp (base_uri_proto,
545++ if (strcmp (base_uri, e_source_group_peek_base_uri (group)) == 0)
546++ e_source_group_set_base_uri (group, LOCAL_BASE_URI);
547++
548++ if (!*on_this_computer && !strcmp (LOCAL_BASE_URI,
549+ e_source_group_peek_base_uri (group)))
550+ *on_this_computer = g_object_ref (group);
551+ else if (!*on_the_web && !strcmp (WEBCAL_BASE_URI,
552+ e_source_group_peek_base_uri (group)))
553+ *on_the_web = g_object_ref (group);
554+ }
555++
556++ g_free (base_dir);
557++ g_free (base_uri);
558+ }
559+
560+ if (*on_this_computer) {
561+@@ -108,7 +111,7 @@ create_task_sources (EShellBackend *shell_backend,
562+ }
563+ } else {
564+ /* create the local source group */
565+- group = e_source_group_new (_("On This Computer"), base_uri_proto);
566++ group = e_source_group_new (_("On This Computer"), LOCAL_BASE_URI);
567+ e_source_list_add_group (source_list, group, -1);
568+
569+ *on_this_computer = group;
570+@@ -147,9 +150,6 @@ create_task_sources (EShellBackend *shell_backend,
571+
572+ *on_the_web = group;
573+ }
574+-
575+- g_free (base_uri_proto);
576+- g_free (base_uri);
577+ }
578+
579+ gboolean
580+diff --git a/shell/e-shell-migrate.c b/shell/e-shell-migrate.c
581+index f4ac0b7..7853127 100644
582+--- a/shell/e-shell-migrate.c
583++++ b/shell/e-shell-migrate.c
584+@@ -433,14 +433,15 @@ shell_xdg_migrate_config_dir_mail (EShell *shell,
585+ }
586+
587+ static void
588+-shell_xdg_migrate_config_dir_cleanup (EShell *shell,
589++shell_xdg_migrate_dir_cleanup (EShell *shell,
590+ const gchar *old_base_dir,
591+- const gchar *backend_name)
592++ const gchar *backend_name,
593++ const gchar *dir_name)
594+ {
595+ gchar *dirname;
596+
597+ dirname = g_build_filename (
598+- old_base_dir, backend_name, "config", NULL);
599++ old_base_dir, backend_name, dir_name, NULL);
600+
601+ shell_xdg_migrate_rmdir (dirname);
602+
603+@@ -467,10 +468,13 @@ shell_xdg_migrate_config_dir (EShell *shell,
604+ /* Handle backend-specific files. */
605+ shell_xdg_migrate_config_dir_mail (shell, old_base_dir);
606+
607+- /* Remove leftover "config" directories. */
608+- for (ii = 0; shell_backend_names[ii] != NULL; ii++)
609+- shell_xdg_migrate_config_dir_cleanup (
610+- shell, old_base_dir, shell_backend_names[ii]);
611++ /* Remove leftover config directories. */
612++ for (ii = 0; shell_backend_names[ii] != NULL; ii++) {
613++ shell_xdg_migrate_dir_cleanup (
614++ shell, old_base_dir, shell_backend_names[ii], "config");
615++ shell_xdg_migrate_dir_cleanup (
616++ shell, old_base_dir, shell_backend_names[ii], "views");
617++ }
618+
619+ /*** Miscellaneous configuration files. ***/
620+

Subscribers

People subscribed via source and target branches