Mercurial > hg > xemacs-beta
comparison src/event-Xt.c @ 211:78478c60bfcd r20-4b4
Import from CVS: tag r20-4b4
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:05:51 +0200 |
parents | e45d5e7c476e |
children | 262b8bb4a523 |
comparison
equal
deleted
inserted
replaced
210:49f55ca3ba57 | 211:78478c60bfcd |
---|---|
1 /* The event_stream interface for X11 with Xt, and/or tty frames. | 1 /* The event_stream interface for X11 with Xt, and/or tty frames. |
2 Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. | 2 Copyright (C) 1991-5, 1997 Free Software Foundation, Inc. |
3 Copyright (C) 1995 Sun Microsystems, Inc. | 3 Copyright (C) 1995 Sun Microsystems, Inc. |
4 Copyright (C) 1996 Ben Wing. | 4 Copyright (C) 1996 Ben Wing. |
5 | 5 |
6 This file is part of XEmacs. | 6 This file is part of XEmacs. |
7 | 7 |
1099 #ifdef HAVE_OFFIX_DND | 1099 #ifdef HAVE_OFFIX_DND |
1100 if (DndIsDropMessage(x_event)) | 1100 if (DndIsDropMessage(x_event)) |
1101 { | 1101 { |
1102 unsigned int state, modifiers = 0, button=0; | 1102 unsigned int state, modifiers = 0, button=0; |
1103 struct frame *frame = x_any_window_to_frame (d, ev->window); | 1103 struct frame *frame = x_any_window_to_frame (d, ev->window); |
1104 unsigned char *data; | 1104 Extbyte *data; |
1105 unsigned long size, dtype; | 1105 unsigned long size, dtype; |
1106 Lisp_Object l_type = Qnil, l_data = Qnil; | 1106 Lisp_Object l_type = Qnil, l_data = Qnil; |
1107 Lisp_Object l_dndlist = Qnil, l_item = Qnil; | 1107 Lisp_Object l_dndlist = Qnil, l_item = Qnil; |
1108 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; | 1108 struct gcpro gcpro1, gcpro2, gcpro3, gcpro4; |
1109 | 1109 |
1147 { | 1147 { |
1148 int len; | 1148 int len; |
1149 while (*data) | 1149 while (*data) |
1150 { | 1150 { |
1151 len = strlen ((char*) data); | 1151 len = strlen ((char*) data); |
1152 l_item = make_ext_string ((char*) data, len, | 1152 l_item = make_ext_string (data, len, |
1153 FORMAT_FILENAME); | 1153 FORMAT_FILENAME); |
1154 /* order is irrelevant */ | 1154 /* order is irrelevant */ |
1155 l_dndlist = Fcons (l_item, l_dndlist); | 1155 l_dndlist = Fcons (l_item, l_dndlist); |
1156 data += len+1; | 1156 data += len+1; |
1157 } | 1157 } |
1158 } | 1158 } |
1159 break; | 1159 break; |
1160 case DndText: | 1160 case DndText: |
1161 case DndMIME: | 1161 case DndMIME: |
1162 /* is there a better way to format this ? */ | 1162 /* is there a better way to format this ? */ |
1163 l_dndlist = make_ext_string ((char*) data, strlen(data), | 1163 l_dndlist = make_ext_string (data, strlen((char *)data), |
1164 FORMAT_BINARY); | 1164 FORMAT_BINARY); |
1165 break; | 1165 break; |
1166 case DndFile: | 1166 case DndFile: |
1167 case DndDir: | 1167 case DndDir: |
1168 case DndLink: | 1168 case DndLink: |
1169 case DndExe: | 1169 case DndExe: |
1170 case DndURL: /* this could also break with FORMAT_FILENAME */ | 1170 case DndURL: /* this could also break with FORMAT_FILENAME */ |
1171 l_dndlist = make_ext_string ((char*) data, strlen(data), | 1171 l_dndlist = make_ext_string (data, strlen((char *)data), |
1172 FORMAT_FILENAME); | 1172 FORMAT_FILENAME); |
1173 break; | 1173 break; |
1174 default: /* Unknown, RawData and any other type */ | 1174 default: /* Unknown, RawData and any other type */ |
1175 l_dndlist = make_ext_string ((char*) data, size, | 1175 l_dndlist = make_ext_string (data, size, |
1176 FORMAT_BINARY); | 1176 FORMAT_BINARY); |
1177 break; | 1177 break; |
1178 } | 1178 } |
1179 | 1179 |
1180 l_type=make_int(dtype); | 1180 l_type=make_int(dtype); |
1181 | 1181 |
1182 emacs_event->event.dnd_drop.data = Fcons (l_type, Fcons (l_dndlist, Qnil)); | 1182 emacs_event->event.dnd_drop.data = Fcons (l_type, Fcons (l_dndlist, Qnil)); |
1183 | 1183 |
1184 UNGCPRO; | 1184 UNGCPRO; |