-Index: listview.c
-===================================================================
---- listview.c (revision 23123)
-+++ listview.c (working copy)
-@@ -3777,9 +3777,8 @@
- if (himl && lvItem.iImage >= 0 && !IsRectEmpty(&rcIcon))
- {
- TRACE("iImage=%d\n", lvItem.iImage);
-+ ImageList_Draw(himl, lvItem.iImage, hdc, rcIcon.left, rcIcon.top,
-+ (lvItem.state & LVIS_SELECTED) && (infoPtr->bFocus) ? ILD_SELECTED : ILD_NORMAL);
-- ImageList_DrawEx(himl, lvItem.iImage, hdc, rcIcon.left, rcIcon.top,
-- rcIcon.right - rcIcon.left, rcIcon.bottom - rcIcon.top, infoPtr->clrBk, CLR_DEFAULT,
-- (lvItem.state & LVIS_SELECTED) && (infoPtr->bFocus) ? ILD_SELECTED : ILD_NORMAL);
- }
-
- /* Don't bother painting item being edited */
Index: propsheet.c
===================================================================
---- propsheet.c (revision 25766)
+--- propsheet.c (revision 38890)
+++ propsheet.c (working copy)
-@@ -2422,6 +2422,28 @@
+@@ -2417,6 +2417,29 @@
return FALSE;
}
+
+ return TRUE;
+}
++
+
/******************************************************************************
* PROPSHEET_SetWizButtons
*
-@@ -2444,17 +2466,6 @@
+@@ -2438,17 +2461,6 @@
EnableWindow(hwndNext, FALSE);
EnableWindow(hwndFinish, FALSE);
if (dwFlags & PSWIZB_BACK)
EnableWindow(hwndBack, TRUE);
-@@ -2484,6 +2495,32 @@
+@@ -2478,6 +2490,31 @@
}
else if (!(dwFlags & PSWIZB_DISABLEDFINISH))
EnableWindow(hwndFinish, TRUE);
+
+ /* Now try to find an edit control that deserves focus */
+ EnumChildWindows(PropSheet_GetCurrentPageHwnd(hwndDlg), EnumChildProc, 0);
-+
}
/******************************************************************************
-@@ -3548,7 +3585,7 @@
+Index: tooltips.c
+===================================================================
+--- tooltips.c (revision 38890)
++++ tooltips.c (working copy)
+@@ -2488,8 +2488,33 @@
+ static LRESULT
+ TOOLTIPS_NotifyFormat (HWND hwnd, WPARAM wParam, LPARAM lParam)
+ {
+- FIXME ("hwnd=%p wParam=%lx lParam=%lx\n", hwnd, wParam, lParam);
++ TOOLTIPS_INFO *infoPtr = TOOLTIPS_GetInfoPtr (hwnd);
++ TTTOOL_INFO *toolPtr = infoPtr->tools;
++ INT nResult;
- return FALSE;
- }
--
++ TRACE("hwnd=%p wParam=%lx lParam=%lx\n", hwnd, wParam, lParam);
+
- case WM_SYSCOLORCHANGE:
- COMCTL32_RefreshSysColors();
- return FALSE;
++ if (lParam == NF_QUERY) {
++ if (toolPtr->bNotifyUnicode) {
++ return NFR_UNICODE;
++ } else {
++ return NFR_ANSI;
++ }
++ }
++ else if (lParam == NF_REQUERY) {
++ nResult = (INT) SendMessageW (toolPtr->hwnd, WM_NOTIFYFORMAT,
++ (WPARAM)hwnd, (LPARAM)NF_QUERY);
++ if (nResult == NFR_ANSI) {
++ toolPtr->bNotifyUnicode = FALSE;
++ TRACE(" -- WM_NOTIFYFORMAT returns: NFR_ANSI\n");
++ } else if (nResult == NFR_UNICODE) {
++ toolPtr->bNotifyUnicode = TRUE;
++ TRACE(" -- WM_NOTIFYFORMAT returns: NFR_UNICODE\n");
++ } else {
++ TRACE (" -- WM_NOTIFYFORMAT returns: error!\n");
++ }
++ return nResult;
++ }
+ return 0;
+ }
+
+Index: treeview.c
+===================================================================
+--- treeview.c (revision 38890)
++++ treeview.c (working copy)
+@@ -2830,7 +2830,12 @@
+ }
+ }
+
+- TREEVIEW_UpdateScrollBars(infoPtr);
++ //
++ // This is correct, but is causes and infinite loop of WM_PAINT messages, resulting
++ // in continuous painting of the scroll bar in reactos. Comment out until the real
++ // bug is found
++ //
++ //TREEVIEW_UpdateScrollBars(infoPtr);
+
+ if (infoPtr->cdmode & CDRF_NOTIFYPOSTPAINT)
+ infoPtr->cdmode =