comparison src/select-gtk.c @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents b13b1b7b11f1
children 2923009caf47
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
1 /* GTK selection processing for XEmacs 1 /* GTK selection processing for XEmacs
2 Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc. 2 Copyright (C) 1990, 1991, 1992, 1993, 1994 Free Software Foundation, Inc.
3 Copyright (C) 2001 Ben Wing.
3 4
4 This file is part of XEmacs. 5 This file is part of XEmacs.
5 6
6 XEmacs is free software; you can redistribute it and/or modify it 7 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the 8 under the terms of the GNU General Public License as published by the
62 { 63 {
63 if (atom == GDK_SELECTION_PRIMARY) return (QPRIMARY); 64 if (atom == GDK_SELECTION_PRIMARY) return (QPRIMARY);
64 if (atom == GDK_SELECTION_SECONDARY) return (QSECONDARY); 65 if (atom == GDK_SELECTION_SECONDARY) return (QSECONDARY);
65 66
66 { 67 {
67 CIntbyte *intstr; 68 Intbyte *intstr;
68 Extbyte *str = gdk_atom_name (atom); 69 Extbyte *str = gdk_atom_name (atom);
69 70
70 if (! str) return Qnil; 71 if (! str) return Qnil;
71 72
72 TO_INTERNAL_FORMAT (C_STRING, str, 73 EXTERNAL_TO_C_STRING (str, intstr, Qctext);
73 C_STRING_ALLOCA, intstr,
74 Qctext);
75 g_free (str); 74 g_free (str);
76 return intern (intstr); 75 return intern_int (intstr);
77 } 76 }
78 } 77 }
79 78
80 #define PROCESSING_GTK_CODE 79 #define PROCESSING_GTK_CODE
81 #include "select-common.h" 80 #include "select-common.h"
209 /* Tell x_selection_request_lisp_error() it's cool. */ 208 /* Tell x_selection_request_lisp_error() it's cool. */
210 cl->successful = TRUE; 209 cl->successful = TRUE;
211 xfree (data); 210 xfree (data);
212 } 211 }
213 212
214 unbind_to (count, Qnil); 213 unbind_to (count);
215 214
216 DONE_LABEL: 215 DONE_LABEL:
217 216
218 if (cl) xfree (cl); 217 if (cl) xfree (cl);
219 218
349 wait_delaying_user_input (selection_reply_done, 0); 348 wait_delaying_user_input (selection_reply_done, 0);
350 349
351 if (selection_reply_timed_out) 350 if (selection_reply_timed_out)
352 signal_error (Qselection_conversion_error, "timed out waiting for reply from selection owner", Qunbound); 351 signal_error (Qselection_conversion_error, "timed out waiting for reply from selection owner", Qunbound);
353 352
354 unbind_to (speccount, Qnil); 353 unbind_to (speccount);
355 354
356 /* otherwise, the selection is waiting for us on the requested property. */ 355 /* otherwise, the selection is waiting for us on the requested property. */
357 return select_convert_in (selection_symbol, 356 return select_convert_in (selection_symbol,
358 target_type, 357 target_type,
359 Vretrieved_selection); 358 Vretrieved_selection);