X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fwidgets%2Fmodest-recpt-view.c;h=cb8511c6082dd9dbb96cba0cab3fbc62509f73e2;hp=3601c8e7fc32190aa7b334cd380d21d615ad8614;hb=33b5d84fbaaf8dd4eafe4176dba08213c046463f;hpb=27523b2f2982bfae1a25fd79555c2fb67c548332 diff --git a/src/widgets/modest-recpt-view.c b/src/widgets/modest-recpt-view.c index 3601c8e..cb8511c 100644 --- a/src/widgets/modest-recpt-view.c +++ b/src/widgets/modest-recpt-view.c @@ -85,11 +85,19 @@ modest_recpt_view_set_recipients (ModestRecptView *recpt_view, const gchar *reci { const GtkWidget *text_view = NULL; GtkTextBuffer *buffer = NULL; + gchar *std_recipients; text_view = modest_scroll_text_get_text_view (MODEST_SCROLL_TEXT (recpt_view)); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (text_view)); - gtk_text_buffer_set_text (buffer, recipients, -1); + if (recipients == NULL) { + std_recipients = NULL; + } else { + std_recipients = modest_text_utils_address_with_standard_length (recipients); + } + + gtk_text_buffer_set_text (buffer, std_recipients, -1); + g_free (std_recipients); if (GTK_WIDGET_REALIZED (recpt_view)) gtk_widget_queue_resize (GTK_WIDGET (recpt_view)); @@ -141,7 +149,7 @@ button_release_event (GtkWidget *widget, index = gtk_text_iter_get_offset (&iter); if (!gtk_text_iter_is_end (&iter)) { - int selection_start, selection_end; + guint selection_start, selection_end; gboolean selected = FALSE; GtkTextIter start_iter, end_iter; GtkTextBuffer *buffer; @@ -158,23 +166,24 @@ button_release_event (GtkWidget *widget, gtk_text_buffer_get_end_iter (buffer, &end_iter); text = gtk_text_buffer_get_text (buffer, &start_iter, &end_iter, FALSE); - modest_text_utils_address_range_at_position (text, - index, - &selection_start, &selection_end); - /* TODO: now gtk label tries to select more than the label as usual, - * and we force it to recover the selected region for the defined area. - * It should be fixed (maybe preventing gtklabel to manage selections - * in parallel with us - */ - gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, selection_start); - gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, selection_end); - gtk_text_buffer_select_range (buffer, &start_iter, &end_iter); - - if (text) + /* text will not be NULL, but source code checkers should be satisfied */ + if (text) { + modest_text_utils_address_range_at_position (text, + index, + &selection_start, &selection_end); + /* TODO: now gtk label tries to select more than the label as usual, + * and we force it to recover the selected region for the defined area. + * It should be fixed (maybe preventing gtklabel to manage selections + * in parallel with us + */ + gtk_text_buffer_get_iter_at_offset (buffer, &start_iter, selection_start); + gtk_text_buffer_get_iter_at_offset (buffer, &end_iter, selection_end); + gtk_text_buffer_select_range (buffer, &start_iter, &end_iter); + g_free (text); - + } } - + if (selected) { gchar *selection;