Andrew Bogott : winemenubuilder: In InvokeShellLinkerForURL, better replicate the deferral behavior in InvokeShellLinker.
Alexandre Julliard
julliard at winehq.org
Mon Dec 13 10:43:19 CST 2010
Module: wine
Branch: master
Commit: 4c386998b08f18226d5ac1f5b159bf1e1abd9cae
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c386998b08f18226d5ac1f5b159bf1e1abd9cae
Author: Andrew Bogott <Andrew at 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 ) )
{
More information about the wine-cvs
mailing list