Wine-20050830 vendor drop Modified: vendor/wine/dlls/cabinet/current/cabinet.h Modified: vendor/wine/dlls/cabinet/current/cabinet.spec Modified: vendor/wine/dlls/cabinet/current/cabinet_main.c Modified: vendor/wine/dlls/comctl32/current/Makefile.in Modified: vendor/wine/dlls/comctl32/current/animate.c Modified: vendor/wine/dlls/comctl32/current/comboex.c Modified: vendor/wine/dlls/comctl32/current/comctl32.h Modified: vendor/wine/dlls/comctl32/current/comctl32.spec Modified: vendor/wine/dlls/comctl32/current/comctl32undoc.c Modified: vendor/wine/dlls/comctl32/current/commctrl.c Modified: vendor/wine/dlls/comctl32/current/datetime.c Modified: vendor/wine/dlls/comctl32/current/dpa.c Modified: vendor/wine/dlls/comctl32/current/header.c Modified: vendor/wine/dlls/comctl32/current/imagelist.c Modified: vendor/wine/dlls/comctl32/current/ipaddress.c Modified: vendor/wine/dlls/comctl32/current/listview.c Modified: vendor/wine/dlls/comctl32/current/monthcal.c Modified: vendor/wine/dlls/comctl32/current/progress.c Modified: vendor/wine/dlls/comctl32/current/propsheet.c Modified: vendor/wine/dlls/comctl32/current/rebar.c Modified: vendor/wine/dlls/comctl32/current/status.c Modified: vendor/wine/dlls/comctl32/current/tab.c Modified: vendor/wine/dlls/comctl32/current/toolbar.c Modified: vendor/wine/dlls/comctl32/current/tooltips.c Modified: vendor/wine/dlls/comctl32/current/trackbar.c Modified: vendor/wine/dlls/comctl32/current/treeview.c Modified: vendor/wine/dlls/commdlg/current/cdlg32.c Modified: vendor/wine/dlls/commdlg/current/filedlg.c Modified: vendor/wine/dlls/commdlg/current/filedlgbrowser.c Modified: vendor/wine/dlls/commdlg/current/filedlgbrowser.h Modified: vendor/wine/dlls/commdlg/current/printdlg.c Modified: vendor/wine/dlls/dinput8/current/Makefile.in Modified: vendor/wine/dlls/dinput8/current/dinput8.spec Modified: vendor/wine/dlls/dinput8/current/dinput8_main.c Modified: vendor/wine/dlls/dsound/current/capture.c Modified: vendor/wine/dlls/dsound/current/dsound_main.c Modified: vendor/wine/dlls/dsound/current/mixer.c Modified: vendor/wine/dlls/dsound/current/primary.c Modified: vendor/wine/dlls/icmp/current/icmp_main.c Modified: vendor/wine/dlls/midimap/current/midimap.spec Modified: vendor/wine/dlls/mpr/current/mpr.spec Modified: vendor/wine/dlls/mpr/current/mpr_main.c Modified: vendor/wine/dlls/msi/current/action.c Modified: vendor/wine/dlls/msi/current/action.h Modified: vendor/wine/dlls/msi/current/classes.c Modified: vendor/wine/dlls/msi/current/create.c Modified: vendor/wine/dlls/msi/current/custom.c Modified: vendor/wine/dlls/msi/current/delete.c Modified: vendor/wine/dlls/msi/current/events.c Modified: vendor/wine/dlls/msi/current/files.c Modified: vendor/wine/dlls/msi/current/format.c Modified: vendor/wine/dlls/msi/current/helpers.c Modified: vendor/wine/dlls/msi/current/insert.c Modified: vendor/wine/dlls/msi/current/install.c Modified: vendor/wine/dlls/msi/current/msi.c Modified: vendor/wine/dlls/msi/current/msi.spec Modified: vendor/wine/dlls/msi/current/msipriv.h Modified: vendor/wine/dlls/msi/current/msiquery.c Modified: vendor/wine/dlls/msi/current/package.c Modified: vendor/wine/dlls/msi/current/regsvr.c Modified: vendor/wine/dlls/msi/current/select.c Modified: vendor/wine/dlls/msi/current/table.c Modified: vendor/wine/dlls/msimg32/current/msimg32.spec Modified: vendor/wine/dlls/ole32/current/antimoniker.c Modified: vendor/wine/dlls/ole32/current/compobj.c Modified: vendor/wine/dlls/ole32/current/compobj.spec Modified: vendor/wine/dlls/ole32/current/compobj_private.h Modified: vendor/wine/dlls/ole32/current/compositemoniker.c Modified: vendor/wine/dlls/ole32/current/datacache.c Modified: vendor/wine/dlls/ole32/current/defaulthandler.c Modified: vendor/wine/dlls/ole32/current/errorinfo.c Modified: vendor/wine/dlls/ole32/current/filemoniker.c Modified: vendor/wine/dlls/ole32/current/ftmarshal.c Modified: vendor/wine/dlls/ole32/current/ifs.h Modified: vendor/wine/dlls/ole32/current/itemmoniker.c Modified: vendor/wine/dlls/ole32/current/marshal.c Modified: vendor/wine/dlls/ole32/current/moniker.c Modified: vendor/wine/dlls/ole32/current/moniker.h Modified: vendor/wine/dlls/ole32/current/ole16.c Modified: vendor/wine/dlls/ole32/current/ole2.c Modified: vendor/wine/dlls/ole32/current/ole2.spec Modified: vendor/wine/dlls/ole32/current/ole2_16.c Modified: vendor/wine/dlls/ole32/current/ole32.spec Modified: vendor/wine/dlls/ole32/current/oleproxy.c Modified: vendor/wine/dlls/ole32/current/stg_prop.c Modified: vendor/wine/dlls/ole32/current/storage.c Modified: vendor/wine/dlls/ole32/current/storage.spec Modified: vendor/wine/dlls/ole32/current/storage32.c Modified: vendor/wine/dlls/oleaut32/current/oleaut.c Modified: vendor/wine/dlls/oleaut32/current/oleaut32.spec Modified: vendor/wine/dlls/oleaut32/current/olefont.c Modified: vendor/wine/dlls/oleaut32/current/olepicture.c Modified: vendor/wine/dlls/oleaut32/current/regsvr.c Modified: vendor/wine/dlls/oleaut32/current/safearray.c Modified: vendor/wine/dlls/oleaut32/current/tmarshal.c Modified: vendor/wine/dlls/oleaut32/current/typelib.c Modified: vendor/wine/dlls/oleaut32/current/typelib.h Modified: vendor/wine/dlls/oleaut32/current/typelib2.c Modified: vendor/wine/dlls/oleaut32/current/varformat.c Modified: vendor/wine/dlls/oleaut32/current/variant.c [truncated at 100 lines; 82 more skipped] _____
Modified: vendor/wine/dlls/cabinet/current/cabinet.h --- vendor/wine/dlls/cabinet/current/cabinet.h 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet.h 2005-09-05 08:17:08 UTC (rev 17655) @@ -324,15 +324,15 @@
cab_ULONG cDataBlocks; cab_ULONG cbFileRemainer; /* uncompressed, yet to be written data */ /* of spanned file of a spanning folder of a spanning cabinet */ - cab_UBYTE szFileNameCFDATA1[CB_MAX_FILENAME]; + char szFileNameCFDATA1[CB_MAX_FILENAME]; int handleCFDATA1; - cab_UBYTE szFileNameCFFILE1[CB_MAX_FILENAME]; + char szFileNameCFFILE1[CB_MAX_FILENAME]; int handleCFFILE1; - cab_UBYTE szFileNameCFDATA2[CB_MAX_FILENAME]; + char szFileNameCFDATA2[CB_MAX_FILENAME]; int handleCFDATA2; - cab_UBYTE szFileNameCFFILE2[CB_MAX_FILENAME]; + char szFileNameCFFILE2[CB_MAX_FILENAME]; int handleCFFILE2; - cab_UBYTE szFileNameCFFOLDER[CB_MAX_FILENAME]; + char szFileNameCFFOLDER[CB_MAX_FILENAME]; int handleCFFOLDER; cab_ULONG sizeFileCFDATA1; cab_ULONG sizeFileCFFILE1; _____
Modified: vendor/wine/dlls/cabinet/current/cabinet.spec --- vendor/wine/dlls/cabinet/current/cabinet.spec 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet.spec 2005-09-05 08:17:08 UTC (rev 17655) @@ -1,5 +1,5 @@
1 stub GetDllVersion -2 stdcall DllGetVersion (ptr) CABINET_DllGetVersion +2 stdcall -private DllGetVersion (ptr) 3 stdcall Extract(ptr str) 4 stub DeleteExtractedFiles 10 cdecl FCICreate(ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr) _____
Modified: vendor/wine/dlls/cabinet/current/cabinet_main.c --- vendor/wine/dlls/cabinet/current/cabinet_main.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/cabinet/current/cabinet_main.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -52,7 +52,7 @@
* NOTES * Supposedly returns version from IE6SP1RP1 */ -HRESULT WINAPI CABINET_DllGetVersion (DLLVERSIONINFO *pdvi) +HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *pdvi) { WARN("hmmm... not right version number "5.1.1106.1"?\n");
_____
Modified: vendor/wine/dlls/comctl32/current/Makefile.in --- vendor/wine/dlls/comctl32/current/Makefile.in 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/Makefile.in 2005-09-05 08:17:08 UTC (rev 17655) @@ -31,10 +31,15 @@
propsheet.c \ rebar.c \ smoothscroll.c \ + status.c \ string.c \ - status.c \ syslink.c \ tab.c \ + theme_combo.c \ + theme_dialog.c \ + theme_edit.c \ + theme_listbox.c \ + theming.c \ toolbar.c \ tooltips.c \ trackbar.c \ _____
Modified: vendor/wine/dlls/comctl32/current/animate.c --- vendor/wine/dlls/comctl32/current/animate.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/animate.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -53,7 +53,7 @@
HMODULE hModule; HIC (WINAPI *fnICOpen)(DWORD, DWORD, UINT); LRESULT (WINAPI *fnICClose)(HIC); - LRESULT (WINAPI *fnICSendMessage)(HIC, UINT, DWORD, DWORD); + LRESULT (WINAPI *fnICSendMessage)(HIC, UINT, DWORD_PTR, DWORD_PTR); DWORD (WINAPIV *fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER, LPVOID); } fnIC;
@@ -139,7 +139,8 @@ { infoPtr->hMMio = mmioOpenW(lpName, 0, MMIO_ALLOCBUF | MMIO_READ | MMIO_DENYWRITE);
- return (BOOL)infoPtr->hMMio; + if(!infoPtr->hMMio) return FALSE; + return TRUE; }
@@ -655,14 +656,14 @@ }
outSize = fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT, - (DWORD)infoPtr->inbih, 0L); + (DWORD_PTR)infoPtr->inbih, 0L);
infoPtr->outbih = Alloc(outSize); if (!infoPtr->outbih) return FALSE;
if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_GET_FORMAT, - (DWORD)infoPtr->inbih, (DWORD)infoPtr->outbih) != outSize) + (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != outSize) { WARN("Can't get output BIH\n"); return FALSE; @@ -673,7 +674,7 @@ return FALSE;
if (fnIC.fnICSendMessage(infoPtr->hic, ICM_DECOMPRESS_BEGIN, - (DWORD)infoPtr->inbih, (DWORD)infoPtr->outbih) != ICERR_OK) { + (DWORD_PTR)infoPtr->inbih, (DWORD_PTR)infoPtr->outbih) != ICERR_OK) { WARN("Can't begin decompression\n"); return FALSE; } @@ -696,10 +697,10 @@ if (!hInstance) hInstance = (HINSTANCE)GetWindowLongPtrW(infoPtr->hwndSelf, GWLP_HINSTANCE);
- if (HIWORD(lpszName)) - { - TRACE("("%s");\n", debugstr_w(lpszName)); + TRACE("(%s)\n", debugstr_w(lpszName));
+ if (HIWORD(lpszName)) + { if (!ANIMATE_LoadResW(infoPtr, hInstance, lpszName)) { TRACE("No AVI resource found!\n"); @@ -712,9 +713,7 @@ } else { - TRACE("(%u);\n", (WORD)(DWORD)lpszName); - - if (!ANIMATE_LoadResW(infoPtr, hInstance, MAKEINTRESOURCEW((INT)lpszName))) + if (!ANIMATE_LoadResW(infoPtr, hInstance, lpszName)) { WARN("No AVI resource found!\n"); return FALSE; _____
Modified: vendor/wine/dlls/comctl32/current/comboex.c --- vendor/wine/dlls/comctl32/current/comboex.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comboex.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -839,10 +839,10 @@
}
-static DWORD COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index) +static DWORD_PTR COMBOEX_GetItemData (COMBOEX_INFO *infoPtr, INT index) { CBE_ITEMDATA *item1, *item2; - DWORD ret = 0; + DWORD_PTR ret = 0;
item1 = get_item_data(infoPtr, index); if ((item1 != NULL) && ((LRESULT)item1 != CB_ERR)) { @@ -854,7 +854,7 @@ if (item1->mask & CBEIF_LPARAM) ret = item1->lParam; TRACE("returning 0x%08lx\n", ret); } else { - ret = (DWORD)item1; + ret = (DWORD_PTR)item1; TRACE("non-valid result from combo, returning 0x%08lx\n", ret); } return ret; @@ -878,7 +878,7 @@ }
-static DWORD COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT index, DWORD data) +static DWORD_PTR COMBOEX_SetItemData (COMBOEX_INFO *infoPtr, INT index, DWORD_PTR data) { CBE_ITEMDATA *item1, *item2;
@@ -894,8 +894,8 @@ TRACE("setting lparam to 0x%08lx\n", data); return 0; } - TRACE("non-valid result from combo 0x%08lx\n", (DWORD)item1); - return (LRESULT)item1; + TRACE("non-valid result from combo %p\n", item1); + return (DWORD_PTR)item1; }
@@ -1136,10 +1136,10 @@ n = SendMessageW (infoPtr->hwndCombo, CB_GETCOUNT, 0, 0); for (cursel = 0; cursel < n; cursel++){ item = get_item_data(infoPtr, cursel); - if ((INT)item == CB_ERR) break; + if ((INT_PTR)item == CB_ERR) break; if (!cmptext(COMBOEX_GetText(infoPtr, item), wintext)) break; } - if ((cursel == n) || ((INT)item == CB_ERR)) { + if ((cursel == n) || ((INT_PTR)item == CB_ERR)) { TRACE("failed to find match??? item=%p cursel=%d\n", item, cursel); if (infoPtr->hwndEdit) @@ -1149,7 +1149,7 @@ } else { item = get_item_data(infoPtr, cursel); - if ((INT)item == CB_ERR) { + if ((INT_PTR)item == CB_ERR) { TRACE("failed to find match??? item=%p cursel=%d\n", item, cursel); if (infoPtr->hwndEdit) @@ -2223,7 +2223,7 @@ return COMBOEX_SetCursel (infoPtr, (INT)wParam);
case CB_SETITEMDATA: - return COMBOEX_SetItemData (infoPtr, (INT)wParam, (DWORD)lParam); + return COMBOEX_SetItemData (infoPtr, (INT)wParam, (DWORD_PTR)lParam);
case CB_SETITEMHEIGHT: return COMBOEX_SetItemHeight (infoPtr, (INT)wParam, (UINT)lParam); _____
Modified: vendor/wine/dlls/comctl32/current/comctl32.h --- vendor/wine/dlls/comctl32/current/comctl32.h 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32.h 2005-09-05 08:17:08 UTC (rev 17655) @@ -249,4 +249,8 @@
to->wMilliseconds = from->wMilliseconds; }
+extern void THEMING_Initialize(void); +extern LRESULT THEMING_CallOriginalClass(HWND, UINT, WPARAM, LPARAM); +extern void THEMING_SetSubclassData(HWND, ULONG_PTR); + #endif /* __WINE_COMCTL32_H */ _____
Modified: vendor/wine/dlls/comctl32/current/comctl32.spec --- vendor/wine/dlls/comctl32/current/comctl32.spec 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32.spec 2005-09-05 08:17:08 UTC (rev 17655) @@ -123,8 +123,8 @@
@ stdcall CreateStatusWindowW(long wstr long long) @ stdcall CreateToolbarEx(long long long long long long ptr long long long long long long) @ stdcall DestroyPropertySheetPage(long) -@ stdcall DllGetVersion(ptr) COMCTL32_DllGetVersion -@ stdcall DllInstall(long ptr) COMCTL32_DllInstall +@ stdcall -private DllGetVersion(ptr) +@ stdcall -private DllInstall(long wstr) @ stdcall DrawStatusText(long ptr ptr long) DrawStatusTextA @ stdcall DrawStatusTextW(long ptr wstr long) @ stdcall FlatSB_EnableScrollBar (long long long) _____
Modified: vendor/wine/dlls/comctl32/current/comctl32undoc.c --- vendor/wine/dlls/comctl32/current/comctl32undoc.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/comctl32undoc.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -274,7 +274,6 @@
HKEY newkey; WCHAR realname[2]; LPWINEMRUITEM witem; - static const WCHAR emptyW[] = {'\0'};
/* or should we do the following instead of RegOpenKeyEx: */ @@ -287,7 +286,7 @@ err); if ((err = RegCreateKeyExW( mp->extview.hKey, mp->extview.lpszSubKey, 0, - emptyW, + NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, 0, @@ -653,7 +652,6 @@ WCHAR realname[2]; LPWINEMRUITEM witem; DWORD type; - static const WCHAR emptyW[] = {'\0'};
/* get space to save indices that will turn into names * but in order of most to least recently used @@ -668,16 +666,16 @@ /* open the sub key */ if ((err = RegCreateKeyExW( mp->extview.hKey, mp->extview.lpszSubKey, 0, - emptyW, + NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WRITE, 0, &newkey, &dwdisp))) { /* error - what to do ??? */ - ERR("(%lu %lu %lx %lx "%s" %p): Could not open key, error=%d\n", + ERR("(%lu %lu %lx %p %s %p): Could not open key, error=%d\n", mp->extview.cbSize, mp->extview.nMaxItems, mp->extview.dwFlags, - (DWORD)mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), + mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), mp->extview.lpfnCompare, err); return 0; } @@ -718,9 +716,9 @@ else mp->cursize = 0;
- TRACE("(%lu %lu %lx %lx "%s" %p): Current Size = %ld\n", + TRACE("(%lu %lu %lx %p %s %p): Current Size = %ld\n", mp->extview.cbSize, mp->extview.nMaxItems, mp->extview.dwFlags, - (DWORD)mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), + mp->extview.hKey, debugstr_w(mp->extview.lpszSubKey), mp->extview.lpfnCompare, mp->cursize); return (HANDLE)mp; } _____
Modified: vendor/wine/dlls/comctl32/current/commctrl.c --- vendor/wine/dlls/comctl32/current/commctrl.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/commctrl.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -119,7 +119,7 @@
COMCTL32_hModule = (HMODULE)hinstDLL;
/* add global subclassing atom (used by 'tooltip' and 'updown') */ - COMCTL32_wSubclass = (LPWSTR)(DWORD)GlobalAddAtomW (strCC32SubclassInfo); + COMCTL32_wSubclass = (LPWSTR)(DWORD_PTR)GlobalAddAtomW (strCC32SubclassInfo); TRACE("Subclassing atom added: %p\n", COMCTL32_wSubclass);
/* create local pattern brush */ @@ -144,6 +144,9 @@ TRACKBAR_Register (); TREEVIEW_Register (); UPDOWN_Register (); + + /* subclass user32 controls */ + THEMING_Initialize (); break;
case DLL_PROCESS_DETACH: @@ -305,7 +308,7 @@ */
BOOL WINAPI -ShowHideMenuCtl (HWND hwnd, UINT uFlags, LPINT lpInfo) +ShowHideMenuCtl (HWND hwnd, UINT_PTR uFlags, LPINT lpInfo) { LPINT lpMenuId;
@@ -322,9 +325,9 @@ while (*lpMenuId != uFlags) lpMenuId += 2;
- if (GetMenuState ((HMENU)lpInfo[1], uFlags, MF_BYCOMMAND) & MFS_CHECKED) { + if (GetMenuState ((HMENU)(DWORD_PTR)lpInfo[1], uFlags, MF_BYCOMMAND) & MFS_CHECKED) { /* uncheck menu item */ - CheckMenuItem ((HMENU)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_UNCHECKED); + CheckMenuItem ((HMENU)(DWORD_PTR)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_UNCHECKED);
/* hide control */ lpMenuId++; @@ -333,7 +336,7 @@ } else { /* check menu item */ - CheckMenuItem ((HMENU)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_CHECKED); + CheckMenuItem ((HMENU)(DWORD_PTR)lpInfo[0], *lpMenuId, MF_BYCOMMAND | MF_CHECKED);
/* show control */ lpMenuId++; @@ -373,8 +376,8 @@ INT *lpRun; HWND hwndCtrl;
- TRACE("(0x%08lx 0x%08lx 0x%08lx)\n", - (DWORD)hwnd, (DWORD)lpRect, (DWORD)lpInfo); + TRACE("(%p %p %p)\n", + hwnd, lpRect, lpInfo);
GetClientRect (hwnd, lpRect); lpRun = lpInfo; @@ -503,7 +506,7 @@ return CreateWindowA(STATUSCLASSNAMEA, text, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - parent, (HMENU)wid, 0, 0); + parent, (HMENU)(DWORD_PTR)wid, 0, 0); }
@@ -529,7 +532,7 @@ return CreateWindowW(STATUSCLASSNAMEW, text, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, - parent, (HMENU)wid, 0, 0); + parent, (HMENU)(DWORD_PTR)wid, 0, 0); }
@@ -564,7 +567,7 @@ { HWND hUD = CreateWindowW (UPDOWN_CLASSW, 0, style, x, y, cx, cy, - parent, (HMENU)id, inst, 0); + parent, (HMENU)(DWORD_PTR)id, inst, 0); if (hUD) { SendMessageW (hUD, UDM_SETBUDDY, (WPARAM)buddy, 0); SendMessageW (hUD, UDM_SETRANGE, 0, MAKELONG(maxVal, minVal)); @@ -725,7 +728,7 @@
hwndTB = CreateWindowExW(0, TOOLBARCLASSNAMEW, NULL, style|WS_CHILD, 0,0,100,30, - hwnd, (HMENU)wID, COMCTL32_hModule, NULL); + hwnd, (HMENU)(DWORD_PTR)wID, COMCTL32_hModule, NULL); if(hwndTB) { TBADDBITMAP tbab;
@@ -784,7 +787,7 @@ */
HBITMAP WINAPI -CreateMappedBitmap (HINSTANCE hInstance, INT idBitmap, UINT wFlags, +CreateMappedBitmap (HINSTANCE hInstance, INT_PTR idBitmap, UINT wFlags, LPCOLORMAP lpColorMap, INT iNumMaps) { HGLOBAL hglb; @@ -931,8 +934,7 @@ * Returns version of a comctl32.dll from IE4.01 SP1. */
-HRESULT WINAPI -COMCTL32_DllGetVersion (DLLVERSIONINFO *pdvi) +HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *pdvi) { if (pdvi->cbSize != sizeof(DLLVERSIONINFO)) { WARN("wrong DLLVERSIONINFO size from app\n"); @@ -960,7 +962,7 @@ * Success: S_OK * Failure: A HRESULT error */ -HRESULT WINAPI COMCTL32_DllInstall(BOOL bInstall, LPCWSTR cmdline) +HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline) { FIXME("(%s, %s): stub\n", bInstall?"TRUE":"FALSE", debugstr_w(cmdline)); _____
Modified: vendor/wine/dlls/comctl32/current/datetime.c --- vendor/wine/dlls/comctl32/current/datetime.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/datetime.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -1164,6 +1164,15 @@
static LRESULT +DATETIME_SetFont (DATETIME_INFO *infoPtr, HFONT font, BOOL repaint) +{ + infoPtr->hFont = font; + if (repaint) InvalidateRect(infoPtr->hwndSelf, NULL, TRUE); + return 0; +} + + +static LRESULT DATETIME_Create (HWND hwnd, LPCREATESTRUCTW lpcs) { static const WCHAR SysMonthCal32W[] = { 'S', 'y', 's', 'M', 'o', 'n', 't', 'h', 'C', 'a', 'l', '3', '2', 0 }; @@ -1314,6 +1323,12 @@ case WM_STYLECHANGED: return DATETIME_StyleChanged(infoPtr, wParam, (LPSTYLESTRUCT)lParam);
+ case WM_SETFONT: + return DATETIME_SetFont(infoPtr, (HFONT)wParam, (BOOL)lParam); + + case WM_GETFONT: + return (LRESULT) infoPtr->hFont; + default: if ((uMsg >= WM_USER) && (uMsg < WM_APP)) ERR("unknown msg %04x wp=%08x lp=%08lx\n", _____
Modified: vendor/wine/dlls/comctl32/current/dpa.c --- vendor/wine/dlls/comctl32/current/dpa.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/dpa.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -787,11 +787,6 @@
* RETURNS * Success: index of the pointer in the array. * Failure: -1 - * - * NOTES - * Binary search taken from R.Sedgewick "Algorithms in C"! - * Function is NOT tested! - * If something goes wrong, blame HIM not ME! (Eric Kohl) */ INT WINAPI DPA_Search (const HDPA hdpa, LPVOID pFind, INT nStart, PFNDPACOMPARE pfnCompare, LPARAM lParam, UINT uOptions) @@ -807,47 +802,34 @@ INT l, r, x, n; LPVOID *lpPtr;
- TRACE("binary search\n"); - l = (nStart == -1) ? 0 : nStart; r = hdpa->nItemCount - 1; lpPtr = hdpa->ptrs; while (r >= l) { x = (l + r) / 2; n = (pfnCompare)(pFind, lpPtr[x], lParam); - if (n < 0) + if (n == 0) + return x; + else if (n < 0) r = x - 1; - else + else /* (n > 0) */ l = x + 1; - if (n == 0) { - TRACE("-- ret=%d\n", n); - return n; - } } - - if (uOptions & (DPAS_INSERTBEFORE | DPAS_INSERTAFTER)) { - TRACE("-- ret=%d\n", l); - return l; - } + if (uOptions & (DPAS_INSERTBEFORE|DPAS_INSERTAFTER)) return l; } else { /* array is not sorted --> use linear search */ LPVOID *lpPtr; INT nIndex;
- TRACE("linear search\n"); - nIndex = (nStart == -1)? 0 : nStart; lpPtr = hdpa->ptrs; for (; nIndex < hdpa->nItemCount; nIndex++) { - if ((pfnCompare)(pFind, lpPtr[nIndex], lParam) == 0) { - TRACE("-- ret=%d\n", nIndex); + if ((pfnCompare)(pFind, lpPtr[nIndex], lParam) == 0) return nIndex; - } } }
- TRACE("-- not found: ret=-1\n"); return -1; }
_____
Modified: vendor/wine/dlls/comctl32/current/header.c --- vendor/wine/dlls/comctl32/current/header.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/header.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -87,6 +87,7 @@
HIMAGELIST himl; /* handle to an image list (may be 0) */ HEADER_ITEM *items; /* pointer to array of HEADER_ITEM's */ + INT *order; /* array of item IDs indexed by order */ BOOL bRectsValid; /* validity flag for bounding rectangles */ } HEADER_INFO;
@@ -113,14 +114,10 @@ { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); INT iorder = (INT)wParam; - UINT i;
- if ((iorder <0) || iorder >infoPtr->uNumItem) + if ((iorder <0) || iorder >= infoPtr->uNumItem) return iorder; - for (i=0; i<infoPtr->uNumItem; i++) - if (HEADER_IndexToOrder(hwnd,i) == iorder) - return i; - return iorder; + return infoPtr->order[iorder]; }
static void @@ -339,7 +336,7 @@ }
DeleteObject(hClipRgn); - DeleteDC(hClipDC); + ReleaseDC(hwnd, hClipDC); }
if (((phdi->fmt & HDF_STRING) @@ -385,7 +382,7 @@ }
x = rect.left; - for (i = 0; i < infoPtr->uNumItem; i++) { + for (i = 0; x <= rect.right && i < infoPtr->uNumItem; i++) { x = HEADER_DrawItem (hwnd, hdc, HEADER_OrderToIndex(hwnd,i), infoPtr->iHotItem == i); } @@ -416,7 +413,7 @@
hFont = infoPtr->hFont ? infoPtr->hFont : GetStockObject (SYSTEM_FONT); hOldFont = SelectObject (hdc, hFont); - HEADER_DrawItem (hwnd, hdc, iItem, FALSE); + HEADER_DrawItem (hwnd, hdc, iItem, infoPtr->iHotItem == iItem); SelectObject (hdc, hOldFont); }
@@ -647,16 +644,19 @@ if (infoPtr->items[0].pszText) Free (infoPtr->items[0].pszText); Free (infoPtr->items); + Free(infoPtr->order); infoPtr->items = 0; + infoPtr->order = 0; infoPtr->uNumItem = 0; } else { HEADER_ITEM *oldItems = infoPtr->items; - HEADER_ITEM *pItem; INT i; INT iOrder; TRACE("Complex delete! [iItem=%d]\n", iItem);
+ for (i = 0; i < infoPtr->uNumItem; i++) + TRACE("%d: order=%d, iOrder=%d, ->iOrder=%d\n", i, infoPtr->order[i], infoPtr->items[i].iOrder, infoPtr->items[infoPtr->order[i]].iOrder); if (infoPtr->items[iItem].pszText) Free (infoPtr->items[iItem].pszText); iOrder = infoPtr->items[iItem].iOrder; @@ -676,11 +676,21 @@ }
/* Correct the orders */ - for (i=infoPtr->uNumItem, pItem = infoPtr->items; i; i--, pItem++) + if (iOrder < infoPtr->uNumItem) { - if (pItem->iOrder > iOrder) - pItem->iOrder--; + memmove(&infoPtr->order[iOrder], &infoPtr->order[iOrder + 1], + (infoPtr->uNumItem - iOrder) * sizeof(INT)); + for (i = 0; i < infoPtr->uNumItem; i++) + { + if (infoPtr->order[i] > iItem) + infoPtr->order[i]--; + if (i >= iOrder) + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } } + + for (i = 0; i < infoPtr->uNumItem; i++) + TRACE("%d: order=%d, iOrder=%d, ->iOrder=%d\n", i, infoPtr->order[i], infoPtr->items[i].iOrder, infoPtr->items[infoPtr->order[i]].iOrder); Free (oldItems); }
@@ -850,14 +860,13 @@ static LRESULT HEADER_GetOrderArray(HWND hwnd, WPARAM wParam, LPARAM lParam) { - int i; LPINT order = (LPINT) lParam; HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd);
if ((unsigned int)wParam <infoPtr->uNumItem) return FALSE; - for (i=0; i<(int)wParam; i++) - *order++=HEADER_OrderToIndex(hwnd,i); + + memcpy(order, infoPtr->order, infoPtr->uNumItem * sizeof(INT)); return TRUE; }
@@ -871,6 +880,7 @@
if ((unsigned int)wParam <infoPtr->uNumItem) return FALSE; + memcpy(infoPtr->order, order, infoPtr->uNumItem * sizeof(INT)); for (i=0; i<(int)wParam; i++) { lpItem = &infoPtr->items[*order++]; @@ -923,10 +933,12 @@
if (infoPtr->uNumItem == 0) { infoPtr->items = Alloc (sizeof (HEADER_ITEM)); + infoPtr->order = Alloc(sizeof(INT)); infoPtr->uNumItem++; } else { HEADER_ITEM *oldItems = infoPtr->items; + INT *oldOrder = infoPtr->order;
infoPtr->uNumItem++; infoPtr->items = Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem); @@ -949,13 +961,21 @@ } }
+ infoPtr->order = Alloc(sizeof(INT) * infoPtr->uNumItem); + memcpy(infoPtr->order, oldOrder, iOrder * sizeof(INT)); + infoPtr->order[iOrder] = nItem; + memcpy(&infoPtr->order[iOrder + 1], &oldOrder[iOrder], + (infoPtr->uNumItem - iOrder - 1) * sizeof(INT)); + Free (oldItems); + Free(oldOrder); }
- for (i=0; i < infoPtr->uNumItem; i++) + for (i = 0; i < infoPtr->uNumItem; i++) { - if (infoPtr->items[i].iOrder >= iOrder) - infoPtr->items[i].iOrder++; + if (i != iOrder && infoPtr->order[i] >= nItem) + infoPtr->order[i]++; + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; }
lpItem = &infoPtr->items[nItem]; @@ -1025,10 +1045,12 @@
if (infoPtr->uNumItem == 0) { infoPtr->items = Alloc (sizeof (HEADER_ITEM)); + infoPtr->order = Alloc(sizeof(INT)); infoPtr->uNumItem++; } else { HEADER_ITEM *oldItems = infoPtr->items; + INT *oldOrder = infoPtr->order;
infoPtr->uNumItem++; infoPtr->items = Alloc (sizeof (HEADER_ITEM) * infoPtr->uNumItem); @@ -1051,13 +1073,21 @@ } }
+ infoPtr->order = Alloc(infoPtr->uNumItem * sizeof(INT)); + memcpy(infoPtr->order, oldOrder, iOrder * sizeof(INT)); + infoPtr->order[iOrder] = nItem; + memcpy(&infoPtr->order[iOrder + 1], &oldOrder[iOrder], + (infoPtr->uNumItem - iOrder - 1) * sizeof(INT)); + Free (oldItems); + Free(oldOrder); }
- for (i=0; i < infoPtr->uNumItem; i++) + for (i = 0; i < infoPtr->uNumItem; i++) { - if (infoPtr->items[i].iOrder >= iOrder) - infoPtr->items[i].iOrder++; + if (i != iOrder && infoPtr->order[i] >= nItem) + infoPtr->order[i]++; + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; }
lpItem = &infoPtr->items[nItem]; @@ -1143,7 +1173,7 @@ HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); HIMAGELIST himlOld;
- TRACE("(himl 0x%x)\n", (int)himl); + TRACE("(himl %p)\n", himl); himlOld = infoPtr->himl; infoPtr->himl = himl;
@@ -1224,7 +1254,27 @@
if (phdi->mask & HDI_ORDER) { - lpItem->iOrder = phdi->iOrder; + INT i, nMin, nMax; + + if (lpItem->iOrder < phdi->iOrder) + { + memmove(&infoPtr->order[lpItem->iOrder], + &infoPtr->order[lpItem->iOrder + 1], + (phdi->iOrder - lpItem->iOrder) * sizeof(INT)); + } + if (phdi->iOrder < lpItem->iOrder) + { + memmove(&infoPtr->order[phdi->iOrder + 1], + &infoPtr->order[phdi->iOrder], + (lpItem->iOrder - phdi->iOrder) * sizeof(INT)); + } + infoPtr->order[phdi->iOrder] = nItem; + nMin = min(lpItem->iOrder, phdi->iOrder); + nMax = max(lpItem->iOrder, phdi->iOrder); + for (i = nMin; i <= nMax; i++) + { + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } }
HEADER_SendHeaderNotify (hwnd, HDN_ITEMCHANGEDA, nItem, phdi->mask); @@ -1289,7 +1339,27 @@
if (phdi->mask & HDI_ORDER) { - lpItem->iOrder = phdi->iOrder; + INT i, nMin, nMax; + + if (lpItem->iOrder < phdi->iOrder) + { + memmove(&infoPtr->order[lpItem->iOrder], + &infoPtr->order[lpItem->iOrder + 1], + (phdi->iOrder - lpItem->iOrder) * sizeof(INT)); + } + if (phdi->iOrder < lpItem->iOrder) + { + memmove(&infoPtr->order[phdi->iOrder + 1], + &infoPtr->order[phdi->iOrder], + (lpItem->iOrder - phdi->iOrder) * sizeof(INT)); + } + infoPtr->order[phdi->iOrder] = nItem; + nMin = min(lpItem->iOrder, phdi->iOrder); + nMax = max(lpItem->iOrder, phdi->iOrder); + for (i = nMin; i <= nMax; i++) + { + infoPtr->items[infoPtr->order[i]].iOrder = infoPtr->order[i]; + } }
HEADER_SendHeaderNotify(hwnd, HDN_ITEMCHANGEDW, nItem, phdi->mask); @@ -1320,7 +1390,6 @@ TEXTMETRICW tm; HFONT hOldFont; HDC hdc; - BOOL themingActive = IsAppThemed() && IsThemeActive();
infoPtr = (HEADER_INFO *)Alloc (sizeof(HEADER_INFO)); SetWindowLongPtrW (hwnd, 0, (DWORD_PTR)infoPtr); @@ -1329,6 +1398,7 @@ infoPtr->uNumItem = 0; infoPtr->hFont = 0; infoPtr->items = 0; + infoPtr->order = 0; infoPtr->bRectsValid = FALSE; infoPtr->hcurArrow = LoadCursorW (0, (LPWSTR)IDC_ARROW); infoPtr->hcurDivider = LoadCursorW (COMCTL32_hModule, MAKEINTRESOURCEW(IDC_DIVIDER)); @@ -1350,7 +1420,7 @@ SelectObject (hdc, hOldFont); ReleaseDC (0, hdc);
- if (themingActive) OpenThemeData(hwnd, themeClass); + OpenThemeData(hwnd, themeClass);
return 0; } @@ -1373,6 +1443,9 @@ Free (infoPtr->items); }
+ if (infoPtr->order) + Free(infoPtr->order); + if (infoPtr->himl) ImageList_Destroy (infoPtr->himl);
@@ -1506,6 +1579,9 @@ lpItem= &infoPtr->items[infoPtr->iMoveItem]; lpItem->iOrder = newindex;
+ infoPtr->order[oldindex] = nItem; + infoPtr->order[newindex] = infoPtr->iMoveItem; + infoPtr->bRectsValid = FALSE; InvalidateRect(hwnd, NULL, FALSE); /* FIXME: Should some WM_NOTIFY be sent */ @@ -1581,6 +1657,22 @@
static LRESULT +HEADER_MouseLeave (HWND hwnd, WPARAM wParam, LPARAM lParam) +{ + HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); + /* Reset hot-tracked item when mouse leaves control. */ + INT oldHotItem = infoPtr->iHotItem; + HDC hdc = GetDC (hwnd); + + infoPtr->iHotItem = -1; + if (oldHotItem != -1) HEADER_RefreshItem (hwnd, hdc, oldHotItem); + ReleaseDC (hwnd, hdc); + + return 0; +} + + +static LRESULT HEADER_MouseMove (HWND hwnd, WPARAM wParam, LPARAM lParam) { HEADER_INFO *infoPtr = HEADER_GetInfoPtr (hwnd); @@ -1589,28 +1681,35 @@ UINT flags; INT nItem, nWidth; HDC hdc; + /* With theming, hottracking is always enabled */ + BOOL hotTrackEnabled = + ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) + || (GetWindowTheme (hwnd) != NULL); + INT oldHotItem = infoPtr->iHotItem;
pt.x = (INT)(SHORT)LOWORD(lParam); pt.y = (INT)(SHORT)HIWORD(lParam); HEADER_InternalHitTest (hwnd, &pt, &flags, &nItem);
- if ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) { + if (hotTrackEnabled) { if (flags & (HHT_ONHEADER | HHT_ONDIVIDER | HHT_ONDIVOPEN)) infoPtr->iHotItem = nItem; else infoPtr->iHotItem = -1; - InvalidateRect(hwnd, NULL, FALSE); }
if (infoPtr->bCaptured) { if (infoPtr->bPressed) { + BOOL oldState = infoPtr->items[infoPtr->iMoveItem].bDown; if ((nItem == infoPtr->iMoveItem) && (flags == HHT_ONHEADER)) infoPtr->items[infoPtr->iMoveItem].bDown = TRUE; else infoPtr->items[infoPtr->iMoveItem].bDown = FALSE; - hdc = GetDC (hwnd); - HEADER_RefreshItem (hwnd, hdc, infoPtr->iMoveItem); - ReleaseDC (hwnd, hdc); + if (oldState != infoPtr->items[infoPtr->iMoveItem].bDown) { + hdc = GetDC (hwnd); + HEADER_RefreshItem (hwnd, hdc, infoPtr->iMoveItem); + ReleaseDC (hwnd, hdc); + }
TRACE("Moving pressed item %d!\n", infoPtr->iMoveItem); } @@ -1643,8 +1742,18 @@ } }
- if ((dwStyle & HDS_BUTTONS) && (dwStyle & HDS_HOTTRACK)) { - FIXME("hot track support!\n"); + if (hotTrackEnabled) { + TRACKMOUSEEVENT tme; + if (oldHotItem != infoPtr->iHotItem) { + hdc = GetDC (hwnd); + if (oldHotItem != -1) HEADER_RefreshItem (hwnd, hdc, oldHotItem); + if (infoPtr->iHotItem != -1) HEADER_RefreshItem (hwnd, hdc, infoPtr->iHotItem); + ReleaseDC (hwnd, hdc); + } + tme.cbSize = sizeof( tme ); + tme.dwFlags = TME_LEAVE; + tme.hwndTrack = hwnd; + TrackMouseEvent( &tme ); }
return 0; @@ -1854,6 +1963,9 @@ case WM_LBUTTONUP: return HEADER_LButtonUp (hwnd, wParam, lParam);
+ case WM_MOUSELEAVE: + return HEADER_MouseLeave (hwnd, wParam, lParam); + case WM_MOUSEMOVE: return HEADER_MouseMove (hwnd, wParam, lParam);
_____
Modified: vendor/wine/dlls/comctl32/current/imagelist.c --- vendor/wine/dlls/comctl32/current/imagelist.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/imagelist.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -1084,8 +1084,8 @@
bMask = (himl->flags & ILC_MASK) && (fStyle & ILD_MASK) ; bBlend = (fStyle & (ILD_BLEND25 | ILD_BLEND50) ) && !bMask;
- TRACE("himl(0x%lx) hbmMask(%p) iImage(%d) x(%d) y(%d) cx(%d) cy(%d)\n", - (DWORD)himl, himl->hbmMask, pimldp->i, pimldp->x, pimldp->y, cx, cy); + TRACE("himl(%p) hbmMask(%p) iImage(%d) x(%d) y(%d) cx(%d) cy(%d)\n", + himl, himl->hbmMask, pimldp->i, pimldp->x, pimldp->y, cx, cy);
/* we will use these DCs to access the images and masks in the ImageList */ hImageListDC = himl->hdcImage; _____
Modified: vendor/wine/dlls/comctl32/current/ipaddress.c --- vendor/wine/dlls/comctl32/current/ipaddress.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/ipaddress.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -143,7 +143,7 @@
fgCol = COLOR_GRAYTEXT; }
- FillRect (hdc, &rect, (HBRUSH) (bgCol+1)); + FillRect (hdc, &rect, (HBRUSH)(DWORD_PTR)(bgCol+1)); DrawEdge (hdc, &rect, EDGE_SUNKEN, BF_RECT | BF_ADJUST);
SetBkColor (hdc, GetSysColor(bgCol)); _____
Modified: vendor/wine/dlls/comctl32/current/listview.c --- vendor/wine/dlls/comctl32/current/listview.c 2005-09-05 08:01:05 UTC (rev 17654) +++ vendor/wine/dlls/comctl32/current/listview.c 2005-09-05 08:17:08 UTC (rev 17655) @@ -379,6 +379,9 @@
#define LV_FL_DT_FLAGS (DT_TOP | DT_NOPREFIX | DT_EDITCONTROL | DT_CENTER | DT_WORDBREAK | DT_NOCLIP) #define LV_SL_DT_FLAGS (DT_VCENTER | DT_NOPREFIX | DT_EDITCONTROL | DT_SINGLELINE | DT_WORD_ELLIPSIS | DT_END_ELLIPSIS)
+/* Image index from state */ +#define STATEIMAGEINDEX(x) (((x) & LVIS_STATEIMAGEMASK) >> 12) + /* The time in milliseconds to reset the search in the list */ #define KEY_DELAY 450
@@ -1243,8 +1246,8 @@ TRACE("building icon ranges:\n"); for (nItem = 0; nItem < infoPtr->nItemCount; nItem++) { - rcItem.left = (LONG)DPA_GetPtr(infoPtr->hdpaPosX, nItem); - rcItem.top = (LONG)DPA_GetPtr(infoPtr->hdpaPosY, nItem); + rcItem.left = (LONG_PTR)DPA_GetPtr(infoPtr->hdpaPosX, nItem); [truncated at 1000 lines; 24299 more skipped]