From: Jason Rumney Date: Tue, 3 Feb 2004 23:44:47 +0000 (+0000) Subject: * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe. X-Git-Tag: ttn-vms-21-2-B4~7756 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2883d84228b07da8276569258cee4eafebc10c35;p=emacs.git * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe. * w32fns.c (x_to_w32_font): Likewise. --- diff --git a/src/ChangeLog b/src/ChangeLog index 4bda31d9a01..1e44a98d42d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2004-02-03 Jason Rumney + + * w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe. + + * w32fns.c (x_to_w32_font): Likewise. + 2004-02-03 Jan Dj,Ad(Brv * xterm.h: Add x_handle_dnd_message, x_check_property_data, diff --git a/src/w32fns.c b/src/w32fns.c index 1854c3908bd..f296c171595 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -5558,6 +5558,11 @@ x_to_w32_font (lpxstr, lplogfont) (Fcheck_coding_system (Vlocale_coding_system), &coding); coding.src_multibyte = 1; coding.dst_multibyte = 1; + /* Need to set COMPOSITION_DISABLED, otherwise Emacs crashes in + encode_coding_iso2022 trying to dereference a null pointer. */ + coding.composing = COMPOSITION_DISABLED; + if (coding.type == coding_type_iso2022) + coding.flags |= CODING_FLAG_ISO_SAFE; bufsize = encoding_buffer_size (&coding, strlen (name)); buf = (unsigned char *) alloca (bufsize); coding.mode |= CODING_MODE_LAST_BLOCK; diff --git a/src/w32select.c b/src/w32select.c index 6533f4b660d..940cce35772 100644 --- a/src/w32select.c +++ b/src/w32select.c @@ -212,6 +212,11 @@ DEFUN ("w32-set-clipboard-data", Fw32_set_clipboard_data, } coding.src_multibyte = 1; coding.dst_multibyte = 0; + /* Need to set COMPOSITION_DISABLED, otherwise Emacs crashes in + encode_coding_iso2022 trying to dereference a null pointer. */ + coding.composing = COMPOSITION_DISABLED; + if (coding.type == coding_type_iso2022) + coding.flags |= CODING_FLAG_ISO_SAFE; Vnext_selection_coding_system = Qnil; coding.mode |= CODING_MODE_LAST_BLOCK; bufsize = encoding_buffer_size (&coding, nbytes);