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;