Update NOTIFYICONDATAA
Francois Gouget
fgouget at free.fr
Thu Aug 19 12:02:30 CDT 2004
In recent platform SDKs NOTIFYICONDATA has more fields. I checked Wine's
code and, as far as I can tell, adding the new fields should not cause
problems.
Changelog:
* include/shellapi.h
dlls/shell32/tests/generated.c
Add new fields to the NOTIFYICONDATA structure so it matches the
latest platform SDK.
Update shell32/tests/generated.c. It now works when compiled witht eh
Windows headers.
Index: include/shellapi.h
===================================================================
RCS file: /var/cvs/wine/include/shellapi.h,v
retrieving revision 1.26
diff -u -r1.26 shellapi.h
--- include/shellapi.h 1 Apr 2004 21:01:04 -0000 1.26
+++ include/shellapi.h 18 Aug 2004 10:49:03 -0000
@@ -345,7 +345,16 @@
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
- CHAR szTip[64];
+ CHAR szTip[128];
+ DWORD dwState;
+ DWORD dwStateMask;
+ CHAR szInfo[256];
+ union {
+ UINT uTimeout;
+ UINT uVersion;
+ } DUMMYUNIONNAME;
+ CHAR szInfoTitle[64];
+ DWORD dwInfoFlags;
} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
typedef struct _NOTIFYICONDATAW
@@ -355,7 +364,16 @@
UINT uFlags;
UINT uCallbackMessage;
HICON hIcon;
- WCHAR szTip[64];
+ WCHAR szTip[128];
+ DWORD dwState;
+ DWORD dwStateMask;
+ WCHAR szInfo[256];
+ union {
+ UINT uTimeout;
+ UINT uVersion;
+ } DUMMYUNIONNAME;
+ WCHAR szInfoTitle[64];
+ DWORD dwInfoFlags;
} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
DECL_WINELIB_TYPE_AW(NOTIFYICONDATA)
Index: dlls/shell32/tests/generated.c
===================================================================
RCS file: /var/cvs/wine/dlls/shell32/tests/generated.c,v
retrieving revision 1.6
diff -u -r1.6 generated.c
--- dlls/shell32/tests/generated.c 16 Aug 2004 19:46:09 -0000 1.6
+++ dlls/shell32/tests/generated.c 19 Aug 2004 14:15:36 -0000
@@ -650,27 +635,31 @@
static void test_pack_NOTIFYICONDATAA(void)
{
/* NOTIFYICONDATAA (pack 1) */
- TEST_TYPE(NOTIFYICONDATAA, 88, 1);
TEST_FIELD(NOTIFYICONDATAA, DWORD, cbSize, 0, 4, 1);
TEST_FIELD(NOTIFYICONDATAA, HWND, hWnd, 4, 4, 1);
TEST_FIELD(NOTIFYICONDATAA, UINT, uID, 8, 4, 1);
TEST_FIELD(NOTIFYICONDATAA, UINT, uFlags, 12, 4, 1);
TEST_FIELD(NOTIFYICONDATAA, UINT, uCallbackMessage, 16, 4, 1);
TEST_FIELD(NOTIFYICONDATAA, HICON, hIcon, 20, 4, 1);
- TEST_FIELD(NOTIFYICONDATAA, CHAR[64], szTip, 24, 64, 1);
+ TEST_FIELD(NOTIFYICONDATAA, CHAR[128], szTip, 24, 128, 1);
+ TEST_FIELD(NOTIFYICONDATAA, DWORD, dwState, 152, 4, 1);
+ TEST_FIELD(NOTIFYICONDATAA, DWORD, dwStateMask, 156, 4, 1);
+ TEST_FIELD(NOTIFYICONDATAA, CHAR[256], szInfo, 160, 256, 1);
}
static void test_pack_NOTIFYICONDATAW(void)
{
/* NOTIFYICONDATAW (pack 1) */
- TEST_TYPE(NOTIFYICONDATAW, 152, 1);
TEST_FIELD(NOTIFYICONDATAW, DWORD, cbSize, 0, 4, 1);
TEST_FIELD(NOTIFYICONDATAW, HWND, hWnd, 4, 4, 1);
TEST_FIELD(NOTIFYICONDATAW, UINT, uID, 8, 4, 1);
TEST_FIELD(NOTIFYICONDATAW, UINT, uFlags, 12, 4, 1);
TEST_FIELD(NOTIFYICONDATAW, UINT, uCallbackMessage, 16, 4, 1);
TEST_FIELD(NOTIFYICONDATAW, HICON, hIcon, 20, 4, 1);
- TEST_FIELD(NOTIFYICONDATAW, WCHAR[64], szTip, 24, 128, 1);
+ TEST_FIELD(NOTIFYICONDATAW, WCHAR[128], szTip, 24, 256, 1);
+ TEST_FIELD(NOTIFYICONDATAW, DWORD, dwState, 280, 4, 1);
+ TEST_FIELD(NOTIFYICONDATAW, DWORD, dwStateMask, 284, 4, 1);
+ TEST_FIELD(NOTIFYICONDATAW, WCHAR[256], szInfo, 288, 512, 1);
}
static void test_pack_PAPPBARDATA(void)
@@ -684,14 +673,12 @@
{
/* PNOTIFYICONDATAA */
TEST_TYPE(PNOTIFYICONDATAA, 4, 4);
- TEST_TYPE_POINTER(PNOTIFYICONDATAA, 88, 1);
}
static void test_pack_PNOTIFYICONDATAW(void)
{
/* PNOTIFYICONDATAW */
TEST_TYPE(PNOTIFYICONDATAW, 4, 4);
- TEST_TYPE_POINTER(PNOTIFYICONDATAW, 152, 1);
}
static void test_pack_PRINTEROP_FLAGS(void)
--
Francois Gouget fgouget at free.fr http://fgouget.free.fr/
"Only wimps use tape backup: _real_ men just upload their important stuff on
ftp, and let the rest of the world mirror it ;)" -- Linus Torvalds
More information about the wine-patches
mailing list