Sergey Guralnik : winemenubuilder: Try to wait for creating icon files.
Alexandre Julliard
julliard at winehq.org
Wed Jan 30 13:43:23 CST 2013
Module: wine
Branch: master
Commit: 79808429c16c9bec8026cbd57158dcff26691334
URL: http://source.winehq.org/git/wine.git/?a=commit;h=79808429c16c9bec8026cbd57158dcff26691334
Author: Sergey Guralnik <serhio at etersoft.ru>
Date: Wed Jan 23 15:07:44 2013 +0200
winemenubuilder: Try to wait for creating icon files.
---
programs/winemenubuilder/winemenubuilder.c | 17 +++++++++++++----
1 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 5a5789f..c931363 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -1055,10 +1055,19 @@ static HRESULT open_icon(LPCWSTR filename, int index, BOOL bWait, IStream **ppSt
hr = open_module_icon(filename, index, ppStream);
if (FAILED(hr))
{
- static const WCHAR dot_icoW[] = {'.','i','c','o',0};
- int len = strlenW(filename);
- if (len >= 4 && strcmpiW(&filename[len - 4], dot_icoW) == 0)
- hr = SHCreateStreamOnFileW(filename, STGM_READ, ppStream);
+ if(bWait && hr == HRESULT_FROM_WIN32(ERROR_MOD_NOT_FOUND))
+ {
+ WINE_WARN("Can't find file: %s, give a chance to parent process to create it\n",
+ wine_dbgstr_w(filename));
+ return hr;
+ }
+ else
+ {
+ static const WCHAR dot_icoW[] = {'.','i','c','o',0};
+ int len = strlenW(filename);
+ if (len >= 4 && strcmpiW(&filename[len - 4], dot_icoW) == 0)
+ hr = SHCreateStreamOnFileW(filename, STGM_READ, ppStream);
+ }
}
if (FAILED(hr))
hr = open_file_type_icon(filename, ppStream);
More information about the wine-cvs
mailing list