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 ); }
participants (1)
-
Alexandre Julliard