Mercurial > vim
diff src/ui.c @ 4201:3fd805ca2a6a v7.3.852
updated for version 7.3.852
Problem: system() breaks clipboard text. (Yukihiro Nakadaira)
Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
Also do not put the text in the clip buffer if conversion fails.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 07 Mar 2013 18:02:30 +0100 |
parents | cd6c420e31d6 |
children | fb533fb6c015 |
line wrap: on
line diff
--- a/src/ui.c +++ b/src/ui.c @@ -2119,7 +2119,13 @@ clip_x11_request_selection_cb(w, success text_prop.encoding = *type; text_prop.format = *format; text_prop.nitems = len; - status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop, +#ifdef FEAT_MBYTE + if (*type == utf8_atom) + status = Xutf8TextPropertyToTextList(X_DISPLAY, &text_prop, + &text_list, &n_text); + else +#endif + status = XmbTextPropertyToTextList(X_DISPLAY, &text_prop, &text_list, &n_text); if (status != Success || n_text < 1) {