/pidgin/main: ac3d0b6d6128: gtkconv: Fix alignment of incoming R...
dx <[email protected]>
| Newsgroups | gmane.comp.gnome.gaim.cvs |
|---|---|
| Message-ID | <[email protected]> |
Changeset: ac3d0b6d6128ce326249147b73d8b26325be1f78 Author: dx <[email protected]> Date: 2016-04-11 04:22 -0300 Branch: release-2.x.y URL: https://hg.pidgin.im/pidgin/main/rev/ac3d0b6d6128 Description: gtkconv: Fix alignment of incoming RTL messages in protocols without rich text Which means this probably only worked properly for XMPP, given a pidgin client on the other side which also sent that span tag with direction:rtl. In the case of outgoing messages, it worked because that span tag was added by pidgin's own input box. diffstat: ChangeLog | 2 ++ pidgin/gtkconv.c | 13 +++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-) diffs (35 lines): diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,8 @@ Pidgin and Finch: The Pimpin' Penguin IM version 2.10.13 (MM/DD/YY): Pidgin: * Fixed #14962 + * Fixed alignment of incoming right-to-left messages in protocols that + don't support rich text Windows-Specific Changes: * Use getaddrinfo for DNS to enable IPv6 (#1075) diff --git a/pidgin/gtkconv.c b/pidgin/gtkconv.c --- a/pidgin/gtkconv.c +++ b/pidgin/gtkconv.c @@ -5914,6 +5914,19 @@ pidgin_conv_write_conv(PurpleConversatio /* Bi-Directional support - set timestamp direction using unicode characters */ is_rtl_message = purple_markup_is_rtl(message); + + /* Handle plaintext messages with RTL text but no direction in the markup */ + if (!is_rtl_message && pango_find_base_dir(message, -1) == PANGO_DIRECTION_RTL) + { + char *wrapped = g_strdup_printf("<SPAN style=\"direction:rtl;text-align:right;\">%s</SPAN>", displaying); + + g_free(displaying); + displaying = wrapped; + + length = strlen(displaying) + 1; + is_rtl_message = TRUE; + } + /* Enforce direction only if message is RTL - doesn't effect LTR users */ if (is_rtl_message) str_embed_direction_chars(&mdate); _______________________________________________ Commits mailing list [email protected] https://pidgin.im/cgi-bin/mailman/listinfo/commits