Author: akhaldi
Date: Tue Nov 22 12:10:28 2016
New Revision: 73335
URL:
http://svn.reactos.org/svn/reactos?rev=73335&view=rev
Log:
[COMCTL32] Sync with Wine Staging 1.9.23. CORE-12409
Modified:
trunk/reactos/dll/win32/comctl32/comctl32_ros.diff
trunk/reactos/dll/win32/comctl32/header.c
trunk/reactos/dll/win32/comctl32/hotkey.c
trunk/reactos/dll/win32/comctl32/treeview.c
trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/comctl32/comctl32_ros.diff
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/comctl3…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/comctl32_ros.diff [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/comctl32_ros.diff [iso-8859-1] Tue Nov 22 12:10:28
2016
@@ -1,5 +1,5 @@
diff -pudN e:\wine\dlls\comctl32/comctl32.h e:\reactos\dll\win32\comctl32/comctl32.h
---- e:\wine\dlls\comctl32/comctl32.h 2016-08-14 19:11:25 +0100
+--- e:\wine\dlls\comctl32/comctl32.h 2016-11-16 17:28:41 +0100
+++ e:\reactos\dll\win32\comctl32/comctl32.h 2014-03-05 11:47:40 +0100
@@ -53,67 +53,6 @@
extern HMODULE COMCTL32_hModule DECLSPEC_HIDDEN;
@@ -79,8 +79,8 @@
typedef struct _SUBCLASSPROCS {
SUBCLASSPROC subproc;
diff -pudN e:\wine\dlls\comctl32/commctrl.c e:\reactos\dll\win32\comctl32/commctrl.c
---- e:\wine\dlls\comctl32/commctrl.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/commctrl.c 2016-03-01 20:00:53 +0100
+--- e:\wine\dlls\comctl32/commctrl.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/commctrl.c 2016-02-26 11:19:35 +0100
@@ -60,6 +60,19 @@
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
@@ -333,8 +333,8 @@
+ return TRUE;
+}
diff -pudN e:\wine\dlls\comctl32/imagelist.c e:\reactos\dll\win32\comctl32/imagelist.c
---- e:\wine\dlls\comctl32/imagelist.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/imagelist.c 2016-08-18 12:03:13 +0100
+--- e:\wine\dlls\comctl32/imagelist.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/imagelist.c 2016-08-15 16:07:59 +0100
@@ -33,7 +33,7 @@
*
* TODO:
@@ -504,8 +504,8 @@
Common subdirectories: e:\wine\dlls\comctl32/lang and e:\reactos\dll\win32\comctl32/lang
diff -pudN e:\wine\dlls\comctl32/listview.c e:\reactos\dll\win32\comctl32/listview.c
---- e:\wine\dlls\comctl32/listview.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/listview.c 2016-08-18 12:03:13 +0100
+--- e:\wine\dlls\comctl32/listview.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/listview.c 2016-08-15 16:09:30 +0100
@@ -287,6 +287,9 @@ typedef struct tagLISTVIEW_INFO
COLORREF clrBk;
COLORREF clrText;
@@ -623,8 +623,8 @@
/* case WM_TIMER: */
diff -pudN e:\wine\dlls\comctl32/monthcal.c e:\reactos\dll\win32\comctl32/monthcal.c
---- e:\wine\dlls\comctl32/monthcal.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/monthcal.c 2016-08-18 12:03:13 +0100
+--- e:\wine\dlls\comctl32/monthcal.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/monthcal.c 2016-08-17 13:29:31 +0100
@@ -43,6 +43,9 @@
WINE_DEFAULT_DEBUG_CHANNEL(monthcal);
@@ -636,8 +636,8 @@
#define MC_SEL_LBUTDOWN 2 /* Left button pressed in calendar */
#define MC_PREVPRESSED 4 /* Prev month button pressed */
diff -pudN e:\wine\dlls\comctl32/propsheet.c e:\reactos\dll\win32\comctl32/propsheet.c
---- e:\wine\dlls\comctl32/propsheet.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/propsheet.c 2016-08-18 12:03:14 +0100
+--- e:\wine\dlls\comctl32/propsheet.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/propsheet.c 2016-08-15 16:10:02 +0100
@@ -2355,12 +2355,19 @@ static void PROPSHEET_SetWizButtons(HWND
HWND hwndFinish = GetDlgItem(hwndDlg, IDC_FINISH_BUTTON);
BOOL enable_finish = ((dwFlags & PSWIZB_FINISH) || psInfo->hasFinish)
&& !(dwFlags & PSWIZB_DISABLEDFINISH);
@@ -693,8 +693,8 @@
/******************************************************************************
diff -pudN e:\wine\dlls\comctl32/rebar.c e:\reactos\dll\win32\comctl32/rebar.c
---- e:\wine\dlls\comctl32/rebar.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/rebar.c 2016-08-18 12:03:14 +0100
+--- e:\wine\dlls\comctl32/rebar.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/rebar.c 2016-08-15 16:11:05 +0100
@@ -50,7 +50,6 @@
* - WM_QUERYNEWPALETTE
* - WM_RBUTTONDOWN
@@ -908,8 +908,8 @@
/* case WM_VKEYTOITEM: supported according to ControlSpy */
diff -pudN e:\wine\dlls\comctl32/toolbar.c e:\reactos\dll\win32\comctl32/toolbar.c
---- e:\wine\dlls\comctl32/toolbar.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/toolbar.c 2016-08-18 12:03:14 +0100
+--- e:\wine\dlls\comctl32/toolbar.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/toolbar.c 2016-08-15 16:13:17 +0100
@@ -33,11 +33,9 @@
* - TBSTYLE_REGISTERDROP
* - TBSTYLE_EX_DOUBLEBUFFER
@@ -1301,8 +1301,8 @@
/* case WM_WININICHANGE: */
diff -pudN e:\wine\dlls\comctl32/tooltips.c e:\reactos\dll\win32\comctl32/tooltips.c
---- e:\wine\dlls\comctl32/tooltips.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/tooltips.c 2016-08-18 12:03:14 +0100
+--- e:\wine\dlls\comctl32/tooltips.c 2016-11-16 17:28:41 +0100
++++ e:\reactos\dll\win32\comctl32/tooltips.c 2016-08-15 16:13:43 +0100
@@ -2009,7 +2009,36 @@ TOOLTIPS_NCHitTest (const TOOLTIPS_INFO
static LRESULT
TOOLTIPS_NotifyFormat (TOOLTIPS_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
@@ -1341,9 +1341,9 @@
return 0;
}
diff -pudN e:\wine\dlls\comctl32/treeview.c e:\reactos\dll\win32\comctl32/treeview.c
---- e:\wine\dlls\comctl32/treeview.c 2016-08-14 19:11:25 +0100
-+++ e:\reactos\dll\win32\comctl32/treeview.c 2016-08-18 12:03:14 +0100
-@@ -2888,7 +2888,14 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr,
+--- e:\wine\dlls\comctl32/treeview.c 2016-11-16 17:28:42 +0100
++++ e:\reactos\dll\win32\comctl32/treeview.c 2016-11-16 18:29:47 +0100
+@@ -2909,7 +2909,14 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr,
}
}
Modified: trunk/reactos/dll/win32/comctl32/header.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/header.…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/header.c [iso-8859-1] Tue Nov 22 12:10:28 2016
@@ -312,6 +312,48 @@
}
}
+/* Create a region for the sort arrow with its bounding rect's top-left
+ co-ord x,y and its height h. */
+static HRGN create_sort_arrow( INT x, INT y, INT h, BOOL is_up )
+{
+ char buffer[256];
+ RGNDATA *data = (RGNDATA *)buffer;
+ DWORD size = FIELD_OFFSET(RGNDATA, Buffer[h * sizeof(RECT)]);
+ INT i, yinc = 1;
+ HRGN rgn;
+
+ if (size > sizeof(buffer))
+ {
+ data = HeapAlloc( GetProcessHeap(), 0, size );
+ if (!data) return NULL;
+ }
+ data->rdh.dwSize = sizeof(data->rdh);
+ data->rdh.iType = RDH_RECTANGLES;
+ data->rdh.nCount = 0;
+ data->rdh.nRgnSize = h * sizeof(RECT);
+
+ if (!is_up)
+ {
+ y += h - 1;
+ yinc = -1;
+ }
+
+ x += h - 1; /* set x to the centre */
+
+ for (i = 0; i < h; i++, y += yinc)
+ {
+ RECT *rect = (RECT *)data->Buffer + data->rdh.nCount;
+ rect->left = x - i;
+ rect->top = y;
+ rect->right = x + i + 1;
+ rect->bottom = y + 1;
+ data->rdh.nCount++;
+ }
+ rgn = ExtCreateRegion( NULL, size, data );
+ if (data != (RGNDATA *)buffer) HeapFree( GetProcessHeap(), 0, data );
+ return rgn;
+}
+
static INT
HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESULT
lCDFlags)
{
@@ -392,16 +434,18 @@
/* Now text and image */
{
- UINT rw, rh, /* width and height of r */
- *x = NULL, *w = NULL; /* x and width of the pic (bmp or img) which is part of cnt
*/
+ INT rw, rh; /* width and height of r */
+ INT *x = NULL; /* x and ... */
+ UINT *w = NULL; /* ... width of the pic (bmp or img) which is part of cnt */
/* cnt,txt,img,bmp */
- UINT cx, tx, ix, bx,
- cw, tw, iw, bw;
+ INT cx, tx, ix, bx;
+ UINT cw, tw, iw, bw;
INT img_cx, img_cy;
+ INT sort_w, sort_x, sort_h;
BITMAP bmp;
HEADER_PrepareCallbackItems(infoPtr, iItem, HDI_TEXT|HDI_IMAGE);
- cw = iw = bw = 0;
+ cw = iw = bw = sort_w = sort_h = 0;
rw = r.right - r.left;
rh = r.bottom - r.top;
@@ -420,23 +464,28 @@
cw = textRect.right - textRect.left + 2 * infoPtr->iMargin;
}
- if ((phdi->fmt & HDF_IMAGE) && ImageList_GetIconSize( infoPtr->himl,
&img_cx, &img_cy )) {
- iw = img_cx + 2 * infoPtr->iMargin;
- x = &ix;
- w = &iw;
- }
-
- if ((phdi->fmt & HDF_BITMAP) && (phdi->hbm)) {
- GetObjectW (phdi->hbm, sizeof(BITMAP), &bmp);
- bw = bmp.bmWidth + 2 * infoPtr->iMargin;
- if (!iw) {
- x = &bx;
- w = &bw;
- }
- }
-
- if (bw || iw)
- cw += *w;
+ if (phdi->fmt & (HDF_SORTUP | HDF_SORTDOWN)) {
+ sort_h = MulDiv( infoPtr->nHeight - VERT_BORDER, 4, 13 );
+ sort_w = 2 * sort_h - 1 + infoPtr->iMargin * 2;
+ cw += sort_w;
+ } else { /* sort arrows take precedent over images/bitmaps */
+ if ((phdi->fmt & HDF_IMAGE) && ImageList_GetIconSize(
infoPtr->himl, &img_cx, &img_cy )) {
+ iw = img_cx + 2 * infoPtr->iMargin;
+ x = &ix;
+ w = &iw;
+ }
+
+ if ((phdi->fmt & HDF_BITMAP) && (phdi->hbm)) {
+ GetObjectW (phdi->hbm, sizeof(BITMAP), &bmp);
+ bw = bmp.bmWidth + 2 * infoPtr->iMargin;
+ if (!iw) {
+ x = &bx;
+ w = &bw;
+ }
+ }
+ if (bw || iw)
+ cw += *w;
+ }
/* align cx using the unclipped cw */
if ((phdi->fmt & HDF_JUSTIFYMASK) == HDF_LEFT)
@@ -455,7 +504,10 @@
tx = cx + infoPtr->iMargin;
/* since cw might have changed we have to recalculate tw */
tw = cw - infoPtr->iMargin * 2;
-
+
+ tw -= sort_w;
+ sort_x = cx + tw + infoPtr->iMargin * 3;
+
if (iw || bw) {
tw -= *w;
if (phdi->fmt & HDF_BITMAP_ON_RIGHT) {
@@ -479,22 +531,31 @@
bx = cx + cw + infoPtr->iMargin;
}
- if (iw || bw) {
+ if (sort_w || iw || bw) {
HDC hClipDC = GetDC(infoPtr->hwndSelf);
HRGN hClipRgn = CreateRectRgn(r.left, r.top, r.right, r.bottom);
SelectClipRgn(hClipDC, hClipRgn);
+ if (sort_w) {
+ HRGN arrow = create_sort_arrow( sort_x, r.top + (rh - sort_h) / 2,
+ sort_h, phdi->fmt & HDF_SORTUP );
+ if (arrow) {
+ FillRgn( hClipDC, arrow, GetSysColorBrush( COLOR_GRAYTEXT ) );
+ DeleteObject( arrow );
+ }
+ }
+
if (bw) {
HDC hdcBitmap = CreateCompatibleDC (hClipDC);
SelectObject (hdcBitmap, phdi->hbm);
- BitBlt (hClipDC, bx, r.top + ((INT)rh - bmp.bmHeight) / 2,
+ BitBlt (hClipDC, bx, r.top + (rh - bmp.bmHeight) / 2,
bmp.bmWidth, bmp.bmHeight, hdcBitmap, 0, 0, SRCCOPY);
DeleteDC (hdcBitmap);
}
if (iw) {
ImageList_DrawEx (infoPtr->himl, phdi->iImage, hClipDC,
- ix, r.top + ((INT)rh - img_cy) / 2,
+ ix, r.top + (rh - img_cy) / 2,
img_cx, img_cy, CLR_DEFAULT, CLR_DEFAULT, 0);
}
Modified: trunk/reactos/dll/win32/comctl32/hotkey.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/hotkey.…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/hotkey.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/hotkey.c [iso-8859-1] Tue Nov 22 12:10:28 2016
@@ -131,7 +131,7 @@
TRACE("(infoPtr=%p hdc=%p)\n", infoPtr, hdc);
if(!infoPtr->CurrMod && !infoPtr->HotKey) {
- HOTKEY_DrawHotKey (infoPtr, hdc, infoPtr->strNone, 4);
+ HOTKEY_DrawHotKey (infoPtr, hdc, infoPtr->strNone, lstrlenW(infoPtr->strNone));
return;
}
Modified: trunk/reactos/dll/win32/comctl32/treeview.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/comctl32/treevie…
==============================================================================
--- trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/comctl32/treeview.c [iso-8859-1] Tue Nov 22 12:10:28 2016
@@ -31,7 +31,7 @@
* missing notifications: TVN_GETINFOTIP, TVN_KEYDOWN,
* TVN_SETDISPINFO
*
- * missing styles: TVS_FULLROWSELECT, TVS_INFOTIP, TVS_RTLREADING,
+ * missing styles: TVS_INFOTIP, TVS_RTLREADING,
*
* missing item styles: TVIS_EXPANDPARTIAL, TVIS_EX_FLAT,
* TVIS_EX_DISABLED
@@ -332,6 +332,20 @@
return FALSE;
}
+static BOOL
+TREEVIEW_IsFullRowSelect(const TREEVIEW_INFO *infoPtr)
+{
+ return !(infoPtr->dwStyle & TVS_HASLINES) && (infoPtr->dwStyle
& TVS_FULLROWSELECT);
+}
+
+static BOOL
+TREEVIEW_IsItemHit(const TREEVIEW_INFO *infoPtr, const TVHITTESTINFO *ht)
+{
+ if (TREEVIEW_IsFullRowSelect(infoPtr))
+ return ht->flags & (TVHT_ONITEMINDENT | TVHT_ONITEMBUTTON | TVHT_ONITEM |
TVHT_ONITEMRIGHT);
+ else
+ return ht->flags & TVHT_ONITEM;
+}
/* Tree Traversal *******************************************************/
@@ -2542,6 +2556,13 @@
if (cditem & CDRF_NEWFONT)
TREEVIEW_ComputeTextWidth(infoPtr, item, hdc);
+ if (TREEVIEW_IsFullRowSelect(infoPtr))
+ {
+ HBRUSH brush = CreateSolidBrush(nmcdhdr.clrTextBk);
+ FillRect(hdc, &item->rect, brush);
+ DeleteObject(brush);
+ }
+
TREEVIEW_DrawItemLines(infoPtr, hdc, item);
/* Set colors. Custom draw handler can change these so we do this after it. */
@@ -4169,9 +4190,9 @@
static LRESULT
TREEVIEW_LButtonDown(TREEVIEW_INFO *infoPtr, LPARAM lParam)
{
+ BOOL do_track, do_select, bDoLabelEdit;
HWND hwnd = infoPtr->hwnd;
TVHITTESTINFO ht;
- BOOL bTrack, bDoLabelEdit;
/* If Edit control is active - kill it and return.
* The best way to do it is to set focus to itself.
@@ -4191,15 +4212,32 @@
TRACE("item %d\n", TREEVIEW_GetItemIndex(infoPtr, ht.hItem));
/* update focusedItem and redraw both items */
- if(ht.hItem && (ht.flags & TVHT_ONITEM))
- {
- infoPtr->focusedItem = ht.hItem;
- TREEVIEW_InvalidateItem(infoPtr, infoPtr->focusedItem);
- TREEVIEW_InvalidateItem(infoPtr, infoPtr->selectedItem);
- }
-
- bTrack = (ht.flags & TVHT_ONITEM)
- && !(infoPtr->dwStyle & TVS_DISABLEDRAGDROP);
+ if (ht.hItem)
+ {
+ BOOL do_focus;
+
+ if (TREEVIEW_IsFullRowSelect(infoPtr))
+ do_focus = ht.flags & (TVHT_ONITEMINDENT | TVHT_ONITEM |
TVHT_ONITEMRIGHT);
+ else
+ do_focus = ht.flags & TVHT_ONITEM;
+
+ if (do_focus)
+ {
+ infoPtr->focusedItem = ht.hItem;
+ TREEVIEW_InvalidateItem(infoPtr, infoPtr->focusedItem);
+ TREEVIEW_InvalidateItem(infoPtr, infoPtr->selectedItem);
+ }
+ }
+
+ if (!(infoPtr->dwStyle & TVS_DISABLEDRAGDROP))
+ {
+ if (TREEVIEW_IsFullRowSelect(infoPtr))
+ do_track = ht.flags & (TVHT_ONITEMINDENT | TVHT_ONITEM |
TVHT_ONITEMRIGHT);
+ else
+ do_track = ht.flags & TVHT_ONITEM;
+ }
+ else
+ do_track = FALSE;
/*
* If the style allows editing and the node is already selected
@@ -4209,16 +4247,15 @@
(ht.flags & TVHT_ONITEMLABEL) && (infoPtr->selectedItem ==
ht.hItem);
/* Send NM_CLICK right away */
- if (!bTrack)
- if (TREEVIEW_SendSimpleNotify(infoPtr, NM_CLICK))
- goto setfocus;
+ if (!do_track && TREEVIEW_SendSimpleNotify(infoPtr, NM_CLICK))
+ goto setfocus;
if (ht.flags & TVHT_ONITEMBUTTON)
{
TREEVIEW_Toggle(infoPtr, ht.hItem, TRUE);
goto setfocus;
}
- else if (bTrack)
+ else if (do_track)
{ /* if TREEVIEW_TrackMouse == 1 dragging occurred and the cursor left the dragged
item's rectangle */
if (TREEVIEW_TrackMouse(infoPtr, ht.pt))
{
@@ -4240,8 +4277,13 @@
}
}
- if (bTrack && TREEVIEW_SendSimpleNotify(infoPtr, NM_CLICK))
+ if (do_track && TREEVIEW_SendSimpleNotify(infoPtr, NM_CLICK))
goto setfocus;
+
+ if (TREEVIEW_IsFullRowSelect(infoPtr))
+ do_select = ht.flags & (TVHT_ONITEMINDENT | TVHT_ONITEMICON |
TVHT_ONITEMLABEL | TVHT_ONITEMRIGHT);
+ else
+ do_select = ht.flags & (TVHT_ONITEMICON | TVHT_ONITEMLABEL);
if (bDoLabelEdit)
{
@@ -4251,7 +4293,7 @@
SetTimer(hwnd, TV_EDIT_TIMER, GetDoubleClickTime(), 0);
infoPtr->Timer |= TV_EDIT_TIMER_SET;
}
- else if (ht.flags & (TVHT_ONITEMICON|TVHT_ONITEMLABEL)) /* select the item if the
hit was inside of the icon or text */
+ else if (do_select)
{
TREEVIEW_ITEM *selection = infoPtr->selectedItem;
@@ -4392,7 +4434,7 @@
assert(newSelect == NULL || TREEVIEW_ValidItem(infoPtr, newSelect));
- TRACE("Entering item %p (%s), flag 0x%x, cause 0x%x, state %d\n",
+ TRACE("Entering item %p (%s), flag 0x%x, cause 0x%x, state 0x%x\n",
newSelect, TREEVIEW_ItemName(newSelect), action, cause,
newSelect ? newSelect->state : 0);
@@ -4467,7 +4509,7 @@
break;
}
- TRACE("Leaving state %d\n", newSelect ? newSelect->state : 0);
+ TRACE("Leaving state 0x%x\n", newSelect ? newSelect->state : 0);
return TRUE;
}
@@ -5320,6 +5362,7 @@
TRACKMOUSEEVENT trackinfo;
TREEVIEW_ITEM * item;
TVHITTESTINFO ht;
+ BOOL item_hit;
if (!(infoPtr->dwStyle & TVS_TRACKSELECT)) return 0;
@@ -5348,12 +5391,13 @@
ht.pt.y = (short)HIWORD(lParam);
item = TREEVIEW_HitTest(infoPtr, &ht);
- if ((item != infoPtr->hotItem) || !(ht.flags & TVHT_ONITEM))
+ item_hit = TREEVIEW_IsItemHit(infoPtr, &ht);
+ if ((item != infoPtr->hotItem) || !item_hit)
{
/* redraw old hot item */
TREEVIEW_InvalidateItem(infoPtr, infoPtr->hotItem);
infoPtr->hotItem = NULL;
- if (item && (ht.flags & TVHT_ONITEM))
+ if (item && item_hit)
{
infoPtr->hotItem = item;
/* redraw new hot item */
@@ -5518,7 +5562,7 @@
if (TREEVIEW_SendRealNotify(infoPtr, NM_SETCURSOR, &nmmouse.hdr))
return 0;
- if (item && (infoPtr->dwStyle & TVS_TRACKSELECT) && (ht.flags
& TVHT_ONITEM))
+ if (item && (infoPtr->dwStyle & TVS_TRACKSELECT) &&
TREEVIEW_IsItemHit(infoPtr, &ht))
{
SetCursor(infoPtr->hcurHand);
return 0;
Modified: trunk/reactos/media/doc/README.WINE
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
==============================================================================
--- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original)
+++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Tue Nov 22 12:10:28 2016
@@ -54,7 +54,7 @@
reactos/dll/win32/cabinet # Synced to WineStaging-1.9.23
reactos/dll/win32/clusapi # Synced to WineStaging-1.9.11
reactos/dll/win32/comcat # Synced to WineStaging-1.9.11
-reactos/dll/win32/comctl32 # Synced to WineStaging-1.9.16
+reactos/dll/win32/comctl32 # Synced to WineStaging-1.9.23
reactos/dll/win32/comdlg32 # Synced to WineStaging-1.9.16
reactos/dll/win32/compstui # Synced to WineStaging-1.9.11
reactos/dll/win32/credui # Synced to WineStaging-1.9.16