comparison src/event-msw.c @ 657:ce0b3f2eff35

[xemacs-hg @ 2001-09-09 04:37:41 by andyp] DDE, netinstall and cygwin file fixes
author andyp
date Sun, 09 Sep 2001 04:37:48 +0000
parents 4035041996d8
children fdefd0186b75
comparison
equal deleted inserted replaced
656:4035041996d8 657:ce0b3f2eff35
1605 * 1605 *
1606 * We execute a dde Open("file") by simulating a file drop, so dde support 1606 * We execute a dde Open("file") by simulating a file drop, so dde support
1607 * depends on dnd support. 1607 * depends on dnd support.
1608 */ 1608 */
1609 #ifdef HAVE_DRAGNDROP 1609 #ifdef HAVE_DRAGNDROP
1610 extern int mswindows_dde_enable;
1611
1610 HDDEDATA CALLBACK 1612 HDDEDATA CALLBACK
1611 mswindows_dde_callback (UINT uType, UINT uFmt, HCONV hconv, 1613 mswindows_dde_callback (UINT uType, UINT uFmt, HCONV hconv,
1612 HSZ hszTopic, HSZ hszItem, HDDEDATA hdata, 1614 HSZ hszTopic, HSZ hszItem, HDDEDATA hdata,
1613 DWORD dwData1, DWORD dwData2) 1615 DWORD dwData1, DWORD dwData2)
1614 { 1616 {
1631 sizeof (pairs), 0L, 0, uFmt, 0)); 1633 sizeof (pairs), 0L, 0, uFmt, 0));
1632 } 1634 }
1633 return (HDDEDATA)NULL; 1635 return (HDDEDATA)NULL;
1634 1636
1635 case XTYP_EXECUTE: 1637 case XTYP_EXECUTE:
1638 if (!mswindows_dde_enable)
1639 return (HDDEDATA) DDE_FBUSY;
1640
1636 if (!DdeCmpStringHandles (hszTopic, mswindows_dde_topic_system)) 1641 if (!DdeCmpStringHandles (hszTopic, mswindows_dde_topic_system))
1637 { 1642 {
1638 DWORD len = DdeGetData (hdata, NULL, 0, 0); 1643 DWORD len = DdeGetData (hdata, NULL, 0, 0);
1639 LPBYTE cmd = (LPBYTE) alloca (len+1); 1644 LPBYTE cmd = (LPBYTE) alloca (len+1);
1640 char *end; 1645 char *end;
1641 char *filename; 1646 char *filename;
1642 struct gcpro gcpro1, gcpro2; 1647 struct gcpro gcpro1, gcpro2;
1643 Lisp_Object l_dndlist = Qnil; 1648 Lisp_Object l_dndlist = Qnil;
1644 Lisp_Object emacs_event = Fmake_event (Qnil, Qnil); 1649 Lisp_Object emacs_event = Fmake_event (Qnil, Qnil);
1645 Lisp_Object frmcons, devcons, concons; 1650 Lisp_Object frmcons, devcons, concons;
1646 Lisp_Event *event = XEVENT (emacs_event); 1651 Lisp_Event *event = XEVENT (emacs_event);
1647 1652
1648 DdeGetData (hdata, cmd, len, 0); 1653 DdeGetData (hdata, cmd, len, 0);