changeset 975:52cd98b7e45c

Changed to using HANDLE as the base type for HICN on Windows. This may cause ABI issues in Win64 but should be fine for Win32.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 06 May 2011 01:46:27 +0000
parents e506776e7fd3
children ab244c6f9386
files dw.h win/dw.c
diffstat 2 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/dw.h	Thu May 05 23:16:38 2011 +0000
+++ b/dw.h	Fri May 06 01:46:27 2011 +0000
@@ -620,7 +620,7 @@
 typedef HANDLE HEV;
 typedef HANDLE HMOD;
 typedef HANDLE HSHM;
-typedef unsigned long HICN;
+typedef HANDLE HICN;
 
 typedef struct _container {
    ColorInfo cinfo;
--- a/win/dw.c	Thu May 05 23:16:38 2011 +0000
+++ b/win/dw.c	Fri May 06 01:46:27 2011 +0000
@@ -5736,7 +5736,8 @@
  */
 void API dw_window_set_icon(HWND handle, HICN icon)
 {
-   HICON hicon = icon < 65536 ? LoadIcon(DWInstance, MAKEINTRESOURCE(icon)) : (HICON)icon;
+   int iicon = (int)icon;
+   HICON hicon = iicon < 65536 ? LoadIcon(DWInstance, MAKEINTRESOURCE(iicon)) : (HICON)icon;
 
    SendMessage(handle, WM_SETICON,
             (WPARAM) IMAGE_ICON,
@@ -8312,7 +8313,7 @@
 
    tnid.cbSize = sizeof(NOTIFYICONDATA);
    tnid.hWnd = handle;
-   tnid.uID = icon;
+   tnid.uID = (UINT)icon;
    tnid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP;
    tnid.uCallbackMessage = WM_USER+2;
    tnid.hIcon = (HICON)icon;
@@ -8336,7 +8337,7 @@
 
    tnid.cbSize = sizeof(NOTIFYICONDATA);
    tnid.hWnd = handle;
-   tnid.uID = icon;
+   tnid.uID = (UINT)icon;
 
    Shell_NotifyIcon(NIM_DELETE, &tnid);
 }