raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e1e7272d89e2921902161be225b53661ca91af8b
commit e1e7272d89e2921902161be225b53661ca91af8b Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sun Mar 22 18:39:54 2020 +0000 ecore evas cnp x - fix nul byte extras when text pasting to other apps i was seeing junk bytes in pastes to chromium... it was an extra nul byte. this will special-case nuke that. --- src/modules/ecore_evas/engines/x/ecore_evas_x.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/modules/ecore_evas/engines/x/ecore_evas_x.c b/src/modules/ecore_evas/engines/x/ecore_evas_x.c index ed95594413..3a61baaa20 100644 --- a/src/modules/ecore_evas/engines/x/ecore_evas_x.c +++ b/src/modules/ecore_evas/engines/x/ecore_evas_x.c @@ -4044,6 +4044,18 @@ _eina_content_converter(char *target, void *data, int size EINA_UNUSED, void **d *ttype = ecore_x_atom_get(target); //use here target in order to get the correct atom //FIXME in selection manager we never set here the typesize, isn't that weird ? ret = EINA_TRUE; + // XXX: fixup for strings to not include nul byte if last + // byte is nul byte + if (((!strncmp(target, "text/", 5)) || + (!strcmp(target, "tex")) || + (!strcmp(target, "TEXT")) || + (!strcmp(target, "COMPOUND_TEXT")) || + (!strcmp(target, "STRING")) || + (!strcmp(target, "UTF8_STRING"))) && + (slice.len > 0) && (slice.bytes[slice.len - 1] == '\0')) + { + *size_ret = *size_ret - 1; + } break; } } --
