Mercurial > hg > xemacs-beta
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); |