shell32: Add IShellFolderView::SetRedraw implementation.

This commit is contained in:
Nikolay Sivov 2010-03-22 03:04:49 +03:00 committed by Alexandre Julliard
parent 61fc3f9004
commit 9958b80e9d
2 changed files with 12 additions and 4 deletions

View File

@ -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(

View File

@ -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);