--- workdir/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx.orig 2011-04-01 06:54:25.031375000 +0900 +++ workdir/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx 2011-04-03 14:21:44.166375000 +0900 @@ -703,7 +713,7 @@ ComPtr< IShellItem > pFolder; #ifdef __MINGW32__ - HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast(sDirectory.getStr()), NULL, IID_IShellItem, (void**)(&pFolder) ); + HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast(sDirectory.getStr()), NULL, IID_IShellItem, reinterpret_cast(&pFolder) ); #else HRESULT hResult = SHCreateItemFromParsingName ( sDirectory, NULL, IID_PPV_ARGS(&pFolder) ); #endif @@ -893,7 +893,7 @@ { ComPtr< IShellItem > pFolder; #ifdef __MINGW32__ - HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast(m_sDirectory.getStr()), NULL, IID_IShellItem, (void**)(&pFolder) ); + HRESULT hResult = SHCreateItemFromParsingName ( reinterpret_cast(m_sDirectory.getStr()), NULL, IID_IShellItem, reinterpret_cast(&pFolder) ); #else HRESULT hResult = SHCreateItemFromParsingName ( m_sDirectory, NULL, IID_PPV_ARGS(&pFolder) ); #endif @@ -1214,7 +1214,11 @@ SUCCEEDED(iDialog->SetFileName(L"*.*")) ) { IOleWindow* iOleWindow; +#ifdef __MINGW32__ + if (SUCCEEDED(iDialog->QueryInterface(IID_IOleWindow, reinterpret_cast(&iOleWindow)))) +#else if (SUCCEEDED(iDialog->QueryInterface(IID_PPV_ARGS(&iOleWindow)))) +#endif { HWND hwnd; if (SUCCEEDED(iOleWindow->GetWindow(&hwnd)))