- Update to 2.11.91
- Removed patch for RH bug #157400 / GNOME bug #303877 (fixed upstream). - Removed patch for RH bug #157505 / GNOME bug #303878 (fixed upstream). - Removed patch for RH bug #161885 / GNOME bug #309166 (fixed upstream). - Removed patch for RH bug #202751 / GNOME bug #355766 (fixed upstream). - Removed patch for RH bug #218898 / GNOME bug #385414 (fixed upstream). - Removed patch for RH bug #253348 / GNOME bug #467883 (fixed upstream).
This commit is contained in:
parent
e80ca7a9aa
commit
a5950633c2
@ -1 +1 @@
|
|||||||
evolution-2.11.90.tar.bz2
|
evolution-2.11.91.tar.bz2
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
--- evolution-2.11.90/mail/mail-component.c.enable-folder-tree 2007-08-18 02:21:45.000000000 -0400
|
|
||||||
+++ evolution-2.11.90/mail/mail-component.c 2007-08-18 02:23:54.000000000 -0400
|
|
||||||
@@ -652,30 +652,33 @@ enable_folder_tree (GtkWidget *emfb, Gtk
|
|
||||||
{
|
|
||||||
char *uri;
|
|
||||||
CamelURL *selected_curl, *current_curl;
|
|
||||||
- CamelFolder *folder;
|
|
||||||
- CamelException ex;
|
|
||||||
EMFolderView *emfv = (EMFolderView *)emfb;
|
|
||||||
|
|
||||||
/* Currently displayed folder */
|
|
||||||
- MessageList *ml = emfv->list;
|
|
||||||
- folder = ml->folder;
|
|
||||||
- uri = mail_tools_folder_to_url (folder);
|
|
||||||
- current_curl = camel_url_new (uri, NULL);
|
|
||||||
+ uri = mail_tools_folder_to_url (emfv->list->folder);
|
|
||||||
+ current_curl = uri ? camel_url_new (uri, NULL) : NULL;
|
|
||||||
+ g_free (uri);
|
|
||||||
|
|
||||||
- /* Selected folder in emft*/
|
|
||||||
+ /* Selected folder in emft */
|
|
||||||
uri = em_folder_tree_get_selected_uri ((EMFolderTree *) emft);
|
|
||||||
- folder = mail_tool_uri_to_folder (uri, 0, &ex);
|
|
||||||
- selected_curl = camel_url_new (uri, NULL);
|
|
||||||
+ selected_curl = uri ? camel_url_new (uri, NULL) : NULL;
|
|
||||||
|
|
||||||
- if (!camel_url_equal (selected_curl, current_curl))
|
|
||||||
- g_signal_emit_by_name (emft, "folder-selected", emft, uri, folder->full_name, uri, folder->folder_flags);
|
|
||||||
+ if (current_curl && selected_curl && !camel_url_equal (selected_curl, current_curl)) {
|
|
||||||
+ CamelFolder *folder;
|
|
||||||
+ CamelException ex;
|
|
||||||
+
|
|
||||||
+ camel_exception_init (&ex);
|
|
||||||
+ folder = mail_tool_uri_to_folder (uri, 0, &ex);
|
|
||||||
+ g_signal_emit_by_name (
|
|
||||||
+ emft, "folder-selected", emft, uri,
|
|
||||||
+ folder->full_name, uri, folder->folder_flags);
|
|
||||||
+ }
|
|
||||||
|
|
||||||
gtk_widget_set_sensitive (emft, TRUE);
|
|
||||||
|
|
||||||
camel_url_free (current_curl);
|
|
||||||
camel_url_free (selected_curl);
|
|
||||||
g_free (uri);
|
|
||||||
-
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Evolution::Component CORBA methods. */
|
|
@ -1,112 +0,0 @@
|
|||||||
--- evolution-2.7.4/widgets/text/e-text.h.cal 2006-07-13 10:15:56.000000000 -0400
|
|
||||||
+++ evolution-2.7.4/widgets/text/e-text.h 2006-07-13 10:18:20.000000000 -0400
|
|
||||||
@@ -109,6 +109,7 @@
|
|
||||||
|
|
||||||
const gchar *text; /* Text to display --- from the ETextModel */
|
|
||||||
gint preedit_len; /* preedit length to display */
|
|
||||||
+ gint preedit_pos; /* preedit cursor position */
|
|
||||||
PangoLayout *layout;
|
|
||||||
int num_lines; /* Number of lines of text */
|
|
||||||
|
|
||||||
--- evolution-2.7.4/widgets/text/e-text.c.cal 2006-07-13 10:15:51.000000000 -0400
|
|
||||||
+++ evolution-2.7.4/widgets/text/e-text.c 2006-07-13 10:18:20.000000000 -0400
|
|
||||||
@@ -132,6 +132,7 @@
|
|
||||||
|
|
||||||
static void reset_layout_attrs (EText *text);
|
|
||||||
|
|
||||||
+static void update_im_cursor_position (EText *text);
|
|
||||||
#if 0
|
|
||||||
/* GtkEditable Methods */
|
|
||||||
static void e_text_editable_do_insert_text (GtkEditable *editable,
|
|
||||||
@@ -325,6 +326,8 @@
|
|
||||||
pango_layout_set_attributes (text->layout, attrs);
|
|
||||||
pango_attr_list_unref (attrs);
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ update_im_cursor_position (text);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (preedit_string)
|
|
||||||
@@ -3723,6 +3726,7 @@
|
|
||||||
text->model = e_text_model_new ();
|
|
||||||
text->text = e_text_model_get_text (text->model);
|
|
||||||
text->preedit_len = 0;
|
|
||||||
+ text->preedit_pos = 0;
|
|
||||||
text->layout = NULL;
|
|
||||||
|
|
||||||
text->revert = NULL;
|
|
||||||
@@ -3840,17 +3844,71 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * Fetch cursor location into Strong or Weak positions so as to
|
|
||||||
+ * display the preedit candidate selection window in the right place
|
|
||||||
+ */
|
|
||||||
+static void
|
|
||||||
+e_text_get_cursor_locations (EText *text,
|
|
||||||
+ GdkRectangle *strong_pos,
|
|
||||||
+ GdkRectangle *weak_pos)
|
|
||||||
+{
|
|
||||||
+ double x1, y1;
|
|
||||||
+ PangoRectangle pango_strong_pos;
|
|
||||||
+ PangoRectangle pango_weak_pos;
|
|
||||||
+ int cx, cy;
|
|
||||||
+ gint index;
|
|
||||||
+
|
|
||||||
+ gnome_canvas_item_get_bounds (GNOME_CANVAS_ITEM (text), &x1, &y1, NULL, NULL);
|
|
||||||
+
|
|
||||||
+ gnome_canvas_get_scroll_offsets (GNOME_CANVAS (GNOME_CANVAS_ITEM (text)->canvas), &cx, &cy);
|
|
||||||
+
|
|
||||||
+ index = g_utf8_offset_to_pointer (text->text, text->selection_start) - text->text;
|
|
||||||
+
|
|
||||||
+ pango_layout_get_cursor_pos (text->layout, index + text->preedit_pos,
|
|
||||||
+ strong_pos ? &pango_strong_pos : NULL,
|
|
||||||
+ weak_pos ? &pango_weak_pos : NULL);
|
|
||||||
+
|
|
||||||
+ if (strong_pos) {
|
|
||||||
+ strong_pos->x = x1 - cx - text->xofs_edit + pango_strong_pos.x / PANGO_SCALE;
|
|
||||||
+ strong_pos->y = y1 - cy - text->yofs_edit + pango_strong_pos.y / PANGO_SCALE;
|
|
||||||
+ strong_pos->width = 0;
|
|
||||||
+ strong_pos->height = pango_strong_pos.height / PANGO_SCALE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (weak_pos) {
|
|
||||||
+ weak_pos->x = x1 - cx - text->xofs_edit + pango_weak_pos.x / PANGO_SCALE;
|
|
||||||
+ weak_pos->y = y1 - cy - text->yofs_edit + pango_weak_pos.y / PANGO_SCALE;
|
|
||||||
+ weak_pos->width = 0;
|
|
||||||
+ weak_pos->height = pango_weak_pos.height / PANGO_SCALE;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+/* Update IM's cursor position to display candidate selection window */
|
|
||||||
+static void
|
|
||||||
+update_im_cursor_position (EText *text)
|
|
||||||
+{
|
|
||||||
+ GdkRectangle area;
|
|
||||||
+
|
|
||||||
+ e_text_get_cursor_locations (text, &area, NULL);
|
|
||||||
+
|
|
||||||
+ gtk_im_context_set_cursor_location (text->im_context, &area);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void
|
|
||||||
e_text_preedit_changed_cb (GtkIMContext *context,
|
|
||||||
- EText *etext)
|
|
||||||
+ EText *etext)
|
|
||||||
{
|
|
||||||
gchar *preedit_string = NULL;
|
|
||||||
+ gint cursor_pos;
|
|
||||||
|
|
||||||
gtk_im_context_get_preedit_string (context, &preedit_string,
|
|
||||||
- NULL, NULL);
|
|
||||||
+ NULL, &cursor_pos);
|
|
||||||
|
|
||||||
+ cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1));
|
|
||||||
etext->preedit_len = strlen (preedit_string);
|
|
||||||
- g_free (preedit_string);
|
|
||||||
+ etext->preedit_pos = g_utf8_offset_to_pointer (preedit_string, cursor_pos) - preedit_string;
|
|
||||||
+ g_free (preedit_string);
|
|
||||||
|
|
||||||
g_signal_emit (etext, e_text_signals[E_TEXT_KEYPRESS], 0, 0, 0);
|
|
||||||
}
|
|
@ -1,110 +0,0 @@
|
|||||||
--- evolution-2.7.4/widgets/table/e-cell-text.c.task 2006-07-13 10:56:19.000000000 -0400
|
|
||||||
+++ evolution-2.7.4/widgets/table/e-cell-text.c 2006-07-13 10:56:27.000000000 -0400
|
|
||||||
@@ -199,6 +199,7 @@
|
|
||||||
gboolean im_context_signals_registered;
|
|
||||||
|
|
||||||
guint16 preedit_length; /* length of preedit string, in bytes */
|
|
||||||
+ gint preedit_pos; /* position of preedit cursor */
|
|
||||||
|
|
||||||
ECellActions actions;
|
|
||||||
};
|
|
||||||
@@ -222,6 +223,7 @@
|
|
||||||
static void _insert (ECellTextView *text_view, char *string, int value);
|
|
||||||
static void _delete_selection (ECellTextView *text_view);
|
|
||||||
static PangoAttrList* build_attr_list (ECellTextView *text_view, int row, int text_length);
|
|
||||||
+static void update_im_cursor_location (ECellTextView *tv);
|
|
||||||
|
|
||||||
static ECellClass *parent_class;
|
|
||||||
|
|
||||||
@@ -560,6 +562,9 @@
|
|
||||||
if (preedit_attrs)
|
|
||||||
pango_attr_list_unref (preedit_attrs);
|
|
||||||
pango_attr_list_unref (attrs);
|
|
||||||
+
|
|
||||||
+ update_im_cursor_location (text_view);
|
|
||||||
+
|
|
||||||
return layout;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1863,6 +1868,66 @@
|
|
||||||
/* IM Context Callbacks */
|
|
||||||
|
|
||||||
static void
|
|
||||||
+e_cell_text_get_cursor_locations (ECellTextView *tv,
|
|
||||||
+ GdkRectangle *strong_pos,
|
|
||||||
+ GdkRectangle *weak_pos)
|
|
||||||
+{
|
|
||||||
+ GdkRectangle area;
|
|
||||||
+ CellEdit *edit=tv->edit;
|
|
||||||
+ ECellView *cell_view = (ECellView *)tv;
|
|
||||||
+ ETableItem *item = E_TABLE_ITEM ((cell_view)->e_table_item_view);
|
|
||||||
+ GnomeCanvasItem *parent_item = GNOME_CANVAS_ITEM (item)->parent;
|
|
||||||
+ PangoRectangle pango_strong_pos;
|
|
||||||
+ PangoRectangle pango_weak_pos;
|
|
||||||
+ gint x, y, col, row;
|
|
||||||
+ gdouble x1,y1;
|
|
||||||
+ gint cx, cy;
|
|
||||||
+ gint index;
|
|
||||||
+
|
|
||||||
+ row = edit->row;
|
|
||||||
+ col = edit->view_col;
|
|
||||||
+
|
|
||||||
+ e_table_item_get_cell_geometry (item, &row, &col,
|
|
||||||
+ &x, &y, NULL, &area.height);
|
|
||||||
+
|
|
||||||
+ gnome_canvas_item_get_bounds (GNOME_CANVAS_ITEM (parent_item), &x1, &y1, NULL, NULL);
|
|
||||||
+
|
|
||||||
+ gnome_canvas_get_scroll_offsets (GNOME_CANVAS (GNOME_CANVAS_ITEM (parent_item)->canvas), &cx, &cy);
|
|
||||||
+
|
|
||||||
+ index = edit->selection_end + edit->preedit_pos;
|
|
||||||
+
|
|
||||||
+ pango_layout_get_cursor_pos (edit->layout,
|
|
||||||
+ index,
|
|
||||||
+ strong_pos ? &pango_strong_pos : NULL,
|
|
||||||
+ weak_pos ? &pango_weak_pos : NULL);
|
|
||||||
+
|
|
||||||
+ if (strong_pos) {
|
|
||||||
+ strong_pos->x = x + x1 - cx - edit->xofs_edit + pango_strong_pos.x / PANGO_SCALE;
|
|
||||||
+ strong_pos->y = y + y1 - cy - edit->yofs_edit + pango_strong_pos.y / PANGO_SCALE;
|
|
||||||
+ strong_pos->width = 0;
|
|
||||||
+ strong_pos->height = pango_strong_pos.height / PANGO_SCALE;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (weak_pos) {
|
|
||||||
+ weak_pos->x = x + x1 - cx - edit->xofs_edit + pango_weak_pos.x / PANGO_SCALE;
|
|
||||||
+ weak_pos->y = y + y1 - cy - edit->yofs_edit + pango_weak_pos.y / PANGO_SCALE;
|
|
||||||
+ weak_pos->width = 0;
|
|
||||||
+ weak_pos->height = pango_weak_pos.height / PANGO_SCALE;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
+update_im_cursor_location (ECellTextView *tv)
|
|
||||||
+{
|
|
||||||
+ CellEdit *edit=tv->edit;
|
|
||||||
+ GdkRectangle area;
|
|
||||||
+
|
|
||||||
+ e_cell_text_get_cursor_locations (tv, &area, NULL);
|
|
||||||
+
|
|
||||||
+ gtk_im_context_set_cursor_location (edit->im_context, &area);
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+static void
|
|
||||||
e_cell_text_preedit_changed_cb (GtkIMContext *context,
|
|
||||||
ECellTextView *tv)
|
|
||||||
{
|
|
||||||
@@ -1871,10 +1936,12 @@
|
|
||||||
CellEdit *edit=tv->edit;
|
|
||||||
gtk_im_context_get_preedit_string (edit->im_context, &preedit_string,
|
|
||||||
NULL, &cursor_pos);
|
|
||||||
-
|
|
||||||
+
|
|
||||||
edit->preedit_length = strlen (preedit_string);
|
|
||||||
- cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1));
|
|
||||||
+ cursor_pos = CLAMP (cursor_pos, 0, g_utf8_strlen (preedit_string, -1));
|
|
||||||
+ edit->preedit_pos = g_utf8_offset_to_pointer (preedit_string, cursor_pos) - preedit_string;
|
|
||||||
g_free (preedit_string);
|
|
||||||
+
|
|
||||||
ect_queue_redraw (tv, edit->view_col, edit->row);
|
|
||||||
}
|
|
||||||
|
|
@ -1,74 +0,0 @@
|
|||||||
--- evolution-2.11.2/plugins/print-message/print-message.c.fix-indic-printing 2007-05-13 13:41:09.000000000 -0400
|
|
||||||
+++ evolution-2.11.2/plugins/print-message/print-message.c 2007-05-18 15:32:12.000000000 -0400
|
|
||||||
@@ -65,7 +65,7 @@
|
|
||||||
EMFormatHTMLPrint *efhp;
|
|
||||||
|
|
||||||
action = GTK_PRINT_OPERATION_ACTION_PREVIEW;
|
|
||||||
- message = e_msg_composer_get_message (composer, 1);
|
|
||||||
+ message = e_msg_composer_get_message_print (composer, 1);
|
|
||||||
|
|
||||||
efhp = em_format_html_print_new (NULL, action);
|
|
||||||
em_format_html_print_raw_message (efhp, message);
|
|
||||||
--- evolution-2.11.2/composer/e-msg-composer.h.fix-indic-printing 2007-04-18 06:17:34.000000000 -0400
|
|
||||||
+++ evolution-2.11.2/composer/e-msg-composer.h 2007-05-18 15:30:56.000000000 -0400
|
|
||||||
@@ -101,6 +101,8 @@
|
|
||||||
CamelMimePart *part);
|
|
||||||
CamelMimeMessage *e_msg_composer_get_message (EMsgComposer *composer,
|
|
||||||
gboolean save_html_object_data);
|
|
||||||
+CamelMimeMessage *e_msg_composer_get_message_print (EMsgComposer *composer,
|
|
||||||
+ gboolean save_html_object_data);
|
|
||||||
CamelMimeMessage *e_msg_composer_get_message_draft (EMsgComposer *composer);
|
|
||||||
void e_msg_composer_show_sig_file (EMsgComposer *composer);
|
|
||||||
gboolean e_msg_composer_get_send_html (EMsgComposer *composer);
|
|
||||||
--- evolution-2.11.2/composer/e-msg-composer.c.fix-indic-printing 2007-04-18 06:17:34.000000000 -0400
|
|
||||||
+++ evolution-2.11.2/composer/e-msg-composer.c 2007-05-18 15:30:56.000000000 -0400
|
|
||||||
@@ -5273,6 +5273,49 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
CamelMimeMessage *
|
|
||||||
+e_msg_composer_get_message_print (EMsgComposer *composer, gboolean save_html_object_data)
|
|
||||||
+{
|
|
||||||
+ EMsgComposer *temp_composer;
|
|
||||||
+ CamelMimeMessage *msg;
|
|
||||||
+ GString *flags;
|
|
||||||
+
|
|
||||||
+ msg = build_message (composer, save_html_object_data);
|
|
||||||
+ temp_composer = e_msg_composer_new_with_message (msg);
|
|
||||||
+ camel_object_unref (msg);
|
|
||||||
+
|
|
||||||
+ /* build flags string */
|
|
||||||
+ flags = g_string_sized_new (128);
|
|
||||||
+ if (temp_composer->priv->send_html)
|
|
||||||
+ g_string_append (flags, "text/html");
|
|
||||||
+ else
|
|
||||||
+ g_string_append (flags, "text/plain");
|
|
||||||
+ if (temp_composer->priv->pgp_sign)
|
|
||||||
+ g_string_append (flags, ", pgp-sign");
|
|
||||||
+ if (temp_composer->priv->pgp_encrypt)
|
|
||||||
+ g_string_append (flags, ", pgp-encrypt");
|
|
||||||
+ if (temp_composer->priv->smime_sign)
|
|
||||||
+ g_string_append (flags, ", smime-sign");
|
|
||||||
+ if (temp_composer->priv->smime_encrypt)
|
|
||||||
+ g_string_append (flags, ", smime-encrypt");
|
|
||||||
+
|
|
||||||
+ /* override composer flags */
|
|
||||||
+ temp_composer->priv->send_html = TRUE;
|
|
||||||
+ temp_composer->priv->pgp_sign = FALSE;
|
|
||||||
+ temp_composer->priv->pgp_encrypt = FALSE;
|
|
||||||
+ temp_composer->priv->smime_sign = FALSE;
|
|
||||||
+ temp_composer->priv->smime_encrypt = FALSE;
|
|
||||||
+
|
|
||||||
+ msg = build_message (temp_composer, save_html_object_data);
|
|
||||||
+ camel_medium_set_header (CAMEL_MEDIUM (msg),
|
|
||||||
+ "X-Evolution-Format", flags->str);
|
|
||||||
+
|
|
||||||
+ e_msg_composer_delete (temp_composer);
|
|
||||||
+ g_string_free (flags, TRUE);
|
|
||||||
+
|
|
||||||
+ return msg;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+CamelMimeMessage *
|
|
||||||
e_msg_composer_get_message_draft (EMsgComposer *composer)
|
|
||||||
{
|
|
||||||
CamelMimeMessage *msg;
|
|
@ -1,117 +0,0 @@
|
|||||||
--- evolution-2.8.0/widgets/text/e-text.c.indic-cursor-movement 2006-09-13 14:53:39.000000000 -0400
|
|
||||||
+++ evolution-2.8.0/widgets/text/e-text.c 2006-09-13 14:53:48.000000000 -0400
|
|
||||||
@@ -2876,6 +2876,76 @@
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+/* direction = TRUE (move forward), FALSE (move backward)
|
|
||||||
+ Any error shall return length(text->text) or 0 or text->selection_end (as deemed fit) */
|
|
||||||
+static int
|
|
||||||
+_get_updated_position (EText *text, gboolean direction)
|
|
||||||
+{
|
|
||||||
+ PangoLogAttr *log_attrs = NULL;
|
|
||||||
+ gint n_attrs;
|
|
||||||
+ char *p = NULL;
|
|
||||||
+ gint new_pos = 0;
|
|
||||||
+ gint length = 0;
|
|
||||||
+
|
|
||||||
+ /* Basic sanity test, return whatever position we are currently at. */
|
|
||||||
+ g_return_val_if_fail (text->layout != NULL, text->selection_end);
|
|
||||||
+
|
|
||||||
+ length = g_utf8_strlen (text->text, -1);
|
|
||||||
+
|
|
||||||
+ /* length checks to make sure we are not wandering off into nonexistant memory... */
|
|
||||||
+ if((text->selection_end >= length) && (TRUE == direction)) /* forward */
|
|
||||||
+ return length;
|
|
||||||
+ /* checking for -ve value wont hurt! */
|
|
||||||
+ if((text->selection_end <= 0) && (FALSE == direction)) /* backward */
|
|
||||||
+ return 0;
|
|
||||||
+
|
|
||||||
+ /* check for validness of full text->text */
|
|
||||||
+ if(!g_utf8_validate(text->text, -1, NULL))
|
|
||||||
+ return text->selection_end;
|
|
||||||
+
|
|
||||||
+ /* get layout's PangoLogAttr to facilitate moving when moving across grapheme cluster as in indic langs */
|
|
||||||
+ pango_layout_get_log_attrs (text->layout, &log_attrs, &n_attrs);
|
|
||||||
+
|
|
||||||
+ /* Fetch the current char index in the line & keep moving
|
|
||||||
+ forward until we can display cursor */
|
|
||||||
+ p = g_utf8_offset_to_pointer (text->text, text->selection_end);
|
|
||||||
+
|
|
||||||
+ new_pos = text->selection_end;
|
|
||||||
+ while(1)
|
|
||||||
+ {
|
|
||||||
+ /* check before moving forward/backwards if we have more chars to move or not */
|
|
||||||
+ if(TRUE == direction)
|
|
||||||
+ p = g_utf8_next_char (p);
|
|
||||||
+ else
|
|
||||||
+ p = g_utf8_prev_char (p);
|
|
||||||
+
|
|
||||||
+ /* validate the new string & return with original position if check fails */
|
|
||||||
+ if(!g_utf8_validate (p, -1, NULL))
|
|
||||||
+ break; /* will return old value of new_pos */
|
|
||||||
+
|
|
||||||
+ new_pos = g_utf8_pointer_to_offset (text->text, p);
|
|
||||||
+
|
|
||||||
+ /* if is_cursor_position is set, cursor can appear in front of character.
|
|
||||||
+ i.e. this is a grapheme boundary AND make some sanity checks */
|
|
||||||
+ if((new_pos >=0) && (new_pos < n_attrs) && (log_attrs[new_pos].is_cursor_position))
|
|
||||||
+ break;
|
|
||||||
+ else if((new_pos < 0) || (new_pos >= n_attrs))
|
|
||||||
+ {
|
|
||||||
+ new_pos = text->selection_end;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if(log_attrs)
|
|
||||||
+ g_free(log_attrs);
|
|
||||||
+
|
|
||||||
+ return new_pos;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+
|
|
||||||
+
|
|
||||||
static int
|
|
||||||
_get_position(EText *text, ETextEventProcessorCommand *command)
|
|
||||||
{
|
|
||||||
@@ -2951,15 +3021,14 @@
|
|
||||||
if (text->selection_end >= length)
|
|
||||||
new_pos = length;
|
|
||||||
else
|
|
||||||
- new_pos = text->selection_end + 1;
|
|
||||||
-
|
|
||||||
+ new_pos = _get_updated_position(text, TRUE); /* get updated position to display cursor */
|
|
||||||
+
|
|
||||||
break;
|
|
||||||
|
|
||||||
case E_TEP_BACKWARD_CHARACTER:
|
|
||||||
new_pos = 0;
|
|
||||||
- if (text->selection_end >= 1) {
|
|
||||||
- new_pos = text->selection_end - 1;
|
|
||||||
- }
|
|
||||||
+ if (text->selection_end >= 1)
|
|
||||||
+ new_pos = _get_updated_position(text, FALSE); /* get updated position to display cursor */
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
@@ -3341,6 +3410,7 @@
|
|
||||||
if (!text->layout)
|
|
||||||
create_layout (text);
|
|
||||||
|
|
||||||
+ /* We move cursor only if scroll is TRUE */
|
|
||||||
if (scroll && !text->button_down) {
|
|
||||||
/* XXX do we really need the @trailing logic here? if
|
|
||||||
we don't we can scrap the loop and just use
|
|
||||||
@@ -3349,7 +3419,9 @@
|
|
||||||
int selection_index;
|
|
||||||
PangoLayoutIter *iter = pango_layout_get_iter (text->layout);
|
|
||||||
|
|
||||||
+ /* check if we are using selection_start or selection_end for moving? */
|
|
||||||
selection_index = use_start ? text->selection_start : text->selection_end;
|
|
||||||
+
|
|
||||||
/* convert to a byte index */
|
|
||||||
selection_index = g_utf8_offset_to_pointer (text->text, selection_index) - text->text;
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
--- evolution-2.9.4/mail/em-format-html.c.view-message-source 2006-12-20 10:51:00.000000000 -0500
|
|
||||||
+++ evolution-2.9.4/mail/em-format-html.c 2006-12-21 10:08:02.000000000 -0500
|
|
||||||
@@ -1872,7 +1872,7 @@
|
|
||||||
filtered_stream = camel_stream_filter_new_with_stream ((CamelStream *) stream);
|
|
||||||
html_filter = camel_mime_filter_tohtml_new (CAMEL_MIME_FILTER_TOHTML_CONVERT_NL
|
|
||||||
| CAMEL_MIME_FILTER_TOHTML_CONVERT_SPACES
|
|
||||||
- | CAMEL_MIME_FILTER_TOHTML_ESCAPE_8BIT, 0);
|
|
||||||
+ | CAMEL_MIME_FILTER_TOHTML_PRESERVE_8BIT, 0);
|
|
||||||
camel_stream_filter_add(filtered_stream, html_filter);
|
|
||||||
camel_object_unref(html_filter);
|
|
||||||
|
|
@ -44,8 +44,8 @@
|
|||||||
### Abstract ###
|
### Abstract ###
|
||||||
|
|
||||||
Name: evolution
|
Name: evolution
|
||||||
Version: 2.11.90
|
Version: 2.11.91
|
||||||
Release: 4%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv2 and GFDL+
|
License: GPLv2 and GFDL+
|
||||||
Group: Applications/Productivity
|
Group: Applications/Productivity
|
||||||
Summary: GNOME's next-generation groupware suite
|
Summary: GNOME's next-generation groupware suite
|
||||||
@ -88,24 +88,12 @@ Patch16: evolution-2.7.1-no-gnome-common.patch
|
|||||||
|
|
||||||
#Patch17: evolution-2.7.1-notification-cleanups.patch
|
#Patch17: evolution-2.7.1-notification-cleanups.patch
|
||||||
|
|
||||||
# RH bug #157400 / GNOME bug #303877
|
|
||||||
Patch18: evolution-2.7.4-candidate-window-position-task.patch
|
|
||||||
|
|
||||||
# RH bug #157505 / GNOME bug #303878
|
|
||||||
Patch19: evolution-2.7.4-candidate-window-position-calendar.patch
|
|
||||||
|
|
||||||
# RH bug #166231 / GNOME bug #264485
|
# RH bug #166231 / GNOME bug #264485
|
||||||
Patch20: evolution-2.7.3-replicated-cjk-input.patch
|
Patch20: evolution-2.7.3-replicated-cjk-input.patch
|
||||||
|
|
||||||
# RH bug #178295 / GNOME bug #348638
|
# RH bug #178295 / GNOME bug #348638
|
||||||
Patch21: evolution-2.7.4-deleting-preedit-buffer.patch
|
Patch21: evolution-2.7.4-deleting-preedit-buffer.patch
|
||||||
|
|
||||||
# RH bug #161885 / GNOME bug #309166
|
|
||||||
Patch23: evolution-2.8.0-indic-cursor-movement.patch
|
|
||||||
|
|
||||||
# RH bug #202751 / GNOME bug #355766
|
|
||||||
Patch24: evolution-2.8.0-fix-indic-printing.patch
|
|
||||||
|
|
||||||
# GNOME bug #362638
|
# GNOME bug #362638
|
||||||
Patch25: evolution-2.8.1-kill-ethread.patch
|
Patch25: evolution-2.8.1-kill-ethread.patch
|
||||||
|
|
||||||
@ -127,18 +115,12 @@ Patch30: evolution-2.9.3-source-path-entry.patch
|
|||||||
# RH bug #215467 / GNOME bug #380644
|
# RH bug #215467 / GNOME bug #380644
|
||||||
Patch31: evolution-2.9.3-meeting-list-view.patch
|
Patch31: evolution-2.9.3-meeting-list-view.patch
|
||||||
|
|
||||||
# GNOME bug #218898
|
|
||||||
Patch32: evolution-2.9.4-view-message-source.patch
|
|
||||||
|
|
||||||
# GNOME bug #376991
|
# GNOME bug #376991
|
||||||
Patch33: evolution-2.10.0-e-passwords.patch
|
Patch33: evolution-2.10.0-e-passwords.patch
|
||||||
|
|
||||||
# GNOME bug #417999
|
# GNOME bug #417999
|
||||||
Patch34: evolution-2.10.0-e-source-combo-box.patch
|
Patch34: evolution-2.10.0-e-source-combo-box.patch
|
||||||
|
|
||||||
# RH bug #253348 / GNOME bug #467883
|
|
||||||
Patch35: evolution-2.11.90-enable-folder-tree.patch
|
|
||||||
|
|
||||||
## Dependencies ###
|
## Dependencies ###
|
||||||
|
|
||||||
Requires(post): GConf2
|
Requires(post): GConf2
|
||||||
@ -259,12 +241,8 @@ Development files needed for building things which link against evolution.
|
|||||||
%patch15 -p1 -b .fix-conduit-dir
|
%patch15 -p1 -b .fix-conduit-dir
|
||||||
%patch16 -p1 -b .no-gnome-common
|
%patch16 -p1 -b .no-gnome-common
|
||||||
#patch17 -p1 -b .notification-cleanups
|
#patch17 -p1 -b .notification-cleanups
|
||||||
%patch18 -p1 -b .candidate-window-position-task
|
|
||||||
%patch19 -p1 -b .candidate-window-position-calendar
|
|
||||||
%patch20 -p1 -b .replicated-cjk-input
|
%patch20 -p1 -b .replicated-cjk-input
|
||||||
%patch21 -p1 -b .deleting-preedit-buffer
|
%patch21 -p1 -b .deleting-preedit-buffer
|
||||||
%patch23 -p1 -b .indic-cursor-movement
|
|
||||||
%patch24 -p1 -b .fix-indic-printing
|
|
||||||
%patch25 -p1 -b .kill-ethread
|
%patch25 -p1 -b .kill-ethread
|
||||||
%patch26 -p1 -b .kill-ememory
|
%patch26 -p1 -b .kill-ememory
|
||||||
%patch27 -p1 -b .im-context-reset
|
%patch27 -p1 -b .im-context-reset
|
||||||
@ -272,10 +250,8 @@ Development files needed for building things which link against evolution.
|
|||||||
#%patch29 -p1 -b .view-attachment-uri
|
#%patch29 -p1 -b .view-attachment-uri
|
||||||
%patch30 -p1 -b .source-path-entry
|
%patch30 -p1 -b .source-path-entry
|
||||||
%patch31 -p1 -b .meeting-list-view
|
%patch31 -p1 -b .meeting-list-view
|
||||||
%patch32 -p1 -b .view-message-source
|
|
||||||
%patch33 -p1 -b .e-passwords
|
%patch33 -p1 -b .e-passwords
|
||||||
%patch34 -p1 -b .e-source-combo-box
|
%patch34 -p1 -b .e-source-combo-box
|
||||||
%patch35 -p1 -b .enable-folder-tree
|
|
||||||
|
|
||||||
mkdir -p krb5-fakeprefix/include
|
mkdir -p krb5-fakeprefix/include
|
||||||
mkdir -p krb5-fakeprefix/lib
|
mkdir -p krb5-fakeprefix/lib
|
||||||
@ -718,6 +694,15 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_libdir}/evolution/%{evo_major}/libmenus.so
|
%{_libdir}/evolution/%{evo_major}/libmenus.so
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 28 2007 Milan Crha <mcrha@redhat.com> - 2.11.91-1.fc8
|
||||||
|
- Update to 2.11.91
|
||||||
|
- Removed patch for RH bug #157400 / GNOME bug #303877 (fixed upstream).
|
||||||
|
- Removed patch for RH bug #157505 / GNOME bug #303878 (fixed upstream).
|
||||||
|
- Removed patch for RH bug #161885 / GNOME bug #309166 (fixed upstream).
|
||||||
|
- Removed patch for RH bug #202751 / GNOME bug #355766 (fixed upstream).
|
||||||
|
- Removed patch for RH bug #218898 / GNOME bug #385414 (fixed upstream).
|
||||||
|
- Removed patch for RH bug #253348 / GNOME bug #467883 (fixed upstream).
|
||||||
|
|
||||||
* Thu Aug 23 2007 Matthew Barnes <mbarnes@redhat.com> - 2.11.90-4.fc8
|
* Thu Aug 23 2007 Matthew Barnes <mbarnes@redhat.com> - 2.11.90-4.fc8
|
||||||
- Obsolete the evolution-bogofilter package.
|
- Obsolete the evolution-bogofilter package.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user