Module: wine Branch: master Commit: 4c386998b08f18226d5ac1f5b159bf1e1abd9cae URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c386998b08f18226d5ac1f5b1...
Author: Andrew Bogott Andrew@CodeWeavers.com Date: Sat Dec 11 11:58:04 2010 -0600
winemenubuilder: In InvokeShellLinkerForURL, better replicate the deferral behavior in InvokeShellLinker.
This gives us a second chance, if the icon file doesn't exist yet during the first call.
---
programs/winemenubuilder/winemenubuilder.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index af1aa56..bb045a4 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -2700,6 +2700,19 @@ static BOOL InvokeShellLinkerForURL( IUniformResourceLocatorW *url, LPCWSTR link IPropertySetStorage_Release(pPropSetStg); }
+ /* fail - try once again after parent process exit */ + if( !icon_name ) + { + if (bWait) + { + WINE_WARN("Unable to extract icon, deferring.\n"); + ret = FALSE; + goto cleanup; + } + WINE_ERR("failed to extract icon from %s\n", + wine_dbgstr_w( pv[0].pwszVal )); + } + hSem = CreateSemaphoreA( NULL, 1, 1, "winemenubuilder_semaphore"); if( WAIT_OBJECT_0 != MsgWaitForMultipleObjects( 1, &hSem, FALSE, INFINITE, QS_ALLINPUT ) ) {