diff options
| author | Eli Zaretskii | 2015-11-12 22:40:31 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-11-12 22:40:31 +0200 |
| commit | c1bc6e5d99e6d193c0d02116d4edeed6a0423630 (patch) | |
| tree | 61a9e2fd392aa13074c216fe3b25ac86ce6f1d0f /src | |
| parent | 1e363a8ea5ac09455f3a44fbb646b5af32bca51c (diff) | |
| download | emacs-c1bc6e5d99e6d193c0d02116d4edeed6a0423630.tar.gz emacs-c1bc6e5d99e6d193c0d02116d4edeed6a0423630.zip | |
Fix the MinGW64 and Cygwin-w32 builds
* src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE)
(MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and
use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros,
which cause trouble with MinGW42 headers. Ifdef away tray
notifications code for Cygwin. Reported by Andy Moreton
<andrewjmoreton@gmail.com>.
Diffstat (limited to 'src')
| -rw-r--r-- | src/w32fns.c | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/w32fns.c b/src/w32fns.c index eed849f1034..b71002f8bfc 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -8756,6 +8756,8 @@ Internal use only. */) | |||
| 8756 | return menubar_in_use ? Qt : Qnil; | 8756 | return menubar_in_use ? Qt : Qnil; |
| 8757 | } | 8757 | } |
| 8758 | 8758 | ||
| 8759 | #ifndef __CYGWIN__ | ||
| 8760 | |||
| 8759 | /*********************************************************************** | 8761 | /*********************************************************************** |
| 8760 | Tray notifications | 8762 | Tray notifications |
| 8761 | ***********************************************************************/ | 8763 | ***********************************************************************/ |
| @@ -8781,15 +8783,9 @@ typedef struct MY_NOTIFYICONDATAW { | |||
| 8781 | HICON hBalloonIcon; | 8783 | HICON hBalloonIcon; |
| 8782 | } MY_NOTIFYICONDATAW; | 8784 | } MY_NOTIFYICONDATAW; |
| 8783 | 8785 | ||
| 8784 | #ifndef NOTIFYICONDATAW_V1_SIZE | 8786 | #define MYNOTIFYICONDATAW_V1_SIZE offsetof (MY_NOTIFYICONDATAW, szTip[64]) |
| 8785 | # define NOTIFYICONDATAW_V1_SIZE offsetof (MY_NOTIFYICONDATAW, szTip[64]) | 8787 | #define MYNOTIFYICONDATAW_V2_SIZE offsetof (MY_NOTIFYICONDATAW, guidItem) |
| 8786 | #endif | 8788 | #define MYNOTIFYICONDATAW_V3_SIZE offsetof (MY_NOTIFYICONDATAW, hBalloonIcon) |
| 8787 | #ifndef NOTIFYICONDATAW_V2_SIZE | ||
| 8788 | # define NOTIFYICONDATAW_V2_SIZE offsetof (MY_NOTIFYICONDATAW, guidItem) | ||
| 8789 | #endif | ||
| 8790 | #ifndef NOTIFYICONDATAW_V3_SIZE | ||
| 8791 | # define NOTIFYICONDATAW_V3_SIZE offsetof (MY_NOTIFYICONDATAW, hBalloonIcon) | ||
| 8792 | #endif | ||
| 8793 | #ifndef NIF_INFO | 8789 | #ifndef NIF_INFO |
| 8794 | # define NIF_INFO 0x00000010 | 8790 | # define NIF_INFO 0x00000010 |
| 8795 | #endif | 8791 | #endif |
| @@ -8901,11 +8897,11 @@ add_tray_notification (struct frame *f, const char *icon, const char *tip, | |||
| 8901 | if (shell_dll_version >= MAKEDLLVERULL (6, 1, 0, 0)) /* >= Windows 7 */ | 8897 | if (shell_dll_version >= MAKEDLLVERULL (6, 1, 0, 0)) /* >= Windows 7 */ |
| 8902 | nidw.cbSize = sizeof (nidw); | 8898 | nidw.cbSize = sizeof (nidw); |
| 8903 | else if (shell_dll_version >= MAKEDLLVERULL (6, 0, 0, 0)) /* XP */ | 8899 | else if (shell_dll_version >= MAKEDLLVERULL (6, 0, 0, 0)) /* XP */ |
| 8904 | nidw.cbSize = NOTIFYICONDATAW_V3_SIZE; | 8900 | nidw.cbSize = MYNOTIFYICONDATAW_V3_SIZE; |
| 8905 | else if (shell_dll_version >= MAKEDLLVERULL (5, 0, 0, 0)) /* W2K */ | 8901 | else if (shell_dll_version >= MAKEDLLVERULL (5, 0, 0, 0)) /* W2K */ |
| 8906 | nidw.cbSize = NOTIFYICONDATAW_V2_SIZE; | 8902 | nidw.cbSize = MYNOTIFYICONDATAW_V2_SIZE; |
| 8907 | else | 8903 | else |
| 8908 | nidw.cbSize = NOTIFYICONDATAW_V1_SIZE; /* < W2K */ | 8904 | nidw.cbSize = MYNOTIFYICONDATAW_V1_SIZE; /* < W2K */ |
| 8909 | nidw.hWnd = FRAME_W32_WINDOW (f); | 8905 | nidw.hWnd = FRAME_W32_WINDOW (f); |
| 8910 | nidw.uID = EMACS_TRAY_NOTIFICATION_ID; | 8906 | nidw.uID = EMACS_TRAY_NOTIFICATION_ID; |
| 8911 | nidw.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP | NIF_INFO; | 8907 | nidw.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP | NIF_INFO; |
| @@ -8955,7 +8951,7 @@ add_tray_notification (struct frame *f, const char *icon, const char *tip, | |||
| 8955 | 8951 | ||
| 8956 | /* Windows 9X and NT4 support only 64 characters in the Tip, | 8952 | /* Windows 9X and NT4 support only 64 characters in the Tip, |
| 8957 | later versions support up to 128. */ | 8953 | later versions support up to 128. */ |
| 8958 | if (nidw.cbSize == NOTIFYICONDATAW_V1_SIZE) | 8954 | if (nidw.cbSize == MYNOTIFYICONDATAW_V1_SIZE) |
| 8959 | { | 8955 | { |
| 8960 | tiplen = pMultiByteToWideChar (CP_UTF8, MB_ERR_INVALID_CHARS, | 8956 | tiplen = pMultiByteToWideChar (CP_UTF8, MB_ERR_INVALID_CHARS, |
| 8961 | tip, utf8_mbslen_lim (tip, 63), | 8957 | tip, utf8_mbslen_lim (tip, 63), |
| @@ -8980,7 +8976,7 @@ add_tray_notification (struct frame *f, const char *icon, const char *tip, | |||
| 8980 | wcscpy (nidw.szTip, tipw); | 8976 | wcscpy (nidw.szTip, tipw); |
| 8981 | 8977 | ||
| 8982 | /* The rest of the structure is only supported since Windows 2000. */ | 8978 | /* The rest of the structure is only supported since Windows 2000. */ |
| 8983 | if (nidw.cbSize > NOTIFYICONDATAW_V1_SIZE) | 8979 | if (nidw.cbSize > MYNOTIFYICONDATAW_V1_SIZE) |
| 8984 | { | 8980 | { |
| 8985 | int slen; | 8981 | int slen; |
| 8986 | 8982 | ||
| @@ -9223,6 +9219,8 @@ DEFUN ("w32-notification-close", | |||
| 9223 | return Qnil; | 9219 | return Qnil; |
| 9224 | } | 9220 | } |
| 9225 | 9221 | ||
| 9222 | #endif /* !__CYGWIN__ */ | ||
| 9223 | |||
| 9226 | 9224 | ||
| 9227 | /*********************************************************************** | 9225 | /*********************************************************************** |
| 9228 | Initialization | 9226 | Initialization |