Compare commits

..

16 commits

Author SHA1 Message Date
Fedora Release Engineering
e5b59f011f dist-git conversion 2010-07-28 13:59:23 +00:00
Bill Nottingham
f8a08bb19b Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:25:59 +00:00
Matthew Barnes
7c492b3389 Fix the date 2008-06-04 10:06:30 +00:00
Matthew Barnes
e3da36e36e - Add patches for RH bug #449923 (buffer overflow vulnerabilities). 2008-06-04 09:57:32 +00:00
Matthew Barnes
4f74dc449f Fix some minor rpmdiff complaints. 2008-05-30 12:30:56 +00:00
Daniel Williams
a7dcc278dc - Add patch for GNOME bug #524310 2008-03-25 15:06:28 +00:00
Matthew Barnes
a31a9c3eca Add a Bugzilla reference for CVE-2008-0072. 2008-03-05 15:41:01 +00:00
Matthew Barnes
b1284d5727 - Add patch for CVE-2008-0072 (format string vulnerability). 2008-03-05 15:11:19 +00:00
Milan Crha
8419f5803c - Add patch for GNOME bug #351672 (dragging IMAP messages locks X) 2008-03-03 18:25:07 +00:00
Milan Crha
f3686316a2 - Update to 2.12.3
- Removed patch for RH bug #215467 / GNOME bug #380644 (fixed upstream).
- Removed patch for RH bug #404591 / GNOME bug #491062 (fixed upstream).
- Removed patch for RH bug #499920 (fixed upstream).
- Removed patch for GNOME bug #363695 (causes issues)
2008-01-07 17:31:48 +00:00
Matthew Barnes
56e27484b7 - Add patch for GNOME bug #499920 (invalid #include, mainly for Zimbra). 2007-12-06 20:45:54 +00:00
Milan Crha
0a2d680bd1 - Add patch for RH bug #404591 (do not add automatic contacts if disabled) 2007-11-29 19:31:56 +00:00
Milan Crha
4a1fc8f40b - Update to 2.12.2 2007-11-27 12:18:33 +00:00
Milan Crha
1317f5eb91 - Add patch for GNOME bug #454465 (fix Save button in task dialog) 2007-11-16 18:36:19 +00:00
Matthew Barnes
5cdd21ea26 - Disable patch for GNOME bug #376991 for now. It may be contributing to
password prompting problems as described in RH bug #296671.
2007-10-18 18:05:35 +00:00
Kevin Fenzi
991b1c955a Initialize branch F-8 for evolution 2007-10-16 22:23:29 +00:00
32 changed files with 14343 additions and 545 deletions

2
.gitignore vendored
View file

@ -1 +1 @@
/evolution-*.tar.xz
evolution-2.12.3.tar.bz2

View file

@ -1,42 +0,0 @@
diff -up evolution-3.48.1 evolution-3.48
diff -up evolution-3.48.1/docs/evolution.1 evolution-3.48.1/docs/evolution
diff -up evolution-3.48.1/src/modules/backup-restore/evolution-backup-tool.c.1 evolution-3.48.1/src/modules/backup-restore/evolution-backup-tool.c
--- evolution-3.48.1/src/modules/backup-restore/evolution-backup-tool.c.1 2023-11-27 13:12:25.099463743 -0500
+++ evolution-3.48.1/src/modules/backup-restore/evolution-backup-tool.c 2023-11-27 13:14:38.640243434 -0500
@@ -674,7 +674,7 @@ get_source_manager_reload_command (void)
g_string_free (tmp, TRUE);
tmp = NULL;
- base_filename = g_strdup (EDS_SOURCES_DBUS_SERVICE_NAME);
+ base_filename = g_ascii_strdown (EDS_SOURCES_DBUS_SERVICE_NAME, -1);
if (!base_filename || !*base_filename) {
g_free (base_filename);
@@ -690,14 +690,16 @@ get_source_manager_reload_command (void)
while (!tmp) {
const gchar *name;
+ gchar *name_down;
name = g_dir_read_name (dir);
+ name_down = g_ascii_strdown (name, -1);
if (!name)
break;
- if (g_ascii_strncasecmp (name, base_filename, base_filename_len) == 0 &&
- g_ascii_strncasecmp (name + strlen (name) - 8, ".service", 8) == 0) {
+ if (strstr (name_down, base_filename) != NULL &&
+ strncmp (name_down + strlen (name) - 8, ".service", 8) == 0) {
gchar *filename;
filename = g_strconcat ("$DBUSDATADIR", G_DIR_SEPARATOR_S, name, NULL);
@@ -724,6 +726,8 @@ get_source_manager_reload_command (void)
g_free (str);
}
}
+
+ g_free (name_down);
}
g_free (base_filename);

View file

@ -0,0 +1,11 @@
--- evolution-1.4.4/configure.ldaphack 2003-08-05 02:06:26.000000000 -0400
+++ evolution-1.4.4/configure 2003-08-05 02:06:45.000000000 -0400
@@ -12135,7 +12135,7 @@
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
-LIBS="-lldap $LDAP_LDFLAGS $LDAP_LIBS $LIBS"
+LIBS="-lldap -lresolv $LDAP_LDFLAGS $LDAP_LIBS $LIBS"
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
/* confdefs.h. */

View file

@ -0,0 +1,26 @@
--- evolution-2.0.2/mail/em-utils.c.fix-145552 2004-09-24 11:49:29.000000000 -0400
+++ evolution-2.0.2/mail/em-utils.c 2005-08-02 22:42:04.000000000 -0400
@@ -1919,10 +1919,22 @@
* try to do better with the filename check.
*/
+ /* RH bug 145552: code based on _gnome_vfs_get_mime_type_internal:
+ * So many file types come compressed by gzip
+ * that extensions are more reliable than magic
+ * typing. If the file has a suffix, then use
+ * the type from the suffix:
+ */
if (magic_type) {
if (name_type
&& (!strcmp(magic_type, "text/plain")
- || !strcmp(magic_type, "application/octet-stream")))
+ || !strcmp(magic_type, "application/octet-stream")
+ || !strcmp(magic_type, "application/octet-stream")
+ || !strcmp(magic_type, "application/x-ole-storage")
+ || !strcmp(magic_type, "text/xml")
+ || !strcmp(magic_type, "application/x-bzip")
+ || !strcmp(magic_type, "application/x-gzip")
+ || !strcmp(magic_type, "application/zip")))
return name_type;
else
return magic_type;

View file

@ -0,0 +1,31 @@
--- evolution-2.10.0/mail/mail-session.c.e-passwords 2007-03-12 23:41:06.000000000 -0400
+++ evolution-2.10.0/mail/mail-session.c 2007-03-12 23:41:35.000000000 -0400
@@ -679,8 +679,6 @@
d(printf ("Gone non-interactive, checking for outstanding interactive tasks\n"));
- e_passwords_cancel();
-
/* flush/cancel pending user messages */
while ((um = (struct _user_message_msg *) e_dlist_remhead (&message_list))) {
d(printf ("Flusing message request: %s\n", um->prompt));
--- evolution-2.10.0/shell/main.c.e-passwords 2007-03-12 23:39:38.000000000 -0400
+++ evolution-2.10.0/shell/main.c 2007-03-12 23:39:54.000000000 -0400
@@ -565,7 +565,6 @@
glade_init ();
e_cursors_init ();
e_icon_factory_init ();
- e_passwords_init();
gtk_window_set_default_icon_name ("evolution");
--- evolution-2.10.0/calendar/gui/alarm-notify/notify-main.c.e-passwords 2007-03-12 23:40:22.000000000 -0400
+++ evolution-2.10.0/calendar/gui/alarm-notify/notify-main.c 2007-03-12 23:40:36.000000000 -0400
@@ -169,7 +169,6 @@
alarm_done ();
- e_passwords_shutdown ();
gnome_sound_shutdown ();
return 0;

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,15 @@
diff -up evolution-2.10.3/mail/mail-session.c.server-message-double-free evolution-2.10.3/mail/mail-session.c
--- evolution-2.10.3/mail/mail-session.c.server-message-double-free 2008-03-25 10:01:13.000000000 -0400
+++ evolution-2.10.3/mail/mail-session.c 2008-03-25 10:01:25.000000000 -0400
@@ -389,10 +389,8 @@ alert_user(CamelSession *session, CamelS
mail_msg_unref (m);
}
- if (m->ismain) {
- user_message_free (m);
+ if (m->ismain)
mail_msg_unref (m);
- }
return result;
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,129 @@
diff -up evolution-2.11.92/mail/em-folder-browser.c.mail-attachment evolution-2.11.92/mail/em-folder-browser.c
--- evolution-2.11.92/mail/em-folder-browser.c.mail-attachment 2007-09-11 18:57:27.000000000 -0400
+++ evolution-2.11.92/mail/em-folder-browser.c 2007-09-11 18:58:15.000000000 -0400
@@ -218,7 +218,7 @@ static EMFBSearchBarItem temp_view_items
{{ N_("Read Messages"), VIEW_READ_MESSAGES, 0 }, "stock_mail-open"},
{{ N_("Recent Messages"), VIEW_RECENT_MESSAGES, 0 }, NULL},
{{ N_("Last 5 Days' Messages"), VIEW_LAST_FIVE_DAYS, 0 }, NULL},
- {{ N_("Messages with Attachments"), VIEW_WITH_ATTACHMENTS, 0 }, "stock_attach"},
+ {{ N_("Messages with Attachments"), VIEW_WITH_ATTACHMENTS, 0 }, "mail-attachment"},
{{ N_("Important Messages"), VIEW_MESSAGES_MARKED_AS_IMPORTANT, 0}, "emblem-important"},
{{ N_("Messages Not Junk"), VIEW_NOT_JUNK, 0 }, "stock_not-spam"},
/* { NULL, 0, NULL }, */
diff -up evolution-2.11.92/mail/message-list.c.mail-attachment evolution-2.11.92/mail/message-list.c
--- evolution-2.11.92/mail/message-list.c.mail-attachment 2007-09-11 18:57:27.000000000 -0400
+++ evolution-2.11.92/mail/message-list.c 2007-09-11 18:58:15.000000000 -0400
@@ -223,7 +223,7 @@ static struct {
{ "stock_mail-unread-multiple", NULL },
{ "stock_mail-open-multiple", NULL },
{ NULL, NULL },
- { "stock_attach", NULL },
+ { "mail-attachment", NULL },
{ "emblem-important", NULL },
{ "stock_score-lowest", NULL },
{ "stock_score-lower", NULL },
diff -up evolution-2.11.92/widgets/misc/e-attachment-bar.c.mail-attachment evolution-2.11.92/widgets/misc/e-attachment-bar.c
--- evolution-2.11.92/widgets/misc/e-attachment-bar.c.mail-attachment 2007-09-02 14:57:07.000000000 -0400
+++ evolution-2.11.92/widgets/misc/e-attachment-bar.c 2007-09-11 18:58:15.000000000 -0400
@@ -281,8 +281,7 @@ update (EAttachmentBar *bar)
attachment = priv->attachments->pdata[i];
if (!attachment->is_available_local || !attachment->body) {
- /* stock_attach would be better, but its fugly scaled up */
- if ((pixbuf = e_icon_factory_get_icon("stock_unknown", E_ICON_SIZE_DIALOG))) {
+ if ((pixbuf = e_icon_factory_get_icon("mail-attachment", E_ICON_SIZE_DIALOG))) {
attachment->index = gnome_icon_list_append_pixbuf (icon_list, pixbuf, NULL, "");
g_object_unref (pixbuf);
}
@@ -373,8 +372,7 @@ update (EAttachmentBar *bar)
pixbuf = e_icon_for_mime_type (mime_type, 48);
if (pixbuf == NULL) {
g_warning("cannot find icon for mime type %s (installation problem?)", mime_type);
- /* stock_attach would be better, but its fugly scaled up */
- pixbuf = e_icon_factory_get_icon("stock_unknown", E_ICON_SIZE_DIALOG);
+ pixbuf = e_icon_factory_get_icon("mail-attachment", E_ICON_SIZE_DIALOG);
}
g_free (mime_type);
}
diff -up evolution-2.11.92/composer/e-msg-composer.c.mail-attachment evolution-2.11.92/composer/e-msg-composer.c
--- evolution-2.11.92/composer/e-msg-composer.c.mail-attachment 2007-09-02 14:56:48.000000000 -0400
+++ evolution-2.11.92/composer/e-msg-composer.c 2007-09-11 18:58:15.000000000 -0400
@@ -2208,11 +2208,11 @@ static BonoboUIVerb verbs [] = {
};
static EPixmap pixcache [] = {
- E_PIXMAP ("/Toolbar/FileAttach", "stock_attach", E_ICON_SIZE_LARGE_TOOLBAR),
+ E_PIXMAP ("/Toolbar/FileAttach", "mail-attachment", E_ICON_SIZE_LARGE_TOOLBAR),
E_PIXMAP ("/Toolbar/FileSend", "stock_mail-send", E_ICON_SIZE_LARGE_TOOLBAR),
E_PIXMAP ("/Toolbar/FileSaveDraft", "stock_save", E_ICON_SIZE_LARGE_TOOLBAR) ,
-/* E_PIXMAP ("/menu/Insert/FileAttach", "stock_attach", E_ICON_SIZE_LARGE_TOOLBAR), */
+/* E_PIXMAP ("/menu/Insert/FileAttach", "mail-attachment", E_ICON_SIZE_LARGE_TOOLBAR), */
E_PIXMAP ("/commands/FileSend", "stock_mail-send", E_ICON_SIZE_MENU),
E_PIXMAP ("/commands/FileSave", "stock_save", E_ICON_SIZE_MENU),
E_PIXMAP ("/commands/FileSaveAs", "stock_save-as", E_ICON_SIZE_MENU),
@@ -3989,7 +3989,7 @@ create_composer (int visible_mask)
gtk_misc_set_alignment (GTK_MISC (p->attachment_expander_num), 1.0, 0.5);
expander_hbox = gtk_hbox_new (FALSE, 0);
- p->attachment_expander_icon = e_icon_factory_get_image ("stock_attach", E_ICON_SIZE_MENU);
+ p->attachment_expander_icon = e_icon_factory_get_image ("mail-attachment", E_ICON_SIZE_MENU);
gtk_misc_set_alignment (GTK_MISC (p->attachment_expander_icon), 1, 0.5);
gtk_widget_set_size_request (p->attachment_expander_icon, 100, -1);
diff -up evolution-2.11.92/calendar/gui/e-week-view.c.mail-attachment evolution-2.11.92/calendar/gui/e-week-view.c
--- evolution-2.11.92/calendar/gui/e-week-view.c.mail-attachment 2007-09-11 18:57:27.000000000 -0400
+++ evolution-2.11.92/calendar/gui/e-week-view.c 2007-09-11 18:58:16.000000000 -0400
@@ -697,7 +697,7 @@ e_week_view_realize (GtkWidget *widget)
week_view->reminder_icon = e_icon_factory_get_icon ("stock_bell", E_ICON_SIZE_MENU);
week_view->recurrence_icon = e_icon_factory_get_icon ("stock_refresh", E_ICON_SIZE_MENU);
week_view->timezone_icon = e_icon_factory_get_icon ("stock_timezone", E_ICON_SIZE_MENU);
- week_view->attach_icon = e_icon_factory_get_icon ("stock_attach", E_ICON_SIZE_MENU);
+ week_view->attach_icon = e_icon_factory_get_icon ("mail-attachment", E_ICON_SIZE_MENU);
week_view->meeting_icon = e_icon_factory_get_icon ("stock_people", E_ICON_SIZE_MENU);
}
diff -up evolution-2.11.92/calendar/gui/dialogs/comp-editor.c.mail-attachment evolution-2.11.92/calendar/gui/dialogs/comp-editor.c
--- evolution-2.11.92/calendar/gui/dialogs/comp-editor.c.mail-attachment 2007-09-02 14:57:08.000000000 -0400
+++ evolution-2.11.92/calendar/gui/dialogs/comp-editor.c 2007-09-11 18:58:15.000000000 -0400
@@ -1486,8 +1486,8 @@ static BonoboUIVerb verbs [] = {
};
static EPixmap pixmaps[] = {
- E_PIXMAP ("/Toolbar/InsertAttachments", "stock_attach", E_ICON_SIZE_LARGE_TOOLBAR),
- E_PIXMAP ("/menu/Insert/Attachments/InsertAttachments", "stock_attach", E_ICON_SIZE_MENU),
+ E_PIXMAP ("/Toolbar/InsertAttachments", "mail-attachment", E_ICON_SIZE_LARGE_TOOLBAR),
+ E_PIXMAP ("/menu/Insert/Attachments/InsertAttachments", "mail-attachment", E_ICON_SIZE_MENU),
E_PIXMAP_END
};
@@ -1546,7 +1546,7 @@ setup_widgets (CompEditor *editor)
gtk_misc_set_alignment (GTK_MISC (priv->attachment_expander_num), 1.0, 0.5);
expander_hbox = gtk_hbox_new (FALSE, 0);
- attachment_pixbuf = e_icon_factory_get_icon ("stock_attach", E_ICON_SIZE_MENU);
+ attachment_pixbuf = e_icon_factory_get_icon ("mail-attachment", E_ICON_SIZE_MENU);
priv->attachment_expander_icon = gtk_image_new_from_pixbuf (attachment_pixbuf);
gtk_misc_set_alignment (GTK_MISC (priv->attachment_expander_icon), 1, 0.5);
gtk_widget_set_size_request (priv->attachment_expander_icon, 100, -1);
diff -up evolution-2.11.92/calendar/gui/e-day-view.c.mail-attachment evolution-2.11.92/calendar/gui/e-day-view.c
--- evolution-2.11.92/calendar/gui/e-day-view.c.mail-attachment 2007-09-11 18:57:27.000000000 -0400
+++ evolution-2.11.92/calendar/gui/e-day-view.c 2007-09-11 18:58:16.000000000 -0400
@@ -1423,7 +1423,7 @@ e_day_view_realize (GtkWidget *widget)
day_view->recurrence_icon = e_icon_factory_get_icon ("stock_refresh", E_ICON_SIZE_MENU);
day_view->timezone_icon = e_icon_factory_get_icon ("stock_timezone", E_ICON_SIZE_MENU);
day_view->meeting_icon = e_icon_factory_get_icon ("stock_people", E_ICON_SIZE_MENU);
- day_view->attach_icon = e_icon_factory_get_icon ("stock_attach", E_ICON_SIZE_MENU);
+ day_view->attach_icon = e_icon_factory_get_icon ("mail-attachment", E_ICON_SIZE_MENU);
/* Set the canvas item colors. */
@@ -1497,7 +1497,7 @@ e_day_view_realize (GtkWidget *widget)
day_view->recurrence_icon = e_icon_factory_get_icon ("stock_refresh", E_ICON_SIZE_MENU);
day_view->timezone_icon = e_icon_factory_get_icon ("stock_timezone", E_ICON_SIZE_MENU);
day_view->meeting_icon = e_icon_factory_get_icon ("stock_people", E_ICON_SIZE_MENU);
- day_view->attach_icon = e_icon_factory_get_icon ("stock_attach", E_ICON_SIZE_MENU);
+ day_view->attach_icon = e_icon_factory_get_icon ("mail-attachment", E_ICON_SIZE_MENU);
/* Set the canvas item colors. */

View file

@ -0,0 +1,12 @@
diff -up evolution-2.12.1/calendar/gui/dialogs/task-page.c.source-changed-event evolution-2.12.1/calendar/gui/dialogs/task-page.c
--- evolution-2.12.1/calendar/gui/dialogs/task-page.c.source-changed-event 2007-11-16 19:07:11.000000000 +0100
+++ evolution-2.12.1/calendar/gui/dialogs/task-page.c 2007-11-16 19:08:06.000000000 +0100
@@ -1837,7 +1837,7 @@ init_widgets (TaskPage *tpage)
G_CALLBACK (categories_clicked_cb), tpage);
/* Source selector */
- g_signal_connect((priv->source_selector), "source_changed",
+ g_signal_connect((priv->source_selector), "changed",
G_CALLBACK (source_changed_cb), tpage);
/* Connect the default signal handler to use to make sure the "changed"

View file

@ -0,0 +1,48 @@
diff -up evolution-2.12.3/mail/em-format.c.CVE-2008-0072 evolution-2.12.3/mail/em-format.c
--- evolution-2.12.3/mail/em-format.c.CVE-2008-0072 2007-10-12 02:56:01.000000000 -0400
+++ evolution-2.12.3/mail/em-format.c 2008-03-04 15:59:30.000000000 -0500
@@ -1193,7 +1193,7 @@ emf_application_xpkcs7mime(EMFormat *emf
opart = camel_mime_part_new();
valid = camel_cipher_decrypt(context, part, opart, ex);
if (valid == NULL) {
- em_format_format_error(emf, stream, ex->desc?ex->desc:_("Could not parse S/MIME message: Unknown error"));
+ em_format_format_error(emf, stream, "%s", ex->desc?ex->desc:_("Could not parse S/MIME message: Unknown error"));
em_format_part_as(emf, stream, part, NULL);
} else {
if (emfc == NULL)
@@ -1350,7 +1350,7 @@ emf_multipart_encrypted(EMFormat *emf, C
if (valid == NULL) {
em_format_format_error(emf, stream, ex->desc?_("Could not parse PGP/MIME message"):_("Could not parse PGP/MIME message: Unknown error"));
if (ex->desc)
- em_format_format_error(emf, stream, ex->desc);
+ em_format_format_error(emf, stream, "%s", ex->desc);
em_format_part_as(emf, stream, part, "multipart/mixed");
} else {
if (emfc == NULL)
@@ -1515,7 +1515,7 @@ emf_multipart_signed(EMFormat *emf, Came
if (valid == NULL) {
em_format_format_error(emf, stream, ex->desc?_("Error verifying signature"):_("Unknown error verifying signature"));
if (ex->desc)
- em_format_format_error(emf, stream, ex->desc);
+ em_format_format_error(emf, stream, "%s", ex->desc);
em_format_part_as(emf, stream, part, "multipart/mixed");
} else {
if (emfc == NULL)
@@ -1586,7 +1586,7 @@ emf_inlinepgp_signed(EMFormat *emf, Came
if (!valid) {
em_format_format_error(emf, stream, ex->desc?_("Error verifying signature"):_("Unknown error verifying signature"));
if (ex->desc)
- em_format_format_error(emf, stream, ex->desc);
+ em_format_format_error(emf, stream, "%s", ex->desc);
em_format_format_source(emf, stream, ipart);
/* I think this will loop: em_format_part_as(emf, stream, part, "text/plain"); */
camel_exception_free(ex);
@@ -1657,7 +1657,7 @@ emf_inlinepgp_encrypted(EMFormat *emf, C
if (!valid) {
em_format_format_error(emf, stream, ex->desc?_("Could not parse PGP message"):_("Could not parse PGP message: Unknown error"));
if (ex->desc)
- em_format_format_error(emf, stream, ex->desc);
+ em_format_format_error(emf, stream, "%s", ex->desc);
em_format_format_source(emf, stream, ipart);
/* I think this will loop: em_format_part_as(emf, stream, part, "text/plain"); */
camel_exception_free(ex);

View file

@ -0,0 +1,310 @@
diff -up evolution-2.12.3/calendar/gui/e-itip-control.c.CVE-2008-1108 evolution-2.12.3/calendar/gui/e-itip-control.c
--- evolution-2.12.3/calendar/gui/e-itip-control.c.CVE-2008-1108 2008-06-03 16:49:05.000000000 -0400
+++ evolution-2.12.3/calendar/gui/e-itip-control.c 2008-06-03 16:51:33.000000000 -0400
@@ -650,7 +650,7 @@ find_attendee (icalcomponent *ical_comp,
static void
write_label_piece (EItipControl *itip, ECalComponentDateTime *dt,
- char *buffer, int size,
+ GString *buffer,
const char *stext, const char *etext,
gboolean just_date)
{
@@ -675,13 +675,13 @@ write_label_piece (EItipControl *itip, E
tmp_tm.tm_hour = tmp_tm.tm_min = tmp_tm.tm_sec = 0;
if (stext != NULL)
- strcat (buffer, stext);
+ g_string_append (buffer, stext);
e_time_format_date_and_time (&tmp_tm,
calendar_config_get_24_hour_format (),
FALSE, FALSE,
time_buf, sizeof (time_buf));
- strcat (buffer, time_buf);
+ g_string_append (buffer, time_buf);
if (!dt->value->is_utc && dt->tzid) {
zone = icalcomponent_get_timezone (priv->top_level, dt->tzid);
@@ -693,21 +693,21 @@ write_label_piece (EItipControl *itip, E
UTF-8. But it probably is not translated. */
display_name = icaltimezone_get_display_name (zone);
if (display_name && *display_name) {
- strcat (buffer, " <font size=-1>[");
+ g_string_append_len (buffer, " <font size=-1>[", 16);
/* We check if it is one of our builtin timezone names,
in which case we call gettext to translate it. */
if (icaltimezone_get_builtin_timezone (display_name)) {
- strcat (buffer, _(display_name));
+ g_string_append_printf (buffer, "%s", _(display_name));
} else {
- strcat (buffer, display_name);
+ g_string_append_printf (buffer, "%s", display_name);
}
- strcat (buffer, "]</font>");
+ g_string_append_len (buffer, "]</font>", 8);
}
}
if (etext != NULL)
- strcat (buffer, etext);
+ g_string_append (buffer, etext);
}
static const char *
@@ -744,19 +744,17 @@ get_dayname (struct icalrecurrencetype *
static void
write_recurrence_piece (EItipControl *itip, ECalComponent *comp,
- char *buffer, int size)
+ GString *buffer)
{
GSList *rrules;
struct icalrecurrencetype *r;
- int len, i;
+ int i;
- strcpy (buffer, "<b>Recurring:</b> ");
- len = strlen (buffer);
- buffer += len;
- size -= len;
+ g_string_append_len (buffer, "<b>Recurring:</b> ", 18);
if (!e_cal_component_has_simple_recurrence (comp)) {
- strcpy (buffer, _("Yes. (Complex Recurrence)"));
+ g_string_append_printf (
+ buffer, "%s", _("Yes. (Complex Recurrence)"));
return;
}
@@ -772,7 +770,10 @@ write_recurrence_piece (EItipControl *it
Every %d day/days" */
/* For Translators : 'Every day' is event Recurring every day */
/* For Translators : 'Every %d days' is event Recurring every %d days. %d is a digit */
- sprintf (buffer, ngettext("Every day", "Every %d days", r->interval), r->interval);
+ g_string_append_printf (
+ buffer, ngettext ("Every day",
+ "Every %d days", r->interval),
+ r->interval);
break;
case ICAL_WEEKLY_RECURRENCE:
@@ -782,29 +783,36 @@ write_recurrence_piece (EItipControl *it
Every %d week/weeks" */
/* For Translators : 'Every week' is event Recurring every week */
/* For Translators : 'Every %d weeks' is event Recurring every %d weeks. %d is a digit */
- sprintf (buffer, ngettext("Every week", "Every %d weeks", r->interval), r->interval);
+ g_string_append_printf (
+ buffer, ngettext ("Every week",
+ "Every %d weeks", r->interval),
+ r->interval);
} else {
/* For Translators : 'Every week on' is event Recurring every week on (dayname) and (dayname) and (dayname) */
/* For Translators : 'Every %d weeks on' is event Recurring: every %d weeks on (dayname) and (dayname). %d is a digit */
- sprintf (buffer, ngettext("Every week on ", "Every %d weeks on ", r->interval), r->interval);
+ g_string_append_printf (
+ buffer, ngettext ("Every week on ",
+ "Every %d weeks on ", r->interval),
+ r->interval);
for (i = 1; i < 8 && r->by_day[i] != ICAL_RECURRENCE_ARRAY_MAX; i++) {
if (i > 1)
- strcat (buffer, ", ");
- strcat (buffer, get_dayname (r, i - 1));
+ g_string_append_len (buffer, ", ", 2);
+ g_string_append (buffer, get_dayname (r, i - 1));
}
if (i > 1)
/* For Translators : 'and' is part of the sentence 'event recurring every week on (dayname) and (dayname)' */
- strcat (buffer, _(" and "));
- strcat (buffer, get_dayname (r, i - 1));
+ g_string_append_printf (buffer, "%s", _(" and "));
+ g_string_append (buffer, get_dayname (r, i - 1));
}
break;
case ICAL_MONTHLY_RECURRENCE:
if (r->by_month_day[0] != ICAL_RECURRENCE_ARRAY_MAX) {
/* For Translators : 'The %s day of' is part of the sentence 'event recurring on the (nth) day of every month.' */
- sprintf (buffer, _("The %s day of "),
- nth (r->by_month_day[0]));
+ g_string_append_printf (
+ buffer, _("The %s day of "),
+ nth (r->by_month_day[0]));
} else {
int pos;
@@ -818,20 +826,21 @@ write_recurrence_piece (EItipControl *it
/* For Translators : 'The %s %s of' is part of the sentence 'event recurring on the (nth) (dayname) of every month.'
eg,third monday of every month */
- sprintf (buffer, _("The %s %s of "),
- nth (pos), get_dayname (r, 0));
+ g_string_append_printf (
+ buffer, _("The %s %s of "),
+ nth (pos), get_dayname (r, 0));
}
- len = strlen (buffer);
- buffer += len;
- size -= len;
/* For Translators: In this can also be translated as "With the period of %d
month/months", where %d is a number. The entire sentence is of the form "Recurring:
Every %d month/months" */
/* For Translators : 'every month' is part of the sentence 'event recurring on the (nth) day of every month.' */
/* For Translators : 'every %d months' is part of the sentence 'event recurring on the (nth) day of every %d months.'
%d is a digit */
- sprintf (buffer, ngettext("every month","every %d months", r->interval), r->interval);
+ g_string_append_printf (
+ buffer, ngettext ("every month",
+ "every %d months", r->interval),
+ r->interval);
break;
case ICAL_YEARLY_RECURRENCE:
@@ -840,20 +849,22 @@ write_recurrence_piece (EItipControl *it
Every %d year/years" */
/* For Translators : 'Every year' is event Recurring every year */
/* For Translators : 'Every %d years' is event Recurring every %d years. %d is a digit */
- sprintf (buffer, ngettext("Every year", "Every %d years", r->interval), r->interval);
+ g_string_append_printf (
+ buffer, ngettext ("Every year",
+ "Every %d years", r->interval),
+ r->interval);
break;
default:
g_return_if_reached ();
}
- len = strlen (buffer);
- buffer += len;
- size -= len;
if (r->count) {
/* For Translators:'a total of %d time' is part of the sentence of the form 'event recurring every day,a total of % time.' %d is a digit*/
/* For Translators:'a total of %d times' is part of the sentence of the form 'event recurring every day,a total of % times.' %d is a digit*/
- sprintf (buffer, ngettext("a total of %d time", " a total of %d times", r->count), r->count);
+ g_string_append_printf (
+ buffer, ngettext ("a total of %d time",
+ " a total of %d times", r->count), r->count);
} else if (!icaltime_is_null_time (r->until)) {
ECalComponentDateTime dt;
@@ -861,12 +872,12 @@ write_recurrence_piece (EItipControl *it
dt.value = &r->until;
dt.tzid = icaltimezone_get_tzid ((icaltimezone *)r->until.zone);
- write_label_piece (itip, &dt, buffer, size,
+ write_label_piece (itip, &dt, buffer,
/* For Translators : ', ending on' is part of the sentence of the form 'event recurring every day, ending on (date).'*/
_(", ending on "), NULL, TRUE);
}
- strcat (buffer, "<br>");
+ g_string_append_len (buffer, "<br>", 4);
}
static void
@@ -874,47 +885,51 @@ set_date_label (EItipControl *itip, GtkH
ECalComponent *comp)
{
ECalComponentDateTime datetime;
- static char buffer[1024];
+ GString *buffer;
gchar *str;
gboolean wrote = FALSE, task_completed = FALSE;
ECalComponentVType type;
+ buffer = g_string_sized_new (1024);
type = e_cal_component_get_vtype (comp);
- buffer[0] = '\0';
e_cal_component_get_dtstart (comp, &datetime);
if (datetime.value) {
/* For Translators : 'starts' is starts:date implying a task starts on what date */
str = g_strdup_printf ("<b>%s:</b>", _("Starts"));
- write_label_piece (itip, &datetime, buffer, 1024,
- str,
- "<br>", FALSE);
- gtk_html_write (html, html_stream, buffer, strlen(buffer));
+ write_label_piece (itip, &datetime, buffer, str, "<br>", FALSE);
+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
wrote = TRUE;
g_free (str);
}
e_cal_component_free_datetime (&datetime);
- buffer[0] = '\0';
+ /* Reset the buffer. */
+ g_string_truncate (buffer, 0);
+
e_cal_component_get_dtend (comp, &datetime);
if (datetime.value){
/* For Translators : 'ends' is ends:date implying a task ends on what date */
str = g_strdup_printf ("<b>%s:</b>", _("Ends"));
- write_label_piece (itip, &datetime, buffer, 1024, str, "<br>", FALSE);
- gtk_html_write (html, html_stream, buffer, strlen (buffer));
+ write_label_piece (itip, &datetime, buffer, str, "<br>", FALSE);
+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
wrote = TRUE;
g_free (str);
}
e_cal_component_free_datetime (&datetime);
- buffer[0] = '\0';
+ /* Reset the buffer. */
+ g_string_truncate (buffer, 0);
+
if (e_cal_component_has_recurrences (comp)) {
- write_recurrence_piece (itip, comp, buffer, 1024);
- gtk_html_write (html, html_stream, buffer, strlen (buffer));
+ write_recurrence_piece (itip, comp, buffer);
+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
wrote = TRUE;
}
- buffer[0] = '\0';
+ /* Reset the buffer. */
+ g_string_truncate (buffer, 0);
+
datetime.tzid = NULL;
e_cal_component_get_completed (comp, &datetime.value);
if (type == E_CAL_COMPONENT_TODO && datetime.value) {
@@ -922,20 +937,22 @@ set_date_label (EItipControl *itip, GtkH
timezone. */
str = g_strdup_printf ("<b>%s:</b>", _("Completed"));
datetime.value->is_utc = TRUE;
- write_label_piece (itip, &datetime, buffer, 1024, str, "<br>", FALSE);
- gtk_html_write (html, html_stream, buffer, strlen (buffer));
+ write_label_piece (itip, &datetime, buffer, str, "<br>", FALSE);
+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
wrote = TRUE;
task_completed = TRUE;
g_free (str);
}
e_cal_component_free_datetime (&datetime);
- buffer[0] = '\0';
+ /* Reset the buffer. */
+ g_string_truncate (buffer, 0);
+
e_cal_component_get_due (comp, &datetime);
if (type == E_CAL_COMPONENT_TODO && !task_completed && datetime.value) {
str = g_strdup_printf ("<b>%s:</b>", _("Due"));
- write_label_piece (itip, &datetime, buffer, 1024, str, "<br>", FALSE);
- gtk_html_write (html, html_stream, buffer, strlen (buffer));
+ write_label_piece (itip, &datetime, buffer, str, "<br>", FALSE);
+ gtk_html_write (html, html_stream, buffer->str, buffer->len);
wrote = TRUE;
g_free (str);
}
@@ -944,6 +961,8 @@ set_date_label (EItipControl *itip, GtkH
if (wrote)
gtk_html_stream_printf (html_stream, "<br>");
+
+ g_string_free (buffer, TRUE);
}
static void

View file

@ -0,0 +1,61 @@
diff -up evolution-2.12.3/calendar/gui/itip-utils.c.CVE-2008-1109 evolution-2.12.3/calendar/gui/itip-utils.c
--- evolution-2.12.3/calendar/gui/itip-utils.c.CVE-2008-1109 2007-10-12 03:04:17.000000000 -0400
+++ evolution-2.12.3/calendar/gui/itip-utils.c 2008-06-03 16:51:42.000000000 -0400
@@ -176,50 +176,16 @@ get_attendee_if_attendee_sentby_is_user
}
static char *
-html_new_lines_for (char *string)
+html_new_lines_for (const char *string)
{
- char *html_string = (char *) malloc (sizeof (char)* (3500));
- int length = strlen (string);
- int index = 0;
- char *index_ptr = string;
- char *temp = string;
+ gchar **lines;
+ gchar *joined;
- /*Find the first occurence*/
- index_ptr = strstr ((const char *)temp, "\n");
+ lines = g_strsplit_set (string, "\n", -1);
+ joined = g_strjoinv ("<br>", lines);
+ g_strfreev (lines);
- /*Doesn't occur*/
- if (index_ptr == NULL) {
- strcpy (html_string, (const char *)string);
- html_string[length] = '\0';
- return html_string;
- }
-
- /*Split into chunks inserting <br> for \n */
- do{
- while (temp != index_ptr){
- html_string[index++] = *temp;
- temp++;
- }
- temp++;
-
- html_string[index++] = '<';
- html_string[index++] = 'b';
- html_string[index++] = 'r';
- html_string[index++] = '>';
-
- index_ptr = strstr ((const char *)temp, "\n");
-
- } while (index_ptr);
-
- /*Don't leave out the last chunk*/
- while (*temp != '\0'){
- html_string[index++] = *temp;
- temp++;
- }
-
- html_string[index] = '\0';
-
- return html_string;
+ return joined;
}
char *

View file

@ -0,0 +1,36 @@
diff -up evolution-2.12.3/mail/em-folder-tree.c.no-drag-finish evolution-2.12.3/mail/em-folder-tree.c
--- evolution-2.12.3/mail/em-folder-tree.c.no-drag-finish 2008-03-03 18:34:41.000000000 +0100
+++ evolution-2.12.3/mail/em-folder-tree.c 2008-03-03 18:34:45.000000000 +0100
@@ -927,23 +927,6 @@ emft_drop_async__exec (struct _DragDataR
}
static void
-emft_drop_async__done (struct _DragDataReceivedAsync *m)
-{
- gboolean success, delete;
-
- /* ?? */
- if (m->aborted) {
- success = FALSE;
- delete = FALSE;
- } else {
- success = !camel_exception_is_set (&m->base.ex);
- delete = success && m->move && !m->moved;
- }
-
- gtk_drag_finish (m->context, success, delete, GDK_CURRENT_TIME);
-}
-
-static void
emft_drop_async__free (struct _DragDataReceivedAsync *m)
{
g_object_unref(m->context);
@@ -958,7 +941,7 @@ static MailMsgInfo emft_drop_async_info
sizeof (struct _DragDataReceivedAsync),
(MailMsgDescFunc) emft_drop_async__desc,
(MailMsgExecFunc) emft_drop_async__exec,
- (MailMsgDoneFunc) emft_drop_async__done,
+ NULL,
(MailMsgFreeFunc) emft_drop_async__free
};

View file

@ -0,0 +1,11 @@
--- evolution-2.4.1/shell/apps_evolution_shell.schemas.in.hide-switcher-buttons-by-default 2005-10-26 16:21:15.000000000 -0400
+++ evolution-2.4.1/shell/apps_evolution_shell.schemas.in 2005-10-26 16:21:22.000000000 -0400
@@ -99,7 +99,7 @@
<applyto>/apps/evolution/shell/view_defaults/buttons_visible</applyto>
<owner>evolution</owner>
<type>bool</type>
- <default>TRUE</default>
+ <default>FALSE</default>
<locale name="C">
<short>Window buttons are visible</short>
<long>Whether the window buttons should be visible.</long>

View file

@ -0,0 +1,88 @@
--- evolution-2.11.3/addressbook/conduit/Makefile.am.fix-conduit-dir 2007-06-03 11:07:44.000000000 -0400
+++ evolution-2.11.3/addressbook/conduit/Makefile.am 2007-06-04 12:55:32.000000000 -0400
@@ -28,7 +28,7 @@ e-address.conduit: e-address.conduit.in
-e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \
$< > $@
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-address.conduit
BUILT_SOURCES = $(conduit_DATA)
--- evolution-2.11.3/addressbook/conduit/Makefile.in.fix-conduit-dir 2007-06-04 07:36:46.000000000 -0400
+++ evolution-2.11.3/addressbook/conduit/Makefile.in 2007-06-04 12:55:53.000000000 -0400
@@ -459,7 +459,7 @@ libeaddress_conduit_la_LIBADD = \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(EVOLUTION_ADDRESSBOOK_CONDUIT_LIBS)
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-address.conduit
BUILT_SOURCES = $(conduit_DATA)
CLEANFILES = $(BUILT_SOURCES)
--- evolution-2.11.3/calendar/conduits/todo/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/todo/Makefile.am 2007-06-04 12:56:19.000000000 -0400
@@ -25,7 +25,7 @@ e-todo.conduit: e-todo.conduit.in
-e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \
$< > $@
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-todo.conduit
BUILT_SOURCES = $(conduit_DATA)
--- evolution-2.11.3/calendar/conduits/todo/Makefile.in.fix-conduit-dir 2007-06-04 07:36:51.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/todo/Makefile.in 2007-06-04 12:56:28.000000000 -0400
@@ -456,7 +456,7 @@ libetodo_conduit_la_LIBADD = \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(EVOLUTION_CALENDAR_CONDUIT_LIBS)
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-todo.conduit
BUILT_SOURCES = $(conduit_DATA)
CLEANFILES = $(BUILT_SOURCES)
--- evolution-2.11.3/calendar/conduits/memo/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/memo/Makefile.am 2007-06-04 12:56:49.000000000 -0400
@@ -25,7 +25,7 @@ e-memo.conduit: e-memo.conduit.in
-e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \
$< > $@
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-memo.conduit
BUILT_SOURCES = $(conduit_DATA)
--- evolution-2.11.3/calendar/conduits/memo/Makefile.in.fix-conduit-dir 2007-06-04 07:36:50.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/memo/Makefile.in 2007-06-04 12:56:40.000000000 -0400
@@ -456,7 +456,7 @@ libememo_conduit_la_LIBADD = \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(EVOLUTION_CALENDAR_CONDUIT_LIBS)
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-memo.conduit
BUILT_SOURCES = $(conduit_DATA)
CLEANFILES = $(BUILT_SOURCES)
--- evolution-2.11.3/calendar/conduits/calendar/Makefile.am.fix-conduit-dir 2007-06-03 11:08:16.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/calendar/Makefile.am 2007-06-04 12:57:02.000000000 -0400
@@ -25,7 +25,7 @@ e-calendar.conduit: e-calendar.conduit.i
-e 's^\@BASE_VERSION\@^$(BASE_VERSION)^g' \
$< > $@
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-calendar.conduit
BUILT_SOURCES = $(conduit_DATA)
--- evolution-2.11.3/calendar/conduits/calendar/Makefile.in.fix-conduit-dir 2007-06-04 07:36:50.000000000 -0400
+++ evolution-2.11.3/calendar/conduits/calendar/Makefile.in 2007-06-04 12:57:11.000000000 -0400
@@ -458,7 +458,7 @@ libecalendar_conduit_la_LIBADD = \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(EVOLUTION_CALENDAR_CONDUIT_LIBS)
-conduitdir = $(datadir)/gnome-pilot/conduits/
+conduitdir = $(libdir)/gnome-pilot/conduits/
conduit_DATA = e-calendar.conduit
BUILT_SOURCES = $(conduit_DATA)
CLEANFILES = $(BUILT_SOURCES)

View file

@ -0,0 +1,515 @@
--- evolution-2.5.4/addressbook/conduit/address-conduit.c.fix-conduits 2005-12-08 03:15:02.000000000 -0500
+++ evolution-2.5.4/addressbook/conduit/address-conduit.c 2006-01-10 19:33:44.000000000 -0500
@@ -462,14 +462,19 @@
{
static char buff[ 4096 ];
struct Address addr;
+ pi_buffer_t piBuf;
if (remote == NULL) {
sprintf (buff, "[NULL]");
return buff;
}
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&addr, 0, sizeof (struct Address));
- unpack_Address (&addr, remote->record, remote->length);
+ unpack_Address (&addr, &piBuf, address_v1);
g_snprintf (buff, 4096, "['%s' '%s' '%s']",
addr.entry[entryLastname] ?
@@ -791,7 +796,8 @@
EAddrConduitContext *ctxt)
{
GnomePilotRecord p;
- static char record[0xffff];
+ static unsigned char record[0xffff];
+ pi_buffer_t piBuf;
g_assert (local->addr != NULL );
@@ -803,9 +809,17 @@
p.archived = local->local.archived;
p.secret = local->local.secret;
+ memset (&piBuf, 0, sizeof (piBuf));
+ memset (record, 0, sizeof (record));
+ pack_Address (local->addr, &piBuf, address_v1);
+
/* Generate pilot record structure */
+ if (piBuf.used > 0)
+ memcpy (record, piBuf.data, piBuf.used);
p.record = record;
- p.length = pack_Address (local->addr, p.record, 0xffff);
+ p.length = piBuf.used;
+ if (piBuf.data)
+ free (piBuf.data);
return p;
}
@@ -834,16 +848,16 @@
*/
if (local->local.ID != 0) {
struct Address addr;
- char record[0xffff];
+ pi_buffer_t *buffer = pi_buffer_new (0xffff);
int cat = 0;
if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
ctxt->dbi->db_handle,
- local->local.ID, &record,
- NULL, NULL, NULL, &cat) > 0) {
+ local->local.ID, buffer,
+ NULL, NULL, &cat) > 0) {
local->local.category = cat;
memset (&addr, 0, sizeof (struct Address));
- unpack_Address (&addr, record, 0xffff);
+ unpack_Address (&addr, buffer, address_v1);
for (i = 0; i < 5; i++) {
if (addr.entry[entryPhone1 + i])
local->addr->entry[entryPhone1 + i] =
@@ -858,6 +872,8 @@
}
free_Address (&addr);
}
+
+ pi_buffer_free (buffer);
}
local->addr->entry[entryFirstname] = e_pilot_utf8_to_pchar (e_contact_get_const (contact, E_CONTACT_GIVEN_NAME));
@@ -1019,10 +1035,16 @@
EContactField next_mail, next_home, next_work, next_fax;
EContactField next_other, next_main, next_pager, next_mobile;
int i;
+ pi_buffer_t piBuf;
g_return_val_if_fail(remote!=NULL,NULL);
memset (&address, 0, sizeof (struct Address));
- unpack_Address (&address, remote->record, remote->length);
+
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
+ unpack_Address (&address, &piBuf, address_v1);
if (in_contact == NULL)
contact = e_contact_new ();
@@ -1212,7 +1234,7 @@
EBookQuery *query;
GList *l;
int len;
- unsigned char *buf;
+ pi_buffer_t *buffer;
char *filename;
char *change_id;
char *auth;
@@ -1302,9 +1324,9 @@
gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
- buf = (unsigned char*)g_malloc (0xffff);
+ buffer = pi_buffer_new (0xffff);
len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
- (unsigned char *)buf, 0xffff);
+ -1, buffer);
if (len < 0) {
WARN (_("Could not read pilot's Address application block"));
@@ -1313,8 +1335,8 @@
_("Could not read pilot's Address application block"));
return -1;
}
- unpack_AddressAppInfo (&(ctxt->ai), buf, len);
- g_free (buf);
+ unpack_AddressAppInfo (&(ctxt->ai), buffer->data, len);
+ pi_buffer_free (buffer);
check_for_slow_setting (conduit, ctxt);
if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
--- evolution-2.5.4/calendar/conduits/calendar/calendar-conduit.c.fix-conduits 2006-01-02 06:38:57.000000000 -0500
+++ evolution-2.5.4/calendar/conduits/calendar/calendar-conduit.c 2006-01-10 19:33:44.000000000 -0500
@@ -413,14 +413,20 @@
{
static char buff[ 4096 ];
struct Appointment appt;
+ pi_buffer_t piBuf;
if (remote == NULL) {
sprintf (buff, "[NULL]");
return buff;
}
+
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&appt, 0, sizeof (struct Appointment));
- unpack_Appointment (&appt, remote->record, remote->length);
+ unpack_Appointment (&appt, &piBuf, datebook_v1);
g_snprintf (buff, 4096, "[%ld %ld '%s' '%s']",
mktime (&appt.begin),
@@ -818,7 +824,8 @@
ECalConduitContext *ctxt)
{
GnomePilotRecord p;
- static char record[0xffff];
+ static unsigned char record[0xffff];
+ pi_buffer_t piBuf;
g_assert (local->comp != NULL);
g_assert (local->appt != NULL );
@@ -829,9 +836,17 @@
p.archived = local->local.archived;
p.secret = local->local.secret;
+ memset (&piBuf, 0, sizeof (piBuf));
+ memset (record, 0, sizeof (record));
+ pack_Appointment (local->appt, &piBuf, datebook_v1);
+
/* Generate pilot record structure */
+ if (piBuf.used > 0)
+ memcpy (record, piBuf.data, piBuf.used);
p.record = record;
- p.length = pack_Appointment (local->appt, p.record, 0xffff);
+ p.length = piBuf.used;
+ if (piBuf.data)
+ free (piBuf.data);
return p;
}
@@ -867,22 +882,24 @@
* we don't overwrite them
*/
if (local->local.ID != 0) {
- struct Appointment appt;
- char record[0xffff];
+ struct Appointment appt;
+ pi_buffer_t *buffer = pi_buffer_new (0xffff);
int cat = 0;
if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
ctxt->dbi->db_handle,
- local->local.ID, &record,
- NULL, NULL, NULL, &cat) > 0) {
+ local->local.ID, buffer,
+ NULL, NULL, &cat) > 0) {
local->local.category = cat;
memset (&appt, 0, sizeof (struct Appointment));
- unpack_Appointment (&appt, record, 0xffff);
+ unpack_Appointment (&appt, buffer, datebook_v1);
local->appt->alarm = appt.alarm;
local->appt->advance = appt.advance;
local->appt->advanceUnits = appt.advanceUnits;
free_Appointment (&appt);
}
+
+ pi_buffer_free (buffer);
}
/* STOP: don't replace these with g_strdup, since free_Appointment
@@ -1140,11 +1157,17 @@
GSList *edl = NULL;
char *txt;
int pos, i;
+ pi_buffer_t piBuf;
g_return_val_if_fail (remote != NULL, NULL);
+
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&appt, 0, sizeof (struct Appointment));
- unpack_Appointment (&appt, remote->record, remote->length);
+ unpack_Appointment (&appt, &piBuf, datebook_v1);
if (in_comp == NULL) {
comp = e_cal_component_new ();
@@ -1409,7 +1432,7 @@
GnomePilotConduitSyncAbs *abs_conduit;
GList *removed = NULL, *added = NULL, *l;
int len;
- unsigned char *buf;
+ pi_buffer_t *buffer;
char *filename, *change_id;
icalcomponent *icalcomp;
gint num_records, add_records = 0, mod_records = 0, del_records = 0;
@@ -1521,9 +1544,9 @@
gnome_pilot_conduit_sync_abs_set_num_updated_local_records (abs_conduit, mod_records);
gnome_pilot_conduit_sync_abs_set_num_deleted_local_records(abs_conduit, del_records);
- buf = (unsigned char*)g_malloc (0xffff);
+ buffer = pi_buffer_new (0xffff);
len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
- (unsigned char *)buf, 0xffff);
+ -1, buffer);
if (len < 0) {
WARN (_("Could not read pilot's Calendar application block"));
@@ -1532,8 +1555,8 @@
_("Could not read pilot's Calendar application block"));
return -1;
}
- unpack_AppointmentAppInfo (&(ctxt->ai), buf, len);
- g_free (buf);
+ unpack_AppointmentAppInfo (&(ctxt->ai), buffer->data, len);
+ pi_buffer_free (buffer);
check_for_slow_setting (conduit, ctxt);
if (ctxt->cfg->sync_type == GnomePilotConduitSyncTypeCopyToPilot
--- evolution-2.5.4/calendar/conduits/todo/todo-conduit.c.fix-conduits 2005-12-08 03:15:03.000000000 -0500
+++ evolution-2.5.4/calendar/conduits/todo/todo-conduit.c 2006-01-10 19:33:44.000000000 -0500
@@ -402,14 +402,19 @@
{
static char buff[ 4096 ];
struct ToDo todo;
+ pi_buffer_t piBuf;
if (remote == NULL) {
sprintf (buff, "[NULL]");
return buff;
}
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&todo, 0, sizeof (struct ToDo));
- unpack_ToDo (&todo, remote->record, remote->length);
+ unpack_ToDo (&todo, &piBuf, todo_v1);
g_snprintf (buff, 4096, "[%d %ld %d %d '%s' '%s' %d]",
todo.indefinite,
@@ -594,7 +599,8 @@
EToDoConduitContext *ctxt)
{
GnomePilotRecord p;
- static char record[0xffff];
+ static unsigned char record[0xffff];
+ pi_buffer_t piBuf;
g_assert (local->comp != NULL);
g_assert (local->todo != NULL );
@@ -607,9 +613,17 @@
p.archived = local->local.archived;
p.secret = local->local.secret;
+ memset (&piBuf, 0, sizeof (piBuf));
+ memset (record, 0, sizeof (record));
+ pack_ToDo (local->todo, &piBuf, todo_v1);
+
/* Generate pilot record structure */
+ if (piBuf.used > 0)
+ memcpy (record, piBuf.data, piBuf.used);
p.record = record;
- p.length = pack_ToDo (local->todo, p.record, 0xffff);
+ p.length = piBuf.used;
+ if (piBuf.data)
+ free (piBuf.data);
return p;
}
@@ -696,15 +710,17 @@
/* Don't overwrite the category */
if (local->local.ID != 0) {
- char record[0xffff];
+ pi_buffer_t *buffer = pi_buffer_new (0xffff);
int cat = 0;
if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
ctxt->dbi->db_handle,
- local->local.ID, &record,
- NULL, NULL, NULL, &cat) > 0) {
+ local->local.ID, buffer,
+ NULL, NULL, &cat) > 0) {
local->local.category = cat;
}
+
+ pi_buffer_free (buffer);
}
/*
@@ -859,12 +875,17 @@
icaltimezone *utc_zone;
int priority;
char *txt;
+ pi_buffer_t piBuf;
char *category;
g_return_val_if_fail (remote != NULL, NULL);
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&todo, 0, sizeof (struct ToDo));
- unpack_ToDo (&todo, remote->record, remote->length);
+ unpack_ToDo (&todo, &piBuf, todo_v1);
utc_zone = icaltimezone_get_utc_timezone ();
now = icaltime_from_timet_with_zone (time (NULL), FALSE,
@@ -1014,7 +1035,7 @@
GnomePilotConduitSyncAbs *abs_conduit;
GList *l;
int len;
- unsigned char *buf;
+ pi_buffer_t *buffer;
char *filename, *change_id;
icalcomponent *icalcomp;
gint num_records, add_records = 0, mod_records = 0, del_records = 0;
@@ -1104,9 +1125,9 @@
g_message("num_records: %d\nadd_records: %d\nmod_records: %d\ndel_records: %d\n",
num_records, add_records, mod_records, del_records);
- buf = (unsigned char*)g_malloc (0xffff);
+ buffer = pi_buffer_new (0xffff);
len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
- (unsigned char *)buf, 0xffff);
+ -1, buffer);
if (len < 0) {
WARN (_("Could not read pilot's ToDo application block"));
@@ -1115,8 +1136,8 @@
_("Could not read pilot's ToDo application block"));
return -1;
}
- unpack_ToDoAppInfo (&(ctxt->ai), buf, len);
- g_free (buf);
+ unpack_ToDoAppInfo (&(ctxt->ai), buffer->data, len);
+ pi_buffer_free (buffer);
lastDesktopUniqueID = 128;
--- evolution-2.5.4/calendar/conduits/memo/memo-conduit.c.fix-conduits 2006-01-10 22:52:28.000000000 -0500
+++ evolution-2.5.4/calendar/conduits/memo/memo-conduit.c 2006-01-10 23:11:47.000000000 -0500
@@ -331,14 +331,19 @@
{
static char buff[ 64 ];
struct Memo memo;
+ pi_buffer_t piBuf;
if (remote == NULL) {
sprintf (buff, "[NULL]");
return buff;
}
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&memo, 0, sizeof (struct Memo));
- unpack_Memo (&memo, remote->record, remote->length);
+ unpack_Memo (&memo, &piBuf, memo_v1);
g_snprintf (buff, 64, "['%s']",
memo.text ?
@@ -451,7 +456,8 @@
EMemoConduitContext *ctxt)
{
GnomePilotRecord p;
- static char record[0xffff];
+ static unsigned char record[0xffff];
+ pi_buffer_t piBuf;
g_assert (local->comp != NULL);
g_assert (local->memo != NULL );
@@ -466,8 +472,14 @@
/* Generate pilot record structure */
p.record = record;
- p.length = pack_Memo (local->memo, p.record, 0xffff);
-
+ memset (&piBuf, 0, sizeof (piBuf));
+ memset (record, 0, sizeof (record));
+ p.length = pack_Memo (local->memo, &piBuf, memo_v1);
+ if (piBuf.used > 0)
+ memcpy (record, piBuf.data, piBuf.used);
+ p.length = piBuf.used;
+ if (piBuf.data)
+ free (piBuf.data);
return p;
}
@@ -568,16 +580,17 @@
/* Don't overwrite the category */
if (local->local.ID != 0) {
- char record[0xffff];
+ pi_buffer_t *buffer = pi_buffer_new (0xffff);
int cat = 0;
LOG(fprintf(stderr, "local_record_from_comp: calling dlp_ReadRecordById\n"));
if (dlp_ReadRecordById (ctxt->dbi->pilot_socket,
ctxt->dbi->db_handle,
- local->local.ID, &record,
- NULL, NULL, NULL, &cat) > 0) {
+ local->local.ID, buffer,
+ NULL, NULL, &cat) > 0) {
local->local.category = cat;
}
+ pi_buffer_free (buffer);
LOG(fprintf(stderr, "local_record_from_comp: done calling dlp_ReadRecordById\n"));
}
@@ -699,6 +712,7 @@
{
ECalComponent *comp;
struct Memo memo;
+ pi_buffer_t piBuf;
struct icaltimetype now;
icaltimezone *utc_zone;
char *txt, *txt2, *txt3;
@@ -707,8 +721,12 @@
g_return_val_if_fail (remote != NULL, NULL);
+ piBuf.data = remote->record;
+ piBuf.allocated = remote->length;
+ piBuf.used = remote->length;
+
memset (&memo, 0, sizeof (struct Memo));
- unpack_Memo (&memo, remote->record, remote->length);
+ unpack_Memo (&memo, &piBuf, memo_v1);
utc_zone = icaltimezone_get_utc_timezone ();
now = icaltime_from_timet_with_zone (time (NULL), FALSE,
@@ -836,7 +854,7 @@
GnomePilotConduitSyncAbs *abs_conduit;
GList *l;
int len;
- unsigned char *buf;
+ pi_buffer_t *buffer;
char *filename, *change_id;
icalcomponent *icalcomp;
gint num_records, add_records = 0, mod_records = 0, del_records = 0;
@@ -929,9 +947,9 @@
g_message("num_records: %d\nadd_records: %d\nmod_records: %d\ndel_records: %d\n",
num_records, add_records, mod_records, del_records);
- buf = (unsigned char*)g_malloc (0xffff);
+ buffer = pi_buffer_new (0xffff);
len = dlp_ReadAppBlock (dbi->pilot_socket, dbi->db_handle, 0,
- (unsigned char *)buf, 0xffff);
+ -1, buffer);
if (len < 0) {
WARN (_("Could not read pilot's Memo application block"));
@@ -940,8 +958,8 @@
_("Could not read pilot's Memo application block"));
return -1;
}
- unpack_MemoAppInfo (&(ctxt->ai), buf, len);
- g_free (buf);
+ unpack_MemoAppInfo (&(ctxt->ai), buffer->data, len);
+ pi_buffer_free (buffer);
lastDesktopUniqueID = 128;

View file

@ -0,0 +1,242 @@
--- evolution-2.5.5.1/calendar/gui/e-day-view.c.commit-enter-on-calendar 2006-01-16 09:42:17.000000000 -0500
+++ evolution-2.5.5.1/calendar/gui/e-day-view.c 2006-01-25 23:48:24.000000000 -0500
@@ -334,6 +334,10 @@
gint event_num,
gchar *initial_text);
static void e_day_view_stop_editing_event (EDayView *day_view);
+static gboolean e_day_view_text_keypress (GnomeCanvasItem *item,
+ guint keyval,
+ guint state,
+ EDayView *day_view);
static gboolean e_day_view_on_text_item_event (GnomeCanvasItem *item,
GdkEvent *event,
EDayView *day_view);
@@ -4484,6 +4488,8 @@
G_CALLBACK (e_day_view_on_text_item_event), day_view);
g_signal_emit_by_name (G_OBJECT(day_view),
"event_added", event);
+ g_signal_connect (event->canvas_item, "keypress",
+ G_CALLBACK (e_day_view_text_keypress), day_view);
e_day_view_update_long_event_label (day_view, event_num);
}
@@ -4667,6 +4673,8 @@
G_CALLBACK (e_day_view_on_text_item_event), day_view);
g_signal_emit_by_name (G_OBJECT(day_view),
"event_added", event);
+ g_signal_connect (event->canvas_item, "keypress",
+ G_CALLBACK (e_day_view_text_keypress), day_view);
e_day_view_update_event_label (day_view, day, event_num);
}
@@ -5824,46 +5832,74 @@
}
static gboolean
+e_day_view_text_keypress (GnomeCanvasItem *item,
+ guint keyval,
+ guint state,
+ EDayView *day_view)
+{
+ gboolean retval = FALSE;
+
+ tooltip_destroy (day_view, item);
+
+ if (keyval == GDK_Return) {
+ EText *text = E_TEXT (item);
+ gint new_pos = 0;
+
+ /*
+ * HACK: last character which should be \n needs to be deleted
+ * here so that GDK_Return was already processed on EText
+ * before E_TEXT_KEYPRESS event is emitted.
+ */
+ if (text->selection_end >= 1)
+ new_pos = text->selection_end - 1;
+
+ text->selection_end = e_text_model_validate_position (text->model, new_pos);
+ e_text_delete_selection (text);
+
+ day_view->resize_event_num = -1;
+
+ /* We set the keyboard focus to the EDayView, so the
+ EText item loses it and stops the edit. */
+ gtk_widget_grab_focus (GTK_WIDGET (day_view));
+
+ /* Stop the signal last or we will also stop any
+ other events getting to the EText item. */
+ gtk_signal_emit_stop_by_name (GTK_OBJECT (item),
+ "event");
+
+ retval = TRUE;
+ } else if (keyval == GDK_Escape) {
+ cancel_editing (day_view);
+ gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event");
+ /* focus should go to day view when stop editing */
+ gtk_widget_grab_focus (GTK_WIDGET (day_view));
+
+ retval = TRUE;
+ } else if ((keyval == GDK_Up)
+ && (state & GDK_SHIFT_MASK)
+ && (state & GDK_CONTROL_MASK)
+ && !(state & GDK_MOD1_MASK)) {
+ e_day_view_change_event_end_time_up (day_view);
+
+ retval = TRUE;
+ } else if ((keyval == GDK_Down)
+ && (state & GDK_SHIFT_MASK)
+ && (state & GDK_CONTROL_MASK)
+ && !(state & GDK_MOD1_MASK)) {
+ e_day_view_change_event_end_time_down (day_view);
+
+ retval = TRUE;
+ }
+
+ return retval;
+}
+
+static gboolean
e_day_view_on_text_item_event (GnomeCanvasItem *item,
GdkEvent *event,
EDayView *day_view)
{
switch (event->type) {
- case GDK_KEY_PRESS:
- tooltip_destroy (day_view, item);
- if (event && event->key.keyval == GDK_Return) {
- day_view->resize_event_num = -1;
- day_view->resize_event_num = -1;
-
- /* We set the keyboard focus to the EDayView, so the
- EText item loses it and stops the edit. */
- gtk_widget_grab_focus (GTK_WIDGET (day_view));
-
- /* Stop the signal last or we will also stop any
- other events getting to the EText item. */
- gtk_signal_emit_stop_by_name (GTK_OBJECT (item),
- "event");
- return TRUE;
- } else if (event->key.keyval == GDK_Escape) {
- cancel_editing (day_view);
- gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event");
- /* focus should go to day view when stop editing */
- gtk_widget_grab_focus (GTK_WIDGET (day_view));
- return TRUE;
- } else if ((event->key.keyval == GDK_Up)
- && (event->key.state & GDK_SHIFT_MASK)
- && (event->key.state & GDK_CONTROL_MASK)
- && !(event->key.state & GDK_MOD1_MASK)) {
- e_day_view_change_event_end_time_up (day_view);
- return TRUE;
- } else if ((event->key.keyval == GDK_Down)
- && (event->key.state & GDK_SHIFT_MASK)
- && (event->key.state & GDK_CONTROL_MASK)
- && !(event->key.state & GDK_MOD1_MASK)) {
- e_day_view_change_event_end_time_down (day_view);
- return TRUE;
- }
- break;
case GDK_2BUTTON_PRESS:
#if 0
g_print ("Item got double-click\n");
--- evolution-2.5.5.1/calendar/gui/e-week-view.c.commit-enter-on-calendar 2006-01-16 09:42:17.000000000 -0500
+++ evolution-2.5.5.1/calendar/gui/e-week-view.c 2006-01-25 23:46:43.000000000 -0500
@@ -175,6 +175,10 @@
const gchar *uid,
EWeekViewForeachEventCallback callback,
gpointer data);
+static gboolean e_week_view_text_keypress (GnomeCanvasItem *item,
+ guint keyval,
+ guint state,
+ EWeekView *week_view);
static gboolean e_week_view_on_text_item_event (GnomeCanvasItem *item,
GdkEvent *event,
EWeekView *week_view);
@@ -2771,6 +2775,8 @@
week_view);
g_signal_emit_by_name (G_OBJECT(week_view),
"event_added", event);
+ g_signal_connect (span->text_item, "keypress",
+ G_CALLBACK (e_week_view_text_keypress), week_view);
}
@@ -3028,6 +3034,51 @@
}
static gboolean
+e_week_view_text_keypress (GnomeCanvasItem *item,
+ guint keyval,
+ guint state,
+ EWeekView *week_view)
+{
+ gboolean retval = FALSE;
+
+ tooltip_destroy (week_view, item);
+
+ if (keyval == GDK_Return) {
+ EText *text = E_TEXT (item);
+ gint new_pos = 0;
+
+ /*
+ * HACK: last charater which should be \n needs to be deleted
+ * here so that GDK_Return was already processed on EText
+ * before E_TEXT_KEYPRESS event is emitted.
+ */
+ if (text->selection_end >= 1)
+ new_pos = text->selection_end - 1;
+
+ text->selection_end = e_text_model_validate_position (text->model, new_pos);
+ e_text_delete_selection (text);
+
+ /* We set the keyboard focus to the EDayView, so the
+ EText item loses it and stops the edit. */
+ gtk_widget_grab_focus (GTK_WIDGET (week_view));
+
+ /* Stop the signal last or we will also stop any
+ other events getting to the EText item. */
+ gtk_signal_emit_stop_by_name (GTK_OBJECT (item),
+ "event");
+ retval = TRUE;
+ } else if (keyval == GDK_Escape) {
+ cancel_editing (week_view);
+ gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event");
+ /* focus should go to week view when stop editing */
+ gtk_widget_grab_focus (GTK_WIDGET (week_view));
+ retval = TRUE;
+ }
+
+ return retval;
+}
+
+static gboolean
e_week_view_on_text_item_event (GnomeCanvasItem *item,
GdkEvent *gdkevent,
EWeekView *week_view)
@@ -3044,26 +3095,6 @@
#endif
switch (gdkevent->type) {
- case GDK_KEY_PRESS:
- tooltip_destroy (week_view, item);
- if (gdkevent && gdkevent->key.keyval == GDK_Return) {
- /* We set the keyboard focus to the EDayView, so the
- EText item loses it and stops the edit. */
- gtk_widget_grab_focus (GTK_WIDGET (week_view));
-
- /* Stop the signal last or we will also stop any
- other events getting to the EText item. */
- gtk_signal_emit_stop_by_name (GTK_OBJECT (item),
- "event");
- return TRUE;
- } else if (gdkevent->key.keyval == GDK_Escape) {
- cancel_editing (week_view);
- gtk_signal_emit_stop_by_name (GTK_OBJECT (item), "event");
- /* focus should go to week view when stop editing */
- gtk_widget_grab_focus (GTK_WIDGET (week_view));
- return TRUE;
- }
- break;
case GDK_2BUTTON_PRESS:
if (!e_week_view_find_event_from_item (week_view, item,
&event_num, &span_num))

View file

@ -0,0 +1,21 @@
--- evolution-2.6.0/calendar/gui/dialogs/event-page.c.prototypes 2006-03-14 01:00:04.000000000 -0500
+++ evolution-2.6.0/calendar/gui/dialogs/event-page.c 2006-03-14 01:00:21.000000000 -0500
@@ -59,6 +59,8 @@
#include "event-page.h"
#include "e-send-options-utils.h"
+GtkWidget *alarm_list_dialog_peek (ECal *ecal, EAlarmList *list_store);
+
/* Private part of the EventPage structure */
--- evolution-2.6.0/calendar/gui/dialogs/cal-prefs-dialog.c.prototypes 2006-03-13 14:14:07.000000000 -0500
+++ evolution-2.6.0/calendar/gui/dialogs/cal-prefs-dialog.c 2006-03-13 14:14:24.000000000 -0500
@@ -32,6 +32,7 @@
#include "../calendar-config.h"
#include "cal-prefs-dialog.h"
#include <libgnomeui/gnome-color-picker.h>
+#include <libgnomeui/gnome-file-entry.h>
#include <widgets/misc/e-dateedit.h>
#include <e-util/e-dialog-widgets.h>
#include <e-util/e-util-private.h>

View file

@ -0,0 +1,154 @@
diff -up evolution-2.12.1/configure.in.no-gnome-common evolution-2.12.1/configure.in
--- evolution-2.12.1/configure.in.no-gnome-common 2007-10-15 08:30:42.000000000 +0200
+++ evolution-2.12.1/configure.in 2007-10-15 17:54:01.000000000 +0200
@@ -1282,9 +1282,6 @@ AC_SUBST_FILE(EVO_MARSHAL_RULE)
dnl *************************
dnl CFLAGS and LIBS and stuff
dnl *************************
-
-GNOME_COMPILE_WARNINGS(yes)
-CFLAGS="$CFLAGS $WARN_CFLAGS"
case $CFLAGS in
*-Wall*)
# Turn off the annoying "comparison between signed and unsigned"
diff -up evolution-2.12.1/configure.no-gnome-common evolution-2.12.1/configure
--- evolution-2.12.1/configure.no-gnome-common 2007-10-15 17:54:01.000000000 +0200
+++ evolution-2.12.1/configure 2007-10-15 18:47:03.000000000 +0200
@@ -31564,137 +31564,6 @@ EVO_MARSHAL_RULE=$srcdir/marshal.mk
- # Check whether --enable-compile-warnings was given.
-if test "${enable_compile_warnings+set}" = set; then
- enableval=$enable_compile_warnings;
-else
- enable_compile_warnings="yes"
-fi
-
-
- warnCFLAGS=
- if test "x$GCC" != xyes; then
- enable_compile_warnings=no
- fi
-
- warning_flags=
- realsave_CFLAGS="$CFLAGS"
-
- case "$enable_compile_warnings" in
- no)
- warning_flags=
- ;;
- minimum)
- warning_flags="-Wall"
- ;;
- yes)
- warning_flags="-Wall -Wmissing-prototypes"
- ;;
- maximum|error)
- warning_flags="-Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith"
- CFLAGS="$warning_flags $CFLAGS"
- for option in -Wno-sign-compare; do
- SAVE_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $option"
- { echo "$as_me:$LINENO: checking whether gcc understands $option" >&5
-echo $ECHO_N "checking whether gcc understands $option... $ECHO_C" >&6; }
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- has_option=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- has_option=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- CFLAGS="$SAVE_CFLAGS"
- { echo "$as_me:$LINENO: result: $has_option" >&5
-echo "${ECHO_T}$has_option" >&6; }
- if test $has_option = yes; then
- warning_flags="$warning_flags $option"
- fi
- unset has_option
- unset SAVE_CFLAGS
- done
- unset option
- if test "$enable_compile_warnings" = "error" ; then
- warning_flags="$warning_flags -Werror"
- fi
- ;;
- *)
- { { echo "$as_me:$LINENO: error: Unknown argument '$enable_compile_warnings' to --enable-compile-warnings" >&5
-echo "$as_me: error: Unknown argument '$enable_compile_warnings' to --enable-compile-warnings" >&2;}
- { (exit 1); exit 1; }; }
- ;;
- esac
- CFLAGS="$realsave_CFLAGS"
- { echo "$as_me:$LINENO: checking what warning flags to pass to the C compiler" >&5
-echo $ECHO_N "checking what warning flags to pass to the C compiler... $ECHO_C" >&6; }
- { echo "$as_me:$LINENO: result: $warning_flags" >&5
-echo "${ECHO_T}$warning_flags" >&6; }
-
- # Check whether --enable-iso-c was given.
-if test "${enable_iso_c+set}" = set; then
- enableval=$enable_iso_c;
-else
- enable_iso_c=no
-fi
-
-
- { echo "$as_me:$LINENO: checking what language compliance flags to pass to the C compiler" >&5
-echo $ECHO_N "checking what language compliance flags to pass to the C compiler... $ECHO_C" >&6; }
- complCFLAGS=
- if test "x$enable_iso_c" != "xno"; then
- if test "x$GCC" = "xyes"; then
- case " $CFLAGS " in
- *\ \ -ansi\ \ *) ;;
- *) complCFLAGS="$complCFLAGS -ansi" ;;
- esac
- case " $CFLAGS " in
- *\ \ -pedantic\ \ *) ;;
- *) complCFLAGS="$complCFLAGS -pedantic" ;;
- esac
- fi
- fi
- { echo "$as_me:$LINENO: result: $complCFLAGS" >&5
-echo "${ECHO_T}$complCFLAGS" >&6; }
-
- WARN_CFLAGS="$warning_flags $complCFLAGS"
-
-
-CFLAGS="$CFLAGS $WARN_CFLAGS"
case $CFLAGS in
*-Wall*)
# Turn off the annoying "comparison between signed and unsigned"

View file

@ -0,0 +1,51 @@
--- evolution-2.7.2.1/calendar/gui/alarm-notify/alarm-queue.c.notification-cleanups 2006-04-22 00:39:20.000000000 -0400
+++ evolution-2.7.2.1/calendar/gui/alarm-notify/alarm-queue.c 2006-05-23 16:04:23.000000000 -0400
@@ -1566,10 +1566,11 @@
const char *summary, *location;
GtkTooltips *tooltips;
ECalComponentText text;
- char *str, *start_str, *end_str, *alarm_str, *time_str;
+ char *start_str, *end_str, *alarm_str, *time_str;
icaltimezone *current_zone;
ECalComponentOrganizer organiser;
char *body;
+ NotifyNotification *n;
d(printf("%s:%d (popup_notification)\n",__FILE__, __LINE__));
@@ -1601,9 +1602,6 @@
end_str = timet_to_str_with_zone (qa->instance->occur_end, current_zone);
time_str = calculate_time (qa->instance->occur_start, qa->instance->occur_end);
- str = g_strdup_printf ("%s %s",
- start_str, time_str);
-
if (organiser.cn) {
if (location)
body = g_strdup_printf ("<b>%s</b>\n%s %s\n%s %s", organiser.cn, _("Location:"), location, start_str, time_str);
@@ -1617,16 +1615,21 @@
body = g_strdup_printf ("%s %s", start_str, time_str);
}
- NotifyNotification *n = notify_notification_new (summary, body, "stock_appointment-reminder", NULL);
- if (!notify_notification_show(n, NULL))
+ n = notify_notification_new (summary, body, "stock_appointment-reminder", NULL);
+
+ /* Notifications don't timeout: require explicit user action: */
+ notify_notification_set_timeout (n, NOTIFY_EXPIRES_NEVER);
+
+ if (!notify_notification_show (n, NULL))
g_warning ("Could not send notification to daemon\n");
- /* create the private structure */
+ g_object_unref (n);
+
+ g_free (body);
g_free (start_str);
g_free (end_str);
g_free (alarm_str);
g_free (time_str);
- g_free (str);
}

View file

@ -0,0 +1,22 @@
--- evolution-2.7.3/widgets/text/e-text.c.replicated_cjk_input 2006-07-06 09:57:22.000000000 -0400
+++ evolution-2.7.3/widgets/text/e-text.c 2006-07-06 09:58:27.000000000 -0400
@@ -1498,7 +1498,8 @@
}
- insert_preedit_text (text);
+ if (text->im_context_signals_registered)
+ insert_preedit_text (text);
if (!pango_layout_get_text (text->layout))
return;
@@ -2212,7 +2213,8 @@
G_SIGNAL_MATCH_DATA,
0, 0, NULL,
NULL, save_text);
- save_text->im_context_signals_registered = FALSE;
+ save_text->im_context_signals_registered = FALSE;
+ reset_layout (save_text);
}
if (text->im_context) {

View file

@ -0,0 +1,110 @@
--- evolution-2.7.90/widgets/text/e-text.c.deleting-preedit-buffer 2006-07-26 10:16:02.000000000 -0400
+++ evolution-2.7.90/widgets/text/e-text.c 2006-07-26 10:25:29.000000000 -0400
@@ -284,7 +284,7 @@
PangoAttrList *preedit_attrs = NULL;
gchar *preedit_string = NULL;
GString *tmp_string = g_string_new (NULL);
- gint length = 0, cpos = 0, preedit_length = 0;
+ gint length = 0, cpos = 0;
gboolean new_attrs = FALSE;
if (text->layout == NULL || !GTK_IS_IM_CONTEXT (text->im_context))
@@ -295,19 +295,15 @@
g_string_prepend_len (tmp_string, text->text,length);
- if (text->preedit_len)
- gtk_im_context_get_preedit_string (text->im_context,
- &preedit_string, &preedit_attrs,
- NULL);
+ /* we came into this function only when text->preedit_len was not 0
+ so we can saftely fetch the preedit string */
+ gtk_im_context_get_preedit_string (text->im_context, &preedit_string, &preedit_attrs, NULL);
if (preedit_string && g_utf8_validate (preedit_string, -1, NULL))
- text->preedit_len = preedit_length = strlen (preedit_string);
- else
- text->preedit_len = preedit_length = 0;
-
- cpos = g_utf8_offset_to_pointer (text->text, text->selection_start) - text->text;
+ {
+ text->preedit_len = strlen (preedit_string);
+ cpos = g_utf8_offset_to_pointer (text->text, text->selection_start) - text->text;
- if (preedit_length) {
g_string_insert (tmp_string, cpos, preedit_string);
reset_layout_attrs (text);
@@ -320,15 +316,17 @@
pango_layout_set_text (text->layout, tmp_string->str, tmp_string->len);
- pango_attr_list_splice (attrs, preedit_attrs, cpos, preedit_length);
+ pango_attr_list_splice (attrs, preedit_attrs, cpos, text->preedit_len);
if (new_attrs) {
pango_layout_set_attributes (text->layout, attrs);
pango_attr_list_unref (attrs);
- }
+ }
update_im_cursor_position (text);
}
+ else
+ text->preedit_len = 0;
if (preedit_string)
g_free (preedit_string);
@@ -385,9 +383,12 @@
pango_attr_list_insert_before (attrs, attr);
}
}
+
pango_layout_set_attributes (text->layout, attrs);
+
if (attrs)
pango_attr_list_unref (attrs);
+
calc_height (text);
}
@@ -1510,9 +1511,14 @@
}
}
-
- if (text->im_context_signals_registered)
- insert_preedit_text (text);
+ /* Insert preedit text only when im_context signals are connected & text->preedit_len is not zero */
+ if (text->im_context_signals_registered && text->preedit_len)
+ insert_preedit_text (text);
+
+ /* Need to reset the layout to cleanly clear the preedit buffer
+ * when typing in CJK & using backspace on the preedit */
+ if(!text->preedit_len)
+ reset_layout (text);
if (!pango_layout_get_text (text->layout))
return;
@@ -2220,11 +2226,12 @@
*/
if (save_text && save_text->im_context) {
+ gtk_im_context_focus_out(save_text->im_context);
g_signal_handlers_disconnect_matched (save_text->im_context,
G_SIGNAL_MATCH_DATA,
0, 0, NULL,
NULL, save_text);
- save_text->im_context_signals_registered = FALSE;
+ save_text->im_context_signals_registered = FALSE;
reset_layout (save_text);
}
@@ -2240,6 +2247,7 @@
G_CALLBACK (e_text_delete_surrounding_cb), text);
text->im_context_signals_registered = TRUE;
}
+ gtk_im_context_focus_in(text->im_context);
}
start_editing (text);
text->show_cursor = FALSE; /* so we'll redraw and the cursor will be shown */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,12 @@
--- evolution-2.9.1/calendar/gui/e-day-view.c.im-context-reset 2006-11-06 10:14:26.000000000 -0500
+++ evolution-2.9.1/calendar/gui/e-day-view.c 2006-11-06 10:15:39.000000000 -0500
@@ -6928,6 +6928,9 @@
if (!event->canvas_item)
return;
+ /* Reset IM context. */
+ gtk_im_context_reset (E_TEXT (event->canvas_item)->im_context);
+
/* We must grab the focus before setting the initial text, since
grabbing the focus will result in a call to
e_day_view_on_editing_started(), which will reset the text to get

View file

@ -0,0 +1,19 @@
--- evolution-2.9.3/mail/mail-config.glade.source-path-entry 2006-12-08 20:15:16.000000000 -0500
+++ evolution-2.9.3/mail/mail-config.glade 2006-12-08 20:16:13.000000000 -0500
@@ -1343,7 +1343,7 @@
<widget class="GtkFileChooserButton" id="source_path_entry">
<property name="visible">True</property>
<property name="title" translatable="yes">Mailbox location</property>
- <property name="action">GTK_FILE_CHOOSER_ACTION_OPEN</property>
+ <property name="action">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</property>
<property name="local_only">True</property>
<property name="show_hidden">False</property>
<property name="do_overwrite_confirmation">False</property>
@@ -1354,7 +1354,6 @@
<property name="right_attach">2</property>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
- <property name="x_options">fill</property>
<property name="y_options"></property>
</packing>
</child>

View file

@ -0,0 +1,46 @@
--- evolution-2.9.3/mail/mail-ops.c.view-attachment-uri 2006-12-06 10:26:24.000000000 -0500
+++ evolution-2.9.3/mail/mail-ops.c 2006-12-06 11:16:46.000000000 -0500
@@ -2089,21 +2089,23 @@
save_part_save (struct _mail_msg *mm)
{
struct _save_part_msg *m = (struct _save_part_msg *)mm;
+ mode_t mode = S_IRUSR | S_IRGRP | S_IROTH;
+ int flags = O_WRONLY | O_CREAT | O_TRUNC;
CamelDataWrapper *content;
CamelStream *stream;
-
- if(!m->readonly){
- if (!(stream = camel_stream_vfs_new_with_uri (m->path, O_WRONLY | O_CREAT | O_TRUNC, 0644))) {
- camel_exception_setv (&mm->ex, CAMEL_EXCEPTION_SYSTEM,
- _("Cannot create output file: %s:\n %s"),
- m->path, g_strerror (errno));
- return;
- }
- } else if (!(stream = camel_stream_vfs_new_with_uri (m->path, O_WRONLY | O_CREAT | O_TRUNC, 0444))) {
+ gchar *uri;
+
+ uri = g_filename_to_uri (m->path, NULL, NULL);
+
+ if (!m->readonly)
+ mode |= S_IWUSR;
+
+ stream = camel_stream_vfs_new_with_uri (uri, flags, mode);
+ if (stream == NULL) {
camel_exception_setv (&mm->ex, CAMEL_EXCEPTION_SYSTEM,
_("Cannot create output file: %s:\n %s"),
m->path, g_strerror (errno));
- return;
+ goto exit;
}
content = camel_medium_get_content_object (CAMEL_MEDIUM (m->part));
@@ -2115,6 +2117,9 @@
g_strerror (errno));
camel_object_unref (stream);
+
+exit:
+ g_free (uri);
}
static void

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@
#!/bin/bash
# see https://gitlab.gnome.org/GNOME/glib/issues/1737
# previous versions used milliseconds instead of seconds as the timeout argument",
(`pkg-config --atleast-version 2.60.1 gio-2.0` || `pkg-config --atleast-version 2.61.0 gio-2.0`) && TIMEOUTMULT= || TIMEOUTMULT=000
sed -e "s|\@SOURCES_SERVICE\@|$(pkg-config --variable=sourcesdbusservicename evolution-data-server-1.2)|" \
-e "s|\@ADDRESSBOOK_SERVICE\@|$(pkg-config --variable=addressbookdbusservicename evolution-data-server-1.2)|" \
-e "s|\@CALENDAR_SERVICE\@|$(pkg-config --variable=calendardbusservicename evolution-data-server-1.2)|" \
-e "s|\@TIMEOUTMULT\@|${TIMEOUTMULT}|"

View file

@ -1,29 +0,0 @@
#!/bin/bash
if [ "$1" = "--quit" -o "$1" = "--force-shutdown" ]; then
/app/bin/evolution.bin "$@"
else
export BOGOFILTER_DIR="${XDG_DATA_HOME}/bogofilter/"
export GIO_USE_NETWORK_MONITOR=base
gsettings reset org.gnome.evolution-data-server network-monitor-gio-name
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @SOURCES_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-source-registry &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @SOURCES_SERVICE@
fi
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @ADDRESSBOOK_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-addressbook-factory -r &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @ADDRESSBOOK_SERVICE@
fi
LINES=$(gdbus call --session --dest org.freedesktop.DBus --object-path /org/freedesktop/DBus --method org.freedesktop.DBus.ListNames | grep @CALENDAR_SERVICE@ | wc -l)
if [ "${LINES}" = "0" ]; then
/app/libexec/evolution-calendar-factory -r &
gdbus wait --session --timeout=1@TIMEOUTMULT@ @CALENDAR_SERVICE@
fi
/app/bin/evolution.bin "$@"
fi

View file

@ -1,5 +0,0 @@
---
runpath:
allowed_paths:
- /usr/lib/evolution
- /usr/lib64/evolution

View file

@ -1 +1 @@
SHA512 (evolution-3.59.1.tar.xz) = 26d6d4dfcdbc3d89f88d9e24096c7ff910d221119def75d7f80a397f682be96860726832c7c62b46769ce9cfcc15e5844cbcc016facc9b21b4eb9bbb2c17360d
554698d7387aee82c5f4d4520760503d evolution-2.12.3.tar.bz2