ChangeSet ID: 21572
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard(a)winehq.org 2005/11/30 14:54:46
Modified files:
dlls/shell32 : shlexec.c
Log message:
Martin Fuchs <martin-fuchs(a)gmx.net>
Fix context menu handling for more than one entry in order to repair
.lnk-file execution: Don't break at the first non-matching entry.
Patch: http://cvs.winehq.org/patch.py?id=21572
Old revision New revision Changes Path
1.77 1.78 +8 -8 wine/dlls/shell32/shlexec.c
Index: wine/dlls/shell32/shlexec.c
diff -u -p wine/dlls/shell32/shlexec.c:1.77 wine/dlls/shell32/shlexec.c:1.78
--- wine/dlls/shell32/shlexec.c:1.77 30 Nov 2005 20:54:46 -0000
+++ wine/dlls/shell32/shlexec.c 30 Nov 2005 20:54:46 -0000
@@ -1156,15 +1156,15 @@ static LONG ShellExecute_FromContextMenu
r = RegEnumKeyW( hkeycm, i++, szguid, 39 );
if ( r != ERROR_SUCCESS )
break;
- r = ERROR_FUNCTION_FAILED;
+
hr = CLSIDFromString( szguid, &guid );
- if ( FAILED( hr ) )
- break;
- r = ERROR_SUCCESS;
- /* stop at the first one that succeeds in running */
- hr = shellex_load_object_and_run( hkey, &guid, sei );
- if ( SUCCEEDED( hr ) )
- break;
+ if (SUCCEEDED(hr))
+ {
+ /* stop at the first one that succeeds in running */
+ hr = shellex_load_object_and_run( hkey, &guid, sei );
+ if ( SUCCEEDED( hr ) )
+ break;
+ }
}
RegCloseKey( hkeycm );
}