Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
9cc5e6cd
Commit
9cc5e6cd
authored
Feb 09, 2005
by
Ge van Geldorp
Committed by
Alexandre Julliard
Feb 09, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Fix quoting of .cpl filename.
- Use "cplopen" verb to execute .cpl files.
parent
34d4a02b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
3 deletions
+7
-3
cpanelfolder.c
dlls/shell32/cpanelfolder.c
+7
-3
No files found.
dlls/shell32/cpanelfolder.c
View file @
9cc5e6cd
...
...
@@ -964,6 +964,7 @@ static ULONG STDMETHODCALLTYPE IShellExecuteHookW_fnRelease(IShellExecuteHookW*
static
HRESULT
WINAPI
IShellExecuteHookW_fnExecute
(
IShellExecuteHookW
*
iface
,
LPSHELLEXECUTEINFOW
psei
)
{
static
const
WCHAR
wCplopen
[]
=
{
'c'
,
'p'
,
'l'
,
'o'
,
'p'
,
'e'
,
'n'
,
'\0'
};
ICPanelImpl
*
This
=
(
ICPanelImpl
*
)
iface
;
SHELLEXECUTEINFOW
sei_tmp
;
...
...
@@ -983,17 +984,20 @@ static HRESULT WINAPI IShellExecuteHookW_fnExecute(IShellExecuteHookW* iface, LP
return
E_INVALIDARG
;
path
[
0
]
=
'\"'
;
l
=
1
+
MultiByteToWideChar
(
CP_ACP
,
0
,
pcpanel
->
szName
,
-
1
,
path
+
1
,
MAX_PATH
);
/* Return value from MultiByteToWideChar includes terminating NUL, which
* compensates for the starting double quote we just put in */
l
=
MultiByteToWideChar
(
CP_ACP
,
0
,
pcpanel
->
szName
,
-
1
,
path
+
1
,
MAX_PATH
);
/* pass applet name to Control_RunDLL to distinguish between applets in one .cpl file */
path
[
++
l
]
=
'"'
;
path
[
++
l
]
=
' '
;
path
[
l
++
]
=
'"'
;
path
[
l
++
]
=
' '
;
MultiByteToWideChar
(
CP_ACP
,
0
,
pcpanel
->
szName
+
pcpanel
->
offsDispName
,
-
1
,
path
+
l
,
MAX_PATH
);
memcpy
(
&
sei_tmp
,
psei
,
sizeof
(
sei_tmp
));
sei_tmp
.
lpFile
=
path
;
sei_tmp
.
fMask
&=
~
SEE_MASK_INVOKEIDLIST
;
sei_tmp
.
lpVerb
=
wCplopen
;
ret
=
ShellExecuteExW
(
&
sei_tmp
);
if
(
ret
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment