1 added + 13 modified, total 14 files
reactos/lib/comctl32
diff -N comctl_Uk.rc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ comctl_Uk.rc 8 May 2004 11:41:04 -0000 1.1
@@ -0,0 +1,88 @@
+/*
+ * comctl (Ukrainian resources)
+ *
+ * Copyright 2004 Ilya Korniyko
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
+
+IDD_PROPSHEET DIALOG DISCARDABLE 0, 0, 220, 140
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
+CAPTION "����������і ��� "
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "OK", IDOK,4,122,50,14, WS_TABSTOP | WS_GROUP
+ PUSHBUTTON "&�і��і��", IDCANCEL,58,122,50,14
+ PUSHBUTTON "&�����������", IDC_APPLY_BUTTON,112,122,50,14,WS_DISABLED
+ PUSHBUTTON "&���і���", IDHELP,166,122,50,14,WS_TABSTOP|WS_GROUP
+ CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS|WS_GROUP|WS_TABSTOP|TCS_MULTILINE,4,4,212,114
+END
+
+
+IDD_WIZARD DIALOG DISCARDABLE 0, 0, 290, 159
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_VISIBLE
+CAPTION "������"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "&���������", IDC_FINISH_BUTTON,121,138,50,14
+ DEFPUSHBUTTON "&���і >", IDC_NEXT_BUTTON,121,138,50,14
+ PUSHBUTTON "< &�����", IDC_BACK_BUTTON,71,138,50,14
+ PUSHBUTTON "&�і��і��", IDCANCEL,178,138,50,14
+ PUSHBUTTON "&���і���", IDHELP,235,138,50,14,WS_GROUP
+ LTEXT "", IDC_SUNKEN_LINE,7,129,278,1,SS_SUNKEN
+ CONTROL "Tab", IDC_TABCONTROL,"SysTabControl32",WS_CLIPSIBLINGS | WS_DISABLED,7,7,258,5
+END
+
+
+IDD_TBCUSTOMIZE DIALOG DISCARDABLE 10, 20, 357, 125
+STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
+CAPTION "��������� �����і і���������і�"
+FONT 8, "MS Sans Serif"
+BEGIN
+ DEFPUSHBUTTON "&�������", IDCANCEL,308,6,44,14
+ PUSHBUTTON "&�������", IDC_RESET_BTN,308,23,44,14
+ PUSHBUTTON "&���і���", IDC_HELP_BTN,308,40,44,14
+ PUSHBUTTON "���������� �&����", IDC_MOVEUP_BTN,308,74,44,14
+ PUSHBUTTON "���������� ��&����", IDC_MOVEDN_BTN,308,91,44,14
+ LTEXT "��&���і ������:", -1,4,5,84,10
+ LISTBOX IDC_AVAILBTN_LBOX,4,17,120,100, LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
+ PUSHBUTTON "&������ ->", IDOK, 131, 42, 44, 14
+ PUSHBUTTON "<- &��������", IDC_REMOVE_BTN,131,62,44,14
+ LTEXT "&������ �����і і���������і�:", -1,182,5,78,10
+ LISTBOX IDC_TOOLBARBTN_LBOX, 182,17,120,100,LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | LBS_DISABLENOSCROLL | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP
+END
+
+STRINGTABLE DISCARDABLE
+{
+ IDS_CLOSE "�������"
+}
+
+STRINGTABLE DISCARDABLE
+{
+ IDM_TODAY "�������і:"
+ IDM_GOTODAY "������� ����"
+}
+
+STRINGTABLE DISCARDABLE
+{
+ IDS_SEPARATOR "����і�����"
+}
+
+STRINGTABLE DISCARDABLE
+{
+ HKY_NONE "����"
+}
reactos/lib/comctl32
diff -u -r1.4 -r1.5
--- comboex.c 15 Apr 2004 08:29:56 -0000 1.4
+++ comboex.c 8 May 2004 11:41:04 -0000 1.5
@@ -915,9 +915,9 @@
static LRESULT COMBOEX_Create (HWND hwnd, LPCREATESTRUCTA cs)
{
- WCHAR COMBOBOX[] = { 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 0 };
- WCHAR EDIT[] = { 'E', 'D', 'I', 'T', 0 };
- WCHAR NIL[] = { 0 };
+ static const WCHAR COMBOBOX[] = { 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', 0 };
+ static const WCHAR EDIT[] = { 'E', 'D', 'I', 'T', 0 };
+ static const WCHAR NIL[] = { 0 };
COMBOEX_INFO *infoPtr;
LOGFONTW mylogfont;
RECT wnrc1, clrc1, cmbwrc;
@@ -1281,7 +1281,7 @@
static LRESULT COMBOEX_DrawItem (COMBOEX_INFO *infoPtr, DRAWITEMSTRUCT *dis)
{
- WCHAR nil[] = { 0 };
+ static const WCHAR nil[] = { 0 };
CBE_ITEMDATA *item = 0;
SIZE txtsize;
RECT rect;
reactos/lib/comctl32
diff -u -r1.7 -r1.8
--- comctl32undoc.c 11 Mar 2004 11:13:28 -0000 1.7
+++ comctl32undoc.c 8 May 2004 11:41:04 -0000 1.8
@@ -523,7 +523,7 @@
HKEY newkey;
WCHAR realname[2];
LPWINEMRUITEM witem;
- WCHAR emptyW[] = {'\0'};
+ static const WCHAR emptyW[] = {'\0'};
/* or should we do the following instead of RegOpenKeyEx:
*/
@@ -859,7 +859,7 @@
WCHAR realname[2];
LPWINEMRUITEM witem;
DWORD type;
- WCHAR emptyW[] = {'\0'};
+ static const WCHAR emptyW[] = {'\0'};
/* get space to save indices that will turn into names
* but in order of most to least recently used
reactos/lib/comctl32
diff -u -r1.3 -r1.4
--- datetime.c 17 Dec 2003 18:09:54 -0000 1.3
+++ datetime.c 8 May 2004 11:41:04 -0000 1.4
@@ -148,13 +148,14 @@
TRACE("%p %04x %08lx\n",hwnd, wParam, lParam);
if (!lParam) return 0;
- TRACE("%04d/%02d/%02d %02d:%02d:%02d)\n",
+ TRACE("%04d/%02d/%02d %02d:%02d:%02d\n",
lprgSysTimeArray->wYear, lprgSysTimeArray->wMonth, lprgSysTimeArray->wDay,
lprgSysTimeArray->wHour, lprgSysTimeArray->wMinute, lprgSysTimeArray->wSecond);
if (wParam==GDT_VALID) {
infoPtr->dateValid = TRUE;
MONTHCAL_CopyTime (lprgSysTimeArray, &infoPtr->date);
+ SendMessageA(infoPtr->hMonthCal, MCM_SETCURSEL, 0, (LPARAM)(&infoPtr->date));
SendMessageA (infoPtr->hwndCheckbut, BM_SETCHECK, BST_CHECKED, 0);
} else if (wParam==GDT_NONE) {
infoPtr->dateValid = FALSE;
@@ -784,8 +785,10 @@
GetTextExtentPoint32A (hdc, txt, strlen (txt), &size);
rcDraw->bottom = size.cy+2;
- if (dwStyle & DTS_SHOWNONE) checkbox->right = 18;
-
+ if (dwStyle & DTS_SHOWNONE)
+ checkbox->right = 18;
+ else
+ checkbox->right = 2;
prevright = checkbox->right;
for (i=0; i<infoPtr->nrFields; i++) {
@@ -882,19 +885,25 @@
/* recalculate the position of the monthcal popup */
if(dwStyle & DTS_RIGHTALIGN)
infoPtr->monthcal_pos.x = infoPtr->rcClient.right - ((infoPtr->calbutton.right -
- infoPtr->calbutton.left) + 145);
+ infoPtr->calbutton.left) + 200);
else
infoPtr->monthcal_pos.x = 8;
infoPtr->monthcal_pos.y = infoPtr->rcClient.bottom;
ClientToScreen (hwnd, &(infoPtr->monthcal_pos));
+ /* FIXME My Windoze has cx=about 200, but it probably depends on font size etc */
SetWindowPos(infoPtr->hMonthCal, 0, infoPtr->monthcal_pos.x,
- infoPtr->monthcal_pos.y, 145, 150, 0);
+ infoPtr->monthcal_pos.y, 200, 150, 0);
if(IsWindowVisible(infoPtr->hMonthCal))
ShowWindow(infoPtr->hMonthCal, SW_HIDE);
- else
- ShowWindow(infoPtr->hMonthCal, SW_SHOW);
+ else {
+ SYSTEMTIME *lprgSysTimeArray = &infoPtr->date;
+ TRACE("update calendar %04d/%02d/%02d\n",
+ lprgSysTimeArray->wYear, lprgSysTimeArray->wMonth, lprgSysTimeArray->wDay);
+ SendMessageA(infoPtr->hMonthCal, MCM_SETCURSEL, 0, (LPARAM)(&infoPtr->date));
+ ShowWindow(infoPtr->hMonthCal, SW_SHOW);
+ }
TRACE ("dt:%p mc:%p mc parent:%p, desktop:%p\n",
hwnd, infoPtr->hMonthCal, infoPtr->hwndNotify, GetDesktopWindow ());
@@ -995,6 +1004,17 @@
TRACE ("%x,%lx\n",wParam, lParam);
TRACE ("Got notification %x from %p\n", lpnmh->code, lpnmh->hwndFrom);
TRACE ("info: %p %p %p\n",hwnd,infoPtr->hMonthCal,infoPtr->hUpdown);
+
+ if (lpnmh->code==MCN_SELECT) {
+ ShowWindow(infoPtr->hMonthCal, SW_HIDE);
+ infoPtr->dateValid = TRUE;
+ SendMessageA (infoPtr->hMonthCal, MCM_GETCURSEL, 0, (LPARAM)&infoPtr->date);
+ TRACE("got from calendar %04d/%02d/%02d\n",
+ infoPtr->date.wYear, infoPtr->date.wMonth, infoPtr->date.wDay);
+ SendMessageA (infoPtr->hwndCheckbut, BM_SETCHECK, BST_CHECKED, 0);
+ InvalidateRect(hwnd, NULL, TRUE);
+ DATETIME_SendDateTimeChangeNotify (hwnd);
+ }
return 0;
}
@@ -1232,7 +1252,7 @@
infoPtr->hMonthCal = CreateWindowExA (0,"SysMonthCal32", 0,
WS_BORDER | WS_POPUP | WS_CLIPSIBLINGS,
0, 0, 0, 0,
- infoPtr->hwndNotify,
+ hwnd,
0, 0, 0);
/* initialize info structure */
@@ -1249,8 +1269,14 @@
DATETIME_INFO *infoPtr = DATETIME_GetInfoPtr (hwnd);
TRACE("\n");
+ if (infoPtr->hMonthCal) {
+ /* FIXME I don't completely understand why doesn't it
+ * happen automatically, WS_POPUP maybe? */
+ DestroyWindow(infoPtr->hMonthCal);
+ infoPtr->hMonthCal = NULL;
+ }
Free (infoPtr);
- SetWindowLongA( hwnd, 0, 0 );
+ SetWindowLongA( hwnd, 0, 0 ); /* clear infoPtr */
return 0;
}
reactos/lib/comctl32
diff -u -r1.4 -r1.5
--- header.c 17 Dec 2003 18:09:54 -0000 1.4
+++ header.c 8 May 2004 11:41:04 -0000 1.5
@@ -924,9 +924,8 @@
lpItem->cxy = phdi->cxy;
if (phdi->mask & HDI_TEXT) {
- static char empty[] = "";
if (!phdi->pszText) /* null pointer check */
- phdi->pszText = empty;
+ phdi->pszText = "";
if (phdi->pszText != LPSTR_TEXTCALLBACKA) {
len = MultiByteToWideChar(CP_ACP, 0, phdi->pszText, -1, NULL, 0);
lpItem->pszText = Alloc( len*sizeof(WCHAR) );
reactos/lib/comctl32
diff -u -r1.4 -r1.5
--- ipaddress.c 15 Apr 2004 08:29:56 -0000 1.4
+++ ipaddress.c 8 May 2004 11:41:04 -0000 1.5
@@ -155,7 +155,7 @@
IPADDRESS_INFO *infoPtr;
RECT rcClient, edit;
int i, fieldsize;
- WCHAR EDIT[] = { 'E', 'd', 'i', 't', 0 };
+ static const WCHAR EDIT[] = { 'E', 'd', 'i', 't', 0 };
TRACE("\n");
@@ -291,7 +291,8 @@
static LRESULT IPADDRESS_SetAddress (IPADDRESS_INFO *infoPtr, DWORD ip_address)
{
- WCHAR buf[20], fmt[] = { '%', 'd', 0 };
+ WCHAR buf[20];
+ static const WCHAR fmt[] = { '%', 'd', 0 };
int i;
TRACE("\n");
@@ -328,7 +329,8 @@
static BOOL IPADDRESS_ConstrainField (IPADDRESS_INFO *infoPtr, int currentfield)
{
IPPART_INFO *part = &infoPtr->Part[currentfield];
- WCHAR field[10], fmt[] = { '%', 'd', 0 };
+ WCHAR field[10];
+ static const WCHAR fmt[] = { '%', 'd', 0 };
int curValue, newValue;
TRACE("(currentfield=%d)\n", currentfield);
reactos/lib/comctl32
diff -u -r1.9 -r1.10
--- listview.c 15 Apr 2004 08:29:56 -0000 1.9
+++ listview.c 8 May 2004 11:41:04 -0000 1.10
@@ -3553,7 +3553,7 @@
{
UINT uFormat, uView = infoPtr->dwStyle & LVS_TYPEMASK;
WCHAR szDispText[DISP_TEXT_SIZE] = { '\0' };
- WCHAR szCallback[] = { '(', 'c', 'a', 'l', 'l', 'b', 'a', 'c', 'k', ')', 0 };
+ static const WCHAR szCallback[] = { '(', 'c', 'a', 'l', 'l', 'b', 'a', 'c', 'k', ')', 0 };
DWORD cdsubitemmode = CDRF_DODEFAULT;
RECT* lprcFocus, rcSelect, rcBox, rcState, rcIcon, rcLabel;
NMLVCUSTOMDRAW nmlvcd;
@@ -3576,7 +3576,7 @@
if (!LISTVIEW_GetItemW(infoPtr, &lvItem)) return FALSE;
if (nSubItem > 0 && (infoPtr->dwLvExStyle & LVS_EX_FULLROWSELECT))
lvItem.state = LISTVIEW_GetItemState(infoPtr, nItem, LVIS_SELECTED);
- if (lvItem.pszText == LPSTR_TEXTCALLBACKW) lvItem.pszText = szCallback;
+ if (lvItem.pszText == LPSTR_TEXTCALLBACKW) lvItem.pszText = (LPWSTR)szCallback;
TRACE(" lvItem=%s\n", debuglvitem_t(&lvItem, TRUE));
/* now check if we need to update the focus rectangle */
@@ -4230,13 +4230,9 @@
|| nColumn >= DPA_GetPtrCount(infoPtr->hdpaColumns)) return FALSE;
/* While the MSDN specifically says that column zero should not be deleted,
- it does in fact work on WinNT, and at least one app depends on it. On
- WinNT, deleting column zero deletes the last column of items but the
- first header. Since no app will ever depend on that bizarre behavior,
- we just delete the last column including the header.
+ what actually happens is that the column itself is deleted but no items or subitems
+ are removed.
*/
- if (nColumn == 0)
- nColumn = DPA_GetPtrCount(infoPtr->hdpaColumns) - 1;
LISTVIEW_GetHeaderRect(infoPtr, nColumn, &rcCol);
@@ -4246,15 +4242,12 @@
Free(DPA_GetPtr(infoPtr->hdpaColumns, nColumn));
DPA_DeletePtr(infoPtr->hdpaColumns, nColumn);
- if (!(infoPtr->dwStyle & LVS_OWNERDATA))
+ if (!(infoPtr->dwStyle & LVS_OWNERDATA) && nColumn)
{
SUBITEM_INFO *lpSubItem, *lpDelItem;
HDPA hdpaSubItems;
INT nItem, nSubItem, i;
- if (nColumn == 0)
- return LISTVIEW_DeleteAllItems(infoPtr);
-
for (nItem = 0; nItem < infoPtr->nItemCount; nItem++)
{
hdpaSubItems = (HDPA)DPA_GetPtr(infoPtr->hdpaItems, nItem);
@@ -4291,7 +4284,10 @@
}
/* update the other column info */
- LISTVIEW_ScrollColumns(infoPtr, nColumn, -(rcCol.right - rcCol.left));
+ if(DPA_GetPtrCount(infoPtr->hdpaColumns) == 0)
+ LISTVIEW_InvalidateList(infoPtr);
+ else
+ LISTVIEW_ScrollColumns(infoPtr, nColumn, -(rcCol.right - rcCol.left));
return TRUE;
}
reactos/lib/comctl32
diff -u -r1.3 -r1.4
--- monthcal.c 17 Dec 2003 18:09:54 -0000 1.3
+++ monthcal.c 8 May 2004 11:41:04 -0000 1.4
@@ -948,7 +948,7 @@
MONTHCAL_SetRange(HWND hwnd, WPARAM wParam, LPARAM lParam)
{
MONTHCAL_INFO *infoPtr = MONTHCAL_GetInfoPtr(hwnd);
- SYSTEMTIME lprgSysTimeArray[1];
+ SYSTEMTIME *lprgSysTimeArray=(SYSTEMTIME *)lParam;
int prev;
TRACE("%x %lx\n", wParam, lParam);
@@ -1033,6 +1033,7 @@
if(GetWindowLongA(hwnd, GWL_STYLE) & MCS_MULTISELECT) return FALSE;
MONTHCAL_CopyTime(&infoPtr->minSel, lpSel);
+ TRACE("%d/%d/%d\n", lpSel->wYear, lpSel->wMonth, lpSel->wDay);
return TRUE;
}
@@ -1048,7 +1049,8 @@
if((infoPtr==NULL) ||(lpSel==NULL)) return FALSE;
if(GetWindowLongA(hwnd, GWL_STYLE) & MCS_MULTISELECT) return FALSE;
- TRACE("%d %d\n", lpSel->wMonth, lpSel->wDay);
+ infoPtr->currentMonth=lpSel->wMonth;
+ infoPtr->currentYear=lpSel->wYear;
MONTHCAL_CopyTime(lpSel, &infoPtr->minSel);
MONTHCAL_CopyTime(lpSel, &infoPtr->maxSel);
@@ -1479,23 +1481,24 @@
InvalidateRect(hwnd, NULL, FALSE);
return TRUE;
}
- if(hit && MCHT_CALENDARDATE) {
+ if(hit == MCHT_CALENDARDATE) {
SYSTEMTIME selArray[2];
NMSELCHANGE nmsc;
+ MONTHCAL_CopyTime(&ht.st, &selArray[0]);
+ MONTHCAL_CopyTime(&ht.st, &selArray[1]);
+ MONTHCAL_SetSelRange(hwnd,0,(LPARAM) &selArray);
+ MONTHCAL_SetCurSel(hwnd,0,(LPARAM) &selArray);
TRACE("MCHT_CALENDARDATE\n");
nmsc.nmhdr.hwndFrom = hwnd;
nmsc.nmhdr.idFrom = GetWindowLongA(hwnd, GWL_ID);
nmsc.nmhdr.code = MCN_SELCHANGE;
- MONTHCAL_CopyTime(&nmsc.stSelStart, &infoPtr->minSel);
- MONTHCAL_CopyTime(&nmsc.stSelEnd, &infoPtr->maxSel);
+ MONTHCAL_CopyTime(&infoPtr->minSel,&nmsc.stSelStart);
+ MONTHCAL_CopyTime(&infoPtr->maxSel,&nmsc.stSelEnd);
SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)nmsc.nmhdr.idFrom,(LPARAM)&nmsc);
- MONTHCAL_CopyTime(&ht.st, &selArray[0]);
- MONTHCAL_CopyTime(&ht.st, &selArray[1]);
- MONTHCAL_SetSelRange(hwnd,0,(LPARAM) &selArray);
/* redraw both old and new days if the selected day changed */
if(infoPtr->curSelDay != ht.st.wDay) {
@@ -1530,10 +1533,12 @@
if(infoPtr->status & MC_NEXTPRESSED) {
KillTimer(hwnd, MC_NEXTMONTHTIMER);
+ infoPtr->status &= ~MC_NEXTPRESSED;
redraw = TRUE;
}
if(infoPtr->status & MC_PREVPRESSED) {
KillTimer(hwnd, MC_PREVMONTHTIMER);
+ infoPtr->status &= ~MC_PREVPRESSED;
redraw = TRUE;
}
@@ -1560,20 +1565,21 @@
SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
(WPARAM)nmhdr.idFrom, (LPARAM)&nmhdr);
-
- nmsc.nmhdr.hwndFrom = hwnd;
- nmsc.nmhdr.idFrom = GetWindowLongA(hwnd, GWL_ID);
- nmsc.nmhdr.code = MCN_SELECT;
- MONTHCAL_CopyTime(&nmsc.stSelStart, &infoPtr->minSel);
- MONTHCAL_CopyTime(&nmsc.stSelEnd, &infoPtr->maxSel);
-
- SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
- (WPARAM)nmsc.nmhdr.idFrom, (LPARAM)&nmsc);
-
/* redraw if necessary */
if(redraw)
InvalidateRect(hwnd, NULL, FALSE);
+ /* only send MCN_SELECT if currently displayed month's day was selected */
+ if(hit == MCHT_CALENDARDATE) {
+ nmsc.nmhdr.hwndFrom = hwnd;
+ nmsc.nmhdr.idFrom = GetWindowLongA(hwnd, GWL_ID);
+ nmsc.nmhdr.code = MCN_SELECT;
+ MONTHCAL_CopyTime(&infoPtr->minSel, &nmsc.stSelStart);
+ MONTHCAL_CopyTime(&infoPtr->maxSel, &nmsc.stSelEnd);
+ SendMessageA(infoPtr->hwndNotify, WM_NOTIFY,
+ (WPARAM)nmsc.nmhdr.idFrom, (LPARAM)&nmsc);
+
+ }
return 0;
}
@@ -1898,6 +1904,8 @@
infoPtr->currentYear = infoPtr->todaysDate.wYear;
MONTHCAL_CopyTime(&infoPtr->todaysDate, &infoPtr->minDate);
MONTHCAL_CopyTime(&infoPtr->todaysDate, &infoPtr->maxDate);
+ infoPtr->maxDate.wYear=2050;
+ infoPtr->minDate.wYear=1950;
infoPtr->maxSelCount = 7;
infoPtr->monthRange = 3;
infoPtr->monthdayState = Alloc
reactos/lib/comctl32
diff -u -r1.6 -r1.7
--- propsheet.c 15 Apr 2004 08:29:56 -0000 1.6
+++ propsheet.c 8 May 2004 11:41:04 -0000 1.7
@@ -524,7 +524,7 @@
{
WCHAR szTitle[256];
const WCHAR *pTitle;
- static WCHAR pszNull[] = { '(','n','u','l','l',')',0 };
+ static const WCHAR pszNull[] = { '(','n','u','l','l',')',0 };
int len;
if ( !HIWORD( lppsp->pszTitle ) )
reactos/lib/comctl32
diff -u -r1.3 -r1.4
--- rsrc.rc 15 Apr 2004 08:29:56 -0000 1.3
+++ rsrc.rc 8 May 2004 11:41:04 -0000 1.4
@@ -1128,3 +1128,4 @@
#include "comctl_Ru.rc"
#include "comctl_Si.rc"
#include "comctl_Th.rc"
+#include "comctl_Uk.rc"
reactos/lib/comctl32
diff -u -r1.13 -r1.14
--- toolbar.c 30 Apr 2004 09:55:16 -0000 1.13
+++ toolbar.c 8 May 2004 11:41:04 -0000 1.14
@@ -52,7 +52,6 @@
* - Notifications:
* - NM_CHAR
* - NM_KEYDOWN
- * - NM_RCLICK
* - NM_RDBLCLICK
* - TBN_DRAGOUT
* - TBN_GETOBJECT
@@ -170,6 +169,7 @@
BOOL bAnchor; /* anchor highlight enabled */
BOOL bNtfUnicode; /* TRUE if NOTIFYs use {W} */
BOOL bDoRedraw; /* Redraw status */
+ DWORD dwStyle; /* regular toolbar style */
DWORD dwExStyle; /* extended toolbar style */
DWORD dwDTFlags; /* DrawText flags */
@@ -220,7 +220,7 @@
/* how wide to treat the bitmap if it isn't present */
#define LIST_IMAGE_ABSENT_WIDTH 2
-#define TOOLBAR_GetInfoPtr(hwnd) ((TOOLBAR_INFO *)GetWindowLongA(hwnd,0))
+#define TOOLBAR_GetInfoPtr(hwnd) ((TOOLBAR_INFO *)GetWindowLongPtrW(hwnd,0))
#define TOOLBAR_HasText(x, y) (TOOLBAR_GetText(x, y) ? TRUE : FALSE)
#define TOOLBAR_HasDropDownArrows(exStyle) ((exStyle & TBSTYLE_EX_DRAWDDARROWS) ? TRUE : FALSE)
@@ -290,13 +290,11 @@
{
if (TRACE_ON(toolbar)) {
INT i;
- DWORD dwStyle;
- dwStyle = GetWindowLongA (iP->hwndSelf, GWL_STYLE);
TRACE("toolbar %p at line %d, exStyle=%08lx, buttons=%d, bitmaps=%d, strings=%d, style=%08lx\n",
iP->hwndSelf, line,
iP->dwExStyle, iP->nNumButtons, iP->nNumBitmaps,
- iP->nNumStrings, dwStyle);
+ iP->nNumStrings, iP->dwStyle);
TRACE("toolbar %p at line %d, himlInt=%p, himlDef=%p, himlHot=%p, himlDis=%p, redrawable=%s\n",
iP->hwndSelf, line,
iP->himlInt, iP->himlDef, iP->himlHot, iP->himlDis,
@@ -726,7 +724,7 @@
if (!himl)
draw_masked = TRUE;
}
- else if ((tbcd->nmcd.uItemState & CDIS_HOT) && (GetWindowLongW(infoPtr->hwndSelf, GWL_STYLE) & TBSTYLE_FLAT))
+ else if ((tbcd->nmcd.uItemState & CDIS_HOT) && (infoPtr->dwStyle & TBSTYLE_FLAT))
{
/* if hot, attempt to draw with hot image list, if fails,
use default image list */
@@ -830,7 +828,7 @@
TOOLBAR_DrawButton (HWND hwnd, TBUTTON_INFO *btnPtr, HDC hdc)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
+ DWORD dwStyle = infoPtr->dwStyle;
BOOL hasDropDownArrow = (TOOLBAR_HasDropDownArrows(infoPtr->dwExStyle) &&
(btnPtr->fsStyle & BTNS_DROPDOWN)) ||
(btnPtr->fsStyle & BTNS_WHOLEDROPDOWN);
@@ -1396,7 +1394,7 @@
TOOLBAR_CalcToolbar (HWND hwnd)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr(hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
+ DWORD dwStyle = infoPtr->dwStyle;
TBUTTON_INFO *btnPtr;
INT i, nRows, nSepRows;
INT x, y, cx, cy;
@@ -1760,7 +1758,7 @@
static INT_PTR CALLBACK
TOOLBAR_CustomizeDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
- PCUSTDLG_INFO custInfo = (PCUSTDLG_INFO)GetWindowLongA (hwnd, DWL_USER);
+ PCUSTDLG_INFO custInfo = (PCUSTDLG_INFO)GetWindowLongPtrW (hwnd, DWLP_USER);
PCUSTOMBUTTON btnInfo;
NMTOOLBARA nmtb;
TOOLBAR_INFO *infoPtr = custInfo ? custInfo->tbInfo : NULL;
@@ -1769,7 +1767,7 @@
{
case WM_INITDIALOG:
custInfo = (PCUSTDLG_INFO)lParam;
- SetWindowLongA (hwnd, DWL_USER, (DWORD)custInfo);
+ SetWindowLongPtrW (hwnd, DWLP_USER, (LONG_PTR)custInfo);
if (custInfo)
{
@@ -1811,6 +1809,8 @@
SendDlgItemMessageA (hwnd, IDC_TOOLBARBTN_LBOX, LB_SETITEMDATA, index, (LPARAM)btnInfo);
}
+ SendDlgItemMessageA (hwnd, IDC_TOOLBARBTN_LBOX, LB_SETITEMHEIGHT, 0, infoPtr->nBitmapHeight + 8);
+
/* insert separator button into 'available buttons' list */
btnInfo = (PCUSTOMBUTTON)Alloc(sizeof(CUSTOMBUTTON));
memset (&btnInfo->btn, 0, sizeof(TBBUTTON));
@@ -1875,6 +1875,8 @@
}
}
+ SendDlgItemMessageA (hwnd, IDC_AVAILBTN_LBOX, LB_SETITEMHEIGHT, 0, infoPtr->nBitmapHeight + 8);
+
/* select first item in the 'available' list */
SendDlgItemMessageA (hwnd, IDC_AVAILBTN_LBOX, LB_SETCURSEL, 0, 0);
@@ -2167,7 +2169,6 @@
if (wParam == IDC_AVAILBTN_LBOX || wParam == IDC_TOOLBARBTN_LBOX)
{
LPDRAWITEMSTRUCT lpdis = (LPDRAWITEMSTRUCT)lParam;
- DWORD dwStyle = GetWindowLongA (infoPtr->hwndSelf, GWL_STYLE);
RECT rcButton;
RECT rcText;
HPEN hPen, hOldPen;
@@ -2210,7 +2211,7 @@
DrawFocusRect (lpdis->hDC, &lpdis->rcItem);
/* draw button */
- if (!(dwStyle & TBSTYLE_FLAT))
+ if (!(infoPtr->dwStyle & TBSTYLE_FLAT))
DrawEdge (lpdis->hDC, &rcButton, EDGE_RAISED, BF_RECT|BF_MIDDLE|BF_SOFT);
/* draw image and text */
@@ -2238,10 +2239,7 @@
{
MEASUREITEMSTRUCT *lpmis = (MEASUREITEMSTRUCT*)lParam;
- if (custInfo && custInfo->tbInfo)
- lpmis->itemHeight = custInfo->tbInfo->nBitmapHeight + 8;
- else
- lpmis->itemHeight = 15 + 8; /* default height */
+ lpmis->itemHeight = 15 + 8; /* default height */
return TRUE;
}
@@ -2794,7 +2792,6 @@
TOOLBAR_AutoSize (HWND hwnd)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
RECT parent_rect;
RECT window_rect;
HWND parent;
@@ -2802,7 +2799,7 @@
INT cx, cy;
UINT uPosFlags = SWP_NOZORDER;
- TRACE("resize forced, style=%lx!\n", dwStyle);
+ TRACE("resize forced, style=%lx!\n", infoPtr->dwStyle);
parent = GetParent (hwnd);
GetClientRect(parent, &parent_rect);
@@ -2813,7 +2810,7 @@
/* FIXME: we should be able to early out if nothing */
/* has changed with nWidth != parent_rect width */
- if (dwStyle & CCS_NORESIZE) {
+ if (infoPtr->dwStyle & CCS_NORESIZE) {
uPosFlags |= (SWP_NOSIZE | SWP_NOMOVE);
cx = 0;
cy = 0;
@@ -2826,24 +2823,24 @@
cy = infoPtr->nHeight;
cx = infoPtr->nWidth;
- if ((dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
+ if ((infoPtr->dwStyle & CCS_BOTTOM) == CCS_NOMOVEY) {
GetWindowRect(hwnd, &window_rect);
ScreenToClient(parent, (LPPOINT)&window_rect.left);
y = window_rect.top;
}
- if ((dwStyle & CCS_BOTTOM) == CCS_BOTTOM) {
+ if ((infoPtr->dwStyle & CCS_BOTTOM) == CCS_BOTTOM) {
GetWindowRect(hwnd, &window_rect);
y = parent_rect.bottom - ( window_rect.bottom - window_rect.top);
}
}
- if (dwStyle & CCS_NOPARENTALIGN)
+ if (infoPtr->dwStyle & CCS_NOPARENTALIGN)
uPosFlags |= SWP_NOMOVE;
- if (!(dwStyle & CCS_NODIVIDER))
+ if (!(infoPtr->dwStyle & CCS_NODIVIDER))
cy += GetSystemMetrics(SM_CYEDGE);
- if (dwStyle & WS_BORDER)
+ if (infoPtr->dwStyle & WS_BORDER)
{
x = y = 1;
cy += GetSystemMetrics(SM_CYEDGE);
@@ -2991,7 +2988,7 @@
if(!(template = (LPVOID)LoadResource (COMCTL32_hModule, hRes)))
return FALSE;
- ret = DialogBoxIndirectParamA ((HINSTANCE)GetWindowLongA(hwnd, GWL_HINSTANCE),
+ ret = DialogBoxIndirectParamA ((HINSTANCE)GetWindowLongPtrW(hwnd, GWLP_HINSTANCE),
(LPDLGTEMPLATEA)template,
hwnd,
TOOLBAR_CustomizeDialogProc,
@@ -3349,7 +3346,7 @@
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- if (!(GetWindowLongA (hwnd, GWL_STYLE) & TBSTYLE_FLAT))
+ if (!(infoPtr->dwStyle & TBSTYLE_FLAT))
return -1;
if (infoPtr->nHotItem < 0)
@@ -3467,7 +3464,7 @@
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- if (GetWindowLongA (hwnd, GWL_STYLE) & TBSTYLE_WRAPABLE)
+ if (infoPtr->dwStyle & TBSTYLE_WRAPABLE)
return infoPtr->nRows;
else
return 1;
@@ -3491,16 +3488,7 @@
static LRESULT
TOOLBAR_GetStyle (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
- TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- INT nIndex;
-
- if (wParam == 0) return GetWindowLongW(hwnd, GWL_STYLE);
-
- nIndex = TOOLBAR_GetButtonIndex (infoPtr, (INT)wParam, FALSE);
- if (nIndex == -1)
- return -1;
-
- return infoPtr->buttons[nIndex].fsStyle;
+ return GetWindowLongW(hwnd, GWL_STYLE);
}
@@ -4627,7 +4615,7 @@
if ((INT) wParam < 0 || (INT)wParam > infoPtr->nNumButtons)
wParam = -2;
- if (GetWindowLongW(hwnd, GWL_STYLE) & TBSTYLE_FLAT)
+ if (infoPtr->dwStyle & TBSTYLE_FLAT)
TOOLBAR_SetHotItemEx(infoPtr, wParam, HICF_OTHER);
if (nOldHotItem < 0)
@@ -5093,7 +5081,7 @@
TOOLBAR_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
+ DWORD dwStyle = GetWindowLongW (hwnd, GWL_STYLE);
LOGFONTA logFont;
TRACE("hwnd = %p\n", hwnd);
@@ -5132,6 +5120,7 @@
infoPtr->szPadding.cx = 2*(GetSystemMetrics(SM_CXEDGE)+OFFSET_X) + 1;
infoPtr->szPadding.cy = 2*(GetSystemMetrics(SM_CYEDGE)+OFFSET_Y);
infoPtr->iListGap = infoPtr->szPadding.cx / 2;
+ infoPtr->dwStyle = dwStyle;
GetClientRect(hwnd, &infoPtr->client_rect);
TOOLBAR_NotifyFormat(infoPtr, (WPARAM)hwnd, (LPARAM)NF_REQUERY);
@@ -5206,7 +5195,7 @@
/* free toolbar info data */
Free (infoPtr);
- SetWindowLongA (hwnd, 0, 0);
+ SetWindowLongPtrW (hwnd, 0, 0);
return 0;
}
@@ -5216,12 +5205,11 @@
TOOLBAR_EraseBackground (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
NMTBCUSTOMDRAW tbcd;
INT ret = FALSE;
DWORD ntfret;
- if (dwStyle & TBSTYLE_CUSTOMERASE) {
+ if (infoPtr->dwStyle & TBSTYLE_CUSTOMERASE) {
ZeroMemory (&tbcd, sizeof(NMTBCUSTOMDRAW));
tbcd.nmcd.dwDrawStage = CDDS_PREERASE;
tbcd.nmcd.hdc = (HDC)wParam;
@@ -5260,7 +5248,7 @@
if (!ret)
ret = DefWindowProcA (hwnd, WM_ERASEBKGND, wParam, lParam);
- if ((dwStyle & TBSTYLE_CUSTOMERASE) &&
+ if ((infoPtr->dwStyle & TBSTYLE_CUSTOMERASE) &&
(infoPtr->dwBaseCustDraw & CDRF_NOTIFYPOSTERASE)) {
ZeroMemory (&tbcd, sizeof(NMTBCUSTOMDRAW));
tbcd.nmcd.dwDrawStage = CDDS_POSTERASE;
@@ -5320,7 +5308,7 @@
NMTOOLBARA nmtb;
BOOL bDragKeyPressed;
- if (GetWindowLongW(hwnd, GWL_STYLE) & TBSTYLE_ALTDRAG)
+ if (infoPtr->dwStyle & TBSTYLE_ALTDRAG)
bDragKeyPressed = (GetKeyState(VK_MENU) < 0);
else
bDragKeyPressed = (wParam & MK_SHIFT);
@@ -5335,7 +5323,7 @@
btnPtr = &infoPtr->buttons[nHit];
- if ((nHit >= 0) && bDragKeyPressed && (GetWindowLongW(hwnd, GWL_STYLE) & CCS_ADJUSTABLE))
+ if ((nHit >= 0) && bDragKeyPressed && (infoPtr->dwStyle & CCS_ADJUSTABLE))
{
infoPtr->nButtonDrag = nHit;
SetCapture (hwnd);
@@ -5589,6 +5577,34 @@
}
static LRESULT
+TOOLBAR_RButtonUp( HWND hwnd, WPARAM wParam, LPARAM lParam)
+{
+ TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
+
+ NMMOUSE nmmouse;
+ POINT pt;
+
+ pt.x = LOWORD(lParam);
+ pt.y = HIWORD(lParam);
+
+ nmmouse.dwHitInfo = TOOLBAR_InternalHitTest(hwnd, &pt);
+
+ if (nmmouse.dwHitInfo < 0) {
+ nmmouse.dwItemSpec = -1;
+ } else {
+ nmmouse.dwItemSpec = infoPtr->buttons[nmmouse.dwHitInfo].idCommand;
+ nmmouse.dwItemData = infoPtr->buttons[nmmouse.dwHitInfo].dwData;
+ }
+
+ ClientToScreen(hwnd, &pt);
+ memcpy(&nmmouse.pt, &pt, sizeof(POINT));
+
+ TOOLBAR_SendNotify((LPNMHDR)&nmmouse, infoPtr, NM_RCLICK);
+
+ return 0;
+}
+
+static LRESULT
TOOLBAR_CaptureChanged(HWND hwnd)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
@@ -5713,7 +5729,7 @@
inline static LRESULT
TOOLBAR_NCCalcSize (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
- if (!(GetWindowLongA (hwnd, GWL_STYLE) & CCS_NODIVIDER))
+ if (!(GetWindowLongW(hwnd, GWL_STYLE) & CCS_NODIVIDER))
((LPRECT)lParam)->top += GetSystemMetrics(SM_CYEDGE);
return DefWindowProcA (hwnd, WM_NCCALCSIZE, wParam, lParam);
@@ -5729,16 +5745,16 @@
/* allocate memory for info structure */
infoPtr = (TOOLBAR_INFO *)Alloc (sizeof(TOOLBAR_INFO));
- SetWindowLongA (hwnd, 0, (DWORD)infoPtr);
+ SetWindowLongPtrW (hwnd, 0, (LONG_PTR)infoPtr);
/* paranoid!! */
infoPtr->dwStructSize = sizeof(TBBUTTON);
infoPtr->nRows = 1;
/* fix instance handle, if the toolbar was created by CreateToolbarEx() */
- if (!GetWindowLongA (hwnd, GWL_HINSTANCE)) {
- HINSTANCE hInst = (HINSTANCE)GetWindowLongA (GetParent (hwnd), GWL_HINSTANCE);
- SetWindowLongA (hwnd, GWL_HINSTANCE, (DWORD)hInst);
+ if (!GetWindowLongPtrW (hwnd, GWLP_HINSTANCE)) {
+ HINSTANCE hInst = (HINSTANCE)GetWindowLongPtrW (GetParent (hwnd), GWLP_HINSTANCE);
+ SetWindowLongPtrW (hwnd, GWLP_HINSTANCE, (LONG_PTR)hInst);
}
/* native control does:
@@ -5790,7 +5806,7 @@
styleadd |= TBSTYLE_TRANSPARENT;
if (!(cs->style & (CCS_TOP | CCS_NOMOVEY))) {
styleadd |= CCS_TOP; /* default to top */
- SetWindowLongA (hwnd, GWL_STYLE, cs->style | styleadd);
+ SetWindowLongW (hwnd, GWL_STYLE, cs->style | styleadd);
}
return DefWindowProcA (hwnd, WM_NCCREATE, wParam, lParam);
@@ -5800,7 +5816,7 @@
static LRESULT
TOOLBAR_NCPaint (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
+ DWORD dwStyle = GetWindowLongW(hwnd, GWL_STYLE);
RECT rcWindow;
HDC hdc;
@@ -6099,7 +6115,7 @@
TOOLBAR_Size (HWND hwnd, WPARAM wParam, LPARAM lParam)
{
TOOLBAR_INFO *infoPtr = TOOLBAR_GetInfoPtr (hwnd);
- DWORD dwStyle = GetWindowLongA (hwnd, GWL_STYLE);
+ DWORD dwStyle = infoPtr->dwStyle;
RECT parent_rect;
RECT window_rect;
HWND parent;
@@ -6246,6 +6262,8 @@
TOOLBAR_CheckStyle (hwnd, lpStyle->styleNew);
TRACE("new style 0x%08lx\n", lpStyle->styleNew);
+
+ infoPtr->dwStyle = lpStyle->styleNew;
}
TOOLBAR_CalcToolbar(hwnd);
@@ -6598,6 +6616,9 @@
case WM_LBUTTONUP:
return TOOLBAR_LButtonUp (hwnd, wParam, lParam);
+ case WM_RBUTTONUP:
+ return TOOLBAR_RButtonUp (hwnd, wParam, lParam);
+
case WM_MOUSEMOVE:
return TOOLBAR_MouseMove (hwnd, wParam, lParam);
reactos/lib/comctl32
diff -u -r1.4 -r1.5
--- trackbar.c 2 Jan 2004 19:49:45 -0000 1.4
+++ trackbar.c 8 May 2004 11:41:04 -0000 1.5
@@ -728,7 +728,8 @@
TRACKBAR_UpdateToolTip (TRACKBAR_INFO *infoPtr)
{
DWORD dwStyle = GetWindowLongW (infoPtr->hwndSelf, GWL_STYLE);
- WCHAR buf[80], fmt[] = { '%', 'l', 'd', 0 };
+ WCHAR buf[80];
+ static const WCHAR fmt[] = { '%', 'l', 'd', 0 };
TTTOOLINFOW ti;
POINT pt;
RECT rcClient;
reactos/lib/comctl32
diff -u -r1.8 -r1.9
--- treeview.c 13 Apr 2004 19:51:44 -0000 1.8
+++ treeview.c 8 May 2004 11:41:05 -0000 1.9
@@ -30,8 +30,8 @@
* missing notifications: NM_SETCURSOR, TVN_GETINFOTIP, TVN_KEYDOWN,
* TVN_SETDISPINFO, TVN_SINGLEEXPAND
*
- * missing styles: TVS_FULLROWSELECT, TVS_INFOTIP, TVS_NOSCROLL,
- * TVS_RTLREADING, TVS_TRACKSELECT
+ * missing styles: TVS_FULLROWSELECT, TVS_INFOTIP, TVS_RTLREADING,
+ * TVS_TRACKSELECT
*
* missing item styles: TVIS_CUT, TVIS_EXPANDPARTIAL
*
@@ -3093,7 +3093,7 @@
TRACE("\n");
if (wineItem->state & TVIS_EXPANDED)
- return TRUE;
+ return TRUE;
TRACE("TVE_EXPAND %p %s\n", wineItem, TREEVIEW_ItemName(wineItem));
@@ -3467,7 +3467,7 @@
HDC hdc;
HFONT hOldFont=0;
TEXTMETRICW textMetric;
- WCHAR EditW[] = {'E','d','i','t',0};
+ static const WCHAR EditW[] = {'E','d','i','t',0};
TRACE("%x %p\n", (unsigned)hwnd, hItem);
if (!TREEVIEW_ValidItem(infoPtr, editItem))
@@ -4333,7 +4333,7 @@
else if (visible_pos >= viscount
/* Sometimes, before we are displayed, GVC is 0, causing us to
* spuriously scroll up. */
- && visible_pos > 0)
+ && visible_pos > 0 && !(infoPtr->dwStyle & TVS_NOSCROLL) )
{
/* item is past the end of the list. */
int scroll = visible_pos - viscount;
reactos/lib/comctl32
diff -u -r1.6 -r1.7
--- winehq2ros.patch 15 Apr 2004 08:29:57 -0000 1.6
+++ winehq2ros.patch 8 May 2004 11:41:05 -0000 1.7
@@ -4,7 +4,7 @@
retrieving revision 1.43
diff -u -r1.43 comctl32.spec
--- comctl32.spec 20 Feb 2004 05:16:37 -0000 1.43
-+++ comctl32.spec 15 Apr 2004 08:36:51 -0000
++++ comctl32.spec 8 May 2004 11:49:39 -0000
@@ -106,13 +106,13 @@
412 stdcall RemoveWindowSubclass(long ptr long)
413 stdcall DefSubclassProc(long long long long)
@@ -26,13 +26,84 @@
# Functions imported by name
+Index: commctrl.c
+===================================================================
+RCS file: /home/wine/wine/dlls/comctl32/commctrl.c,v
+retrieving revision 1.76
+diff -u -r1.76 commctrl.c
+--- commctrl.c 11 Mar 2004 22:38:22 -0000 1.76
++++ commctrl.c 8 May 2004 11:49:41 -0000
+@@ -114,7 +114,6 @@
+ extern void UPDOWN_Register(void);
+ extern void UPDOWN_Unregister(void);
+
+-static LRESULT WINAPI SubclassWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
+
+ LPSTR COMCTL32_aSubclass = NULL;
+ HMODULE COMCTL32_hModule = 0;
+@@ -1109,10 +1108,10 @@
+ /* set window procedure to our own and save the current one */
+ if (IsWindowUnicode (hWnd))
+ stack->origproc = (WNDPROC)SetWindowLongW (hWnd, GWL_WNDPROC,
+- (LONG)SubclassWndProc);
++ (LONG)DefSubclassProc);
+ else
+ stack->origproc = (WNDPROC)SetWindowLongA (hWnd, GWL_WNDPROC,
+- (LONG)SubclassWndProc);
++ (LONG)DefSubclassProc);
+ } else {
+ WNDPROC current;
+ if (IsWindowUnicode (hWnd))
+@@ -1120,7 +1119,7 @@
+ else
+ current = (WNDPROC)GetWindowLongA (hWnd, GWL_WNDPROC);
+
+- if (current != SubclassWndProc) {
++ if (current != DefSubclassProc) {
+ ERR ("Application has subclassed with our procedure, then manually, then with us again. The current implementation can't handle this.\n");
+ return FALSE;
+ }
+@@ -1260,33 +1259,6 @@
+ }
+
+ return FALSE;
+-}
+-
+-
+-/***********************************************************************
+- * SubclassWndProc (internal)
+- *
+- * Window procedure for all subclassed windows.
+- * Saves the current subclassing stack position to support nested messages
+- */
+-
+-static LRESULT WINAPI SubclassWndProc (HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
+-{
+- LPSUBCLASS_INFO stack;
+- int stackpos;
+- LRESULT ret;
+-
+- /* retrieve our little stack from the Properties */
+- stack = (LPSUBCLASS_INFO)GetPropA (hWnd, COMCTL32_aSubclass);
+- if (!stack) {
+- ERR ("Our sub classing stack got erased for %p!! Nothing we can do\n", hWnd);
+- return 0;
+- }
+- stackpos = stack->stackpos;
+- stack->stackpos = stack->stacknum;
+- ret = DefSubclassProc(hWnd,uMsg,wParam,lParam);
+- stack->stackpos = stackpos;
+- return ret;
+ }
+
+
Index: imagelist.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/imagelist.c,v
retrieving revision 1.85
diff -u -r1.85 imagelist.c
--- imagelist.c 27 Feb 2004 04:40:08 -0000 1.85
-+++ imagelist.c 15 Apr 2004 08:36:52 -0000
++++ imagelist.c 8 May 2004 11:49:43 -0000
@@ -1146,11 +1146,13 @@
PatBlt(hBlendMaskDC, 0, 0, cx, cy, PATCOPY);
SelectObject(hBlendMaskDC, hOldBrush);
@@ -50,10 +121,10 @@
Index: listview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
-retrieving revision 1.385
-diff -u -r1.385 listview.c
---- listview.c 11 Mar 2004 00:39:53 -0000 1.385
-+++ listview.c 15 Apr 2004 08:36:56 -0000
+retrieving revision 1.387
+diff -u -r1.387 listview.c
+--- listview.c 21 Apr 2004 22:25:04 -0000 1.387
++++ listview.c 8 May 2004 11:49:47 -0000
@@ -147,6 +147,7 @@
#include <assert.h>
#include <ctype.h>
@@ -68,7 +139,7 @@
retrieving revision 1.3
diff -u -r1.3 string.c
--- string.c 20 Feb 2004 19:58:39 -0000 1.3
-+++ string.c 15 Apr 2004 08:36:56 -0000
++++ string.c 8 May 2004 11:49:52 -0000
@@ -254,7 +254,7 @@
{
TRACE("(%s,%s)\n", debugstr_w(lpszStr), debugstr_w(lpszSearch));
@@ -87,19 +158,3 @@
}
/*************************************************************************
-Index: treeview.c
-===================================================================
-RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
-retrieving revision 1.145
-diff -u -r1.145 treeview.c
---- treeview.c 1 Mar 2004 23:10:52 -0000 1.145
-+++ treeview.c 15 Apr 2004 08:36:58 -0000
-@@ -3093,7 +3093,7 @@
- TRACE("\n");
-
- if (wineItem->state & TVIS_EXPANDED)
-- return FALSE;
-+ return TRUE;
-
- TRACE("TVE_EXPAND %p %s\n", wineItem, TREEVIEW_ItemName(wineItem));
-
CVSspam 0.2.8