[PATCH] Add IShellFolderView::SetRedraw implementation
Nikolay Sivov
nsivov at codeweavers.com
Sun Mar 21 19:04:49 CDT 2010
---
dlls/shell32/shlview.c | 12 ++++++++----
dlls/shell32/tests/shlview.c | 4 ++++
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/dlls/shell32/shlview.c b/dlls/shell32/shlview.c
index d21f65a..598348a 100644
--- a/dlls/shell32/shlview.c
+++ b/dlls/shell32/shlview.c
@@ -644,6 +644,7 @@ static INT CALLBACK fill_list( LPVOID ptr, LPVOID arg )
static HRESULT ShellView_FillList(IShellViewImpl *This)
{
+ IShellFolderView *folderview = (IShellFolderView*)&This->lpvtblShellFolderView;
LPENUMIDLIST pEnumIDList;
LPITEMIDLIST pidl;
DWORD fetched;
@@ -676,9 +677,9 @@ static HRESULT ShellView_FillList(IShellViewImpl *This)
/* sort the array */
DPA_Sort(hdpa, ShellView_CompareItems, (LPARAM)This->pSFParent);
- SendMessageW(This->hWndList, WM_SETREDRAW, FALSE, 0);
+ IShellFolderView_SetRedraw(folderview, FALSE);
DPA_DestroyCallback(hdpa, fill_list, This);
- SendMessageW(This->hWndList, WM_SETREDRAW, TRUE, 0);
+ IShellFolderView_SetRedraw(folderview, TRUE);
IEnumIDList_Release(pEnumIDList);
@@ -3041,8 +3042,11 @@ static HRESULT WINAPI IShellFolderView_fnSetRedraw(
BOOL redraw)
{
IShellViewImpl *This = impl_from_IShellFolderView(iface);
- FIXME("(%p)->(%d) stub\n", This, redraw);
- return E_NOTIMPL;
+ TRACE("(%p)->(%d)\n", This, redraw);
+
+ SendMessageW(This->hWndList, WM_SETREDRAW, redraw, 0);
+
+ return S_OK;
}
static HRESULT WINAPI IShellFolderView_fnGetSelectedCount(
diff --git a/dlls/shell32/tests/shlview.c b/dlls/shell32/tests/shlview.c
index 077c491..6f08f18 100644
--- a/dlls/shell32/tests/shlview.c
+++ b/dlls/shell32/tests/shlview.c
@@ -568,6 +568,10 @@ static void test_IShellFolderView(void)
hr = IShellFolderView_MoveIcons(folderview, NULL);
ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+ /* ::SetRedraw without list created */
+ hr = IShellFolderView_SetRedraw(folderview, TRUE);
+ ok(hr == S_OK, "got (0x%08x)\n", hr);
+
IShellFolderView_Release(folderview);
IShellView_Release(view);
--
1.5.6.5
--=-0N+A/Q77L0IXJJquCTIq--
More information about the wine-patches
mailing list