changeset 53798:ad0a7541533d

* w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe. * w32fns.c (x_to_w32_font): Likewise.
author Jason Rumney <jasonr@gnu.org>
date Tue, 03 Feb 2004 23:44:47 +0000
parents 1f2fa74fb0aa
children 9ddd570ce8c7
files src/ChangeLog src/w32fns.c src/w32select.c
diffstat 3 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Feb 03 21:46:35 2004 +0000
+++ b/src/ChangeLog	Tue Feb 03 23:44:47 2004 +0000
@@ -1,3 +1,9 @@
+2004-02-03  Jason Rumney  <jasonr@gnu.org>
+
+	* w32select.c (Fw32_set_clipboard_data): Make coding iso2022 safe.
+
+	* w32fns.c (x_to_w32_font): Likewise.
+
 2004-02-03  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
 	* xterm.h: Add x_handle_dnd_message, x_check_property_data,
--- a/src/w32fns.c	Tue Feb 03 21:46:35 2004 +0000
+++ b/src/w32fns.c	Tue Feb 03 23:44:47 2004 +0000
@@ -5558,6 +5558,11 @@
             (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;
--- a/src/w32select.c	Tue Feb 03 21:46:35 2004 +0000
+++ b/src/w32select.c	Tue Feb 03 23:44:47 2004 +0000
@@ -212,6 +212,11 @@
 	  }
 	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);