aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2015-11-12 22:40:31 +0200
committerEli Zaretskii2015-11-12 22:40:31 +0200
commitc1bc6e5d99e6d193c0d02116d4edeed6a0423630 (patch)
tree61a9e2fd392aa13074c216fe3b25ac86ce6f1d0f /src
parent1e363a8ea5ac09455f3a44fbb646b5af32bca51c (diff)
downloademacs-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.c26
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