- Update to 2.21.3

- Remove patch for RH bug #215467 (fixed upstream).
- Remove patch for GNOME bug #499920 (fixed upstream).
This commit is contained in:
Matthew Barnes 2007-12-04 01:22:06 +00:00
parent d58a834b7f
commit d93c79add4
10 changed files with 1078 additions and 1215 deletions

View File

@ -1 +1 @@
evolution-2.21.2.tar.bz2
evolution-2.21.3.tar.bz2

View File

@ -1,9 +1,9 @@
--- 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 @@
@@ -2176,10 +2176,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

View File

@ -1,48 +0,0 @@
diff -up evolution-2.21.2/shell/es-event.c.invalid-include evolution-2.21.2/shell/es-event.c
--- evolution-2.21.2/shell/es-event.c.invalid-include 2007-10-28 22:02:14.000000000 -0400
+++ evolution-2.21.2/shell/es-event.c 2007-11-29 15:01:31.000000000 -0500
@@ -30,6 +30,7 @@
#include <glib.h>
#include "es-event.h"
+#include "e-shell.h"
static GObjectClass *eme_parent;
static ESEvent *es_event;
diff -up evolution-2.21.2/shell/es-event.h.invalid-include evolution-2.21.2/shell/es-event.h
--- evolution-2.21.2/shell/es-event.h.invalid-include 2007-10-23 06:03:16.000000000 -0400
+++ evolution-2.21.2/shell/es-event.h 2007-11-29 15:01:31.000000000 -0500
@@ -26,13 +26,14 @@
#include <glib-object.h>
#include "e-util/e-event.h"
-#include "e-shell.h"
#ifdef __cplusplus
extern "C" {
#pragma }
#endif /* __cplusplus */
+struct _EShell; /* Avoid including "e-shell.h" */
+
typedef struct _ESEvent ESEvent;
typedef struct _ESEventClass ESEventClass;
@@ -56,7 +57,7 @@ typedef struct _ESEventTargetShell ESEve
struct _ESEventTargetShell {
EEventTarget target;
- EShell *shell;
+ struct _EShell *shell;
};
struct _ESEventTargetState {
@@ -91,7 +92,7 @@ GType es_event_get_type(void);
ESEvent *es_event_peek(void);
ESEventTargetState *es_event_target_new_state(ESEvent *emp, int state);
-ESEventTargetShell *es_event_target_new_shell(ESEvent *eme, EShell *shell);
+ESEventTargetShell *es_event_target_new_shell(ESEvent *eme, struct _EShell *shell);
ESEventTargetUpgrade *es_event_target_new_upgrade(ESEvent *emp, int major, int minor, int revision);
/* ********************************************************************** */

View File

@ -4,7 +4,7 @@
}
- insert_preedit_text (text);
- insert_preedit_text (text);
+ if (text->im_context_signals_registered)
+ insert_preedit_text (text);

View File

@ -7,12 +7,12 @@
- 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);
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,
@ -20,39 +20,39 @@
+ /* 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;
- 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 @@
@ -61,17 +61,17 @@
}
+
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);
@ -83,12 +83,12 @@
+ * 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,
@ -99,7 +99,7 @@
+ 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;

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
@@ -416,70 +416,28 @@ get_message_info (MessageList *message_l
return info;
}
-static const char *
-get_normalised_string (MessageList *message_list, CamelMessageInfo *info, int col)
+static const gchar *
@ -14,7 +14,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
- char *normalised;
- EPoolv *poolv;
- int index;
-
-
- switch (col) {
- case COL_SUBJECT_NORM:
- string = camel_message_info_subject (info);
@ -33,7 +33,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
- index = NORMALISED_LAST;
- g_warning ("Should not be reached\n");
- }
-
-
- /* slight optimisation */
- if (string == NULL || string[0] == '\0')
+ GHashTable *hash_table = message_list->normalised_hash;
@ -42,7 +42,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
+
+ if (string == NULL || *string == '\0')
return "";
-
-
- poolv = g_hash_table_lookup (message_list->normalised_hash, camel_message_info_uid (info));
- if (poolv == NULL) {
- poolv = e_poolv_new (NORMALISED_LAST);
@ -52,29 +52,29 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
- if (*str)
- return str;
- }
-
-
- if (col == COL_SUBJECT_NORM) {
- const unsigned char *subject;
-
-
- subject = (const unsigned char *) string;
- while (!g_ascii_strncasecmp ((char *)subject, "Re:", 3)) {
- subject += 3;
-
-
- /* jump over any spaces */
- while (*subject && isspace ((int) *subject))
- subject++;
- }
-
-
- /* jump over any spaces */
- while (*subject && isspace ((int) *subject))
- subject++;
-
-
- string = (const char *) subject;
- }
-
-
- normalised = g_utf8_collate_key (string, -1);
- e_poolv_set (poolv, index, normalised, TRUE);
-
-
- return e_poolv_get (poolv, index);
+
+ collation_key = g_hash_table_lookup (hash_table, string);
@ -90,7 +90,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
+
+ return collation_key;
}
static void
@@ -1287,12 +1245,23 @@ ml_tree_value_at (ETreeModel *etm, ETree
str = camel_message_info_from (msg_info);
@ -117,7 +117,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
+ return (void *) get_normalised_string (message_list, str);
case COL_SENT: {
ETreePath child;
@@ -1316,7 +1285,8 @@ ml_tree_value_at (ETreeModel *etm, ETree
str = camel_message_info_to (msg_info);
return (void *)(str ? str : "");
@ -131,7 +131,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
@@ -2066,13 +2036,13 @@ message_list_init (MessageList *message_
gtk_scrolled_window_set_vadjustment ((GtkScrolledWindow *) message_list, adjustment);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (message_list), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
- message_list->normalised_hash = g_hash_table_new_full (
- g_str_hash, g_str_equal,
- (GDestroyNotify) NULL,
@ -140,22 +140,22 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
+ g_hash_table_new (g_str_hash, g_str_equal);
+
+ message_list->string_chunk = g_string_chunk_new (1024);
message_list->hidden = NULL;
- message_list->hidden_pool = NULL;
+ message_list->hidden_string_chunk = NULL;
message_list->hide_before = ML_HIDE_NONE_START;
message_list->hide_after = ML_HIDE_NONE_END;
@@ -2166,15 +2136,16 @@ message_list_finalise (GObject *object)
struct _MessageListPrivate *p = message_list->priv;
g_hash_table_destroy (message_list->normalised_hash);
+ g_string_chunk_free (message_list->string_chunk);
if (message_list->thread_tree)
camel_folder_thread_messages_unref(message_list->thread_tree);
if (message_list->hidden) {
g_hash_table_destroy(message_list->hidden);
- e_mempool_destroy(message_list->hidden_pool);
@ -164,18 +164,18 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
- message_list->hidden_pool = NULL;
+ message_list->hidden_string_chunk = NULL;
}
g_free(message_list->search);
@@ -3124,6 +3095,9 @@ message_list_set_folder (MessageList *me
/* reset the normalised sort performance hack */
g_hash_table_remove_all (message_list->normalised_hash);
+
+ g_string_chunk_free (message_list->string_chunk);
+ message_list->string_chunk = g_string_chunk_new (1024);
mail_regen_cancel(message_list);
@@ -3574,14 +3548,14 @@ message_list_hide_uids (MessageList *ml,
MESSAGE_LIST_LOCK (ml, hide_lock);
if (ml->hidden == NULL) {
@ -183,7 +183,7 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
- ml->hidden_pool = e_mempool_new (512, 256, E_MEMPOOL_ALIGN_BYTE);
+ ml->hidden_string_chunk = g_string_chunk_new (512);
}
- uid = e_mempool_strdup (ml->hidden_pool, uids->pdata[i]);
+ uid = g_string_chunk_insert (ml->hidden_string_chunk, uids->pdata[i]);
g_hash_table_insert (ml->hidden, uid, uid);
@ -229,21 +229,21 @@ diff -up evolution-2.21.2/mail/message-list.c.kill-ememory evolution-2.21.2/mail
camel_file_util_decode_fixed_int32 (in, &upper);
@@ -3662,7 +3636,7 @@ load_hide_state (MessageList *ml)
char *olduid, *uid;
if (camel_file_util_decode_string (in, &olduid) != -1) {
- uid = e_mempool_strdup(ml->hidden_pool, olduid);
+ uid = g_string_chunk_insert(ml->hidden_string_chunk, olduid);
g_free (olduid);
g_hash_table_insert(ml->hidden, uid, uid);
}
@@ -3811,12 +3785,12 @@ regen_list_exec (struct _regen_list_msg
@@ -3811,12 +3785,12 @@ regen_list_exec (struct _regen_list_msg
if (m->ml->hidden == NULL) {
m->ml->hidden = g_hash_table_new (g_str_hash, g_str_equal);
- m->ml->hidden_pool = e_mempool_new (512, 256, E_MEMPOOL_ALIGN_BYTE);
+ m->ml->hidden_string_chunk = g_string_chunk_new (512);
}
for (i = 0; i < uidnew->len; i++) {
if (g_hash_table_lookup (m->ml->hidden, uidnew->pdata[i]) == NULL) {
- char *uid = e_mempool_strdup (m->ml->hidden_pool, uidnew->pdata[i]);
@ -256,10 +256,10 @@ diff -up evolution-2.21.2/mail/message-list.h.kill-ememory evolution-2.21.2/mail
+++ evolution-2.21.2/mail/message-list.h 2007-12-01 10:22:46.000000000 -0500
@@ -102,11 +102,12 @@ struct _MessageList {
GHashTable *uid_nodemap; /* uid (from info) -> tree node mapping */
GHashTable *normalised_hash;
+ GStringChunk *string_chunk;
/* UID's to hide. Keys in the mempool */
/* IMPORTANT: You MUST have obtained the hide lock, to operate on this data */
GHashTable *hidden;
@ -267,4 +267,4 @@ diff -up evolution-2.21.2/mail/message-list.h.kill-ememory evolution-2.21.2/mail
+ GStringChunk *hidden_string_chunk;
int hide_unhidden; /* total length, before hiding */
int hide_before, hide_after; /* hide ranges of messages */

View File

@ -1,86 +0,0 @@
--- evolution-2.9.3/calendar/gui/e-meeting-list-view.c.meeting-list-view 2006-12-11 23:13:47.000000000 -0500
+++ evolution-2.9.3/calendar/gui/e-meeting-list-view.c 2006-12-11 23:14:17.000000000 -0500
@@ -623,18 +623,45 @@
}
+void
+attendee_added_cb (EMeetingStore *store, GtkTreePath *path,
+ GtkTreeIter *iter, EMeetingListView *view)
+{
+ EMeetingAttendee *attendee;
+ gint row;
+
+ /* Add the new attendee to the name selector. */
+ row = gtk_tree_path_get_indices (path) [0];
+ attendee = e_meeting_store_find_attendee_at_row (store, row);
+ e_meeting_list_view_add_attendee_to_name_selector (view, attendee);
+}
+
+void
+attendee_deleted_cb (EMeetingStore *store, GtkTreePath *path,
+ EMeetingListView *view)
+{
+ EMeetingAttendee *attendee;
+ gint row;
+
+ /* Remove the old attendee from the name selector. */
+ row = gtk_tree_path_get_indices (path) [0];
+ attendee = e_meeting_store_find_attendee_at_row (store, row);
+ e_meeting_list_view_remove_attendee_from_name_selector (view, attendee);
+}
EMeetingListView *
e_meeting_list_view_new (EMeetingStore *store)
{
- EMeetingListView *view = g_object_new (E_TYPE_MEETING_LIST_VIEW, NULL);
+ EMeetingListView *view;
GtkTreeSelection *selection;
- if (view) {
- view->priv->store = store;
- gtk_tree_view_set_model (GTK_TREE_VIEW (view), GTK_TREE_MODEL (store));
- build_table (view);
- }
+ view = g_object_new (E_TYPE_MEETING_LIST_VIEW, NULL);
+ view->priv->store = store;
+ gtk_tree_view_set_model (GTK_TREE_VIEW (view), GTK_TREE_MODEL (store));
+ build_table (view);
+
+ g_signal_connect (store, "row-inserted", G_CALLBACK (attendee_added_cb), view);
+ g_signal_connect (store, "row-deleted", G_CALLBACK (attendee_deleted_cb), view);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(view));
g_signal_connect (selection, "changed", G_CALLBACK (row_activated_cb), view);
--- evolution-2.9.3/calendar/gui/e-meeting-store.c.meeting-list-view 2006-12-04 10:44:42.000000000 -0500
+++ evolution-2.9.3/calendar/gui/e-meeting-store.c 2006-12-11 23:14:17.000000000 -0500
@@ -794,14 +794,13 @@
}
if (row != -1) {
-
- g_ptr_array_remove_index (store->priv->attendees, row);
- g_object_unref (attendee);
-
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, row);
gtk_tree_model_row_deleted (GTK_TREE_MODEL (store), path);
gtk_tree_path_free (path);
+
+ g_ptr_array_remove_index (store->priv->attendees, row);
+ g_object_unref (attendee);
}
}
@@ -815,10 +814,10 @@
for (i = 0; i < store->priv->attendees->len; i++) {
EMeetingAttendee *attendee = g_ptr_array_index (store->priv->attendees, i);
- g_object_unref (attendee);
gtk_tree_model_row_deleted (GTK_TREE_MODEL (store), path);
gtk_tree_path_next (path);
+ g_object_unref (attendee);
}
g_ptr_array_set_size (store->priv->attendees, 0);

View File

@ -44,8 +44,8 @@
### Abstract ###
Name: evolution
Version: 2.21.2
Release: 4%{?dist}
Version: 2.21.3
Release: 1%{?dist}
License: GPLv2 and GFDL+
Group: Applications/Productivity
Summary: GNOME's next-generation groupware suite
@ -110,16 +110,10 @@ Patch27: evolution-2.9.1-im-context-reset.patch
# RH bug #215478 / GNOME bug #383842
Patch30: evolution-2.9.3-source-path-entry.patch
# RH bug #215467 / GNOME bug #380644
Patch31: evolution-2.9.3-meeting-list-view.patch
# GNOME bug #376991
# XXX Disabled due to outstanding issues.
#Patch33: evolution-2.10.0-e-passwords.patch
# GNOME bug #499920
Patch34: evolution-2.21.2-invalid-include.patch
## Dependencies ###
Requires(post): GConf2
@ -252,9 +246,7 @@ PalmOS<tm> devices with %{name}.
%patch27 -p1 -b .im-context-reset
#%patch29 -p1 -b .view-attachment-uri
%patch30 -p1 -b .source-path-entry
%patch31 -p1 -b .meeting-list-view
#%patch33 -p1 -b .e-passwords
%patch34 -p1 -b .invalid-include
mkdir -p krb5-fakeprefix/include
mkdir -p krb5-fakeprefix/lib
@ -680,6 +672,11 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Mon Dec 03 2007 Matthew Barnes <mbarnes@redhat.com> - 2.21.3-1.fc9
- Update to 2.21.3
- Remove patch for RH bug #215467 (fixed upstream).
- Remove patch for GNOME bug #499920 (fixed upstream).
* Sat Dec 01 2007 Matthew Barnes <mbarnes@redhat.com> - 2.21.2-4.fc9
- Fix a corrupted patch that caused GNOME bug #499291.

View File

@ -1 +1 @@
833cf5f76ec30170d22f04948fba9997 evolution-2.21.2.tar.bz2
c8e4b72d503cc37ae9936dff06ae1d26 evolution-2.21.3.tar.bz2