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
336c37d5
Commit
336c37d5
authored
Sep 15, 2021
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
shell32: Allow specifying the child folder CLSID in SHELL32_BindToChild().
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
0a2831a7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
9 additions
and
10 deletions
+9
-10
cpanelfolder.c
dlls/shell32/cpanelfolder.c
+1
-1
shfldr.h
dlls/shell32/shfldr.h
+1
-1
shfldr_desktop.c
dlls/shell32/shfldr_desktop.c
+1
-1
shfldr_fs.c
dlls/shell32/shfldr_fs.c
+1
-2
shfldr_mycomp.c
dlls/shell32/shfldr_mycomp.c
+1
-1
shfldr_netplaces.c
dlls/shell32/shfldr_netplaces.c
+1
-1
shlfolder.c
dlls/shell32/shlfolder.c
+3
-3
No files found.
dlls/shell32/cpanelfolder.c
View file @
336c37d5
...
...
@@ -471,7 +471,7 @@ static HRESULT WINAPI ISF_ControlPanel_fnBindToObject(IShellFolder2 *iface, LPCI
TRACE
(
"(%p)->(pidl=%p,%p,%s,%p)
\n
"
,
This
,
pidl
,
pbcReserved
,
shdebugstr_guid
(
riid
),
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
NULL
,
pidl
,
riid
,
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
&
CLSID_ShellFSFolder
,
NULL
,
pidl
,
riid
,
ppvOut
);
}
/**************************************************************************
...
...
dlls/shell32/shfldr.h
View file @
336c37d5
...
...
@@ -50,7 +50,7 @@ HRESULT SHELL32_GetItemAttributes (IShellFolder2 *folder, LPCITEMIDLIST pidl, DW
HRESULT
SHELL32_GetDisplayNameOfChild
(
IShellFolder2
*
psf
,
LPCITEMIDLIST
pidl
,
DWORD
dwFlags
,
LPWSTR
szOut
,
DWORD
dwOutLen
)
DECLSPEC_HIDDEN
;
HRESULT
SHELL32_BindToChild
(
LPCITEMIDLIST
pidlRoot
,
HRESULT
SHELL32_BindToChild
(
LPCITEMIDLIST
pidlRoot
,
const
CLSID
*
clsidChild
,
LPCWSTR
pathRoot
,
LPCITEMIDLIST
pidlComplete
,
REFIID
riid
,
LPVOID
*
ppvOut
)
DECLSPEC_HIDDEN
;
HRESULT
SHELL32_CompareIDs
(
IShellFolder2
*
iface
,
LPARAM
lParam
,
LPCITEMIDLIST
pidl1
,
LPCITEMIDLIST
pidl2
)
DECLSPEC_HIDDEN
;
...
...
dlls/shell32/shfldr_desktop.c
View file @
336c37d5
...
...
@@ -370,7 +370,7 @@ static HRESULT WINAPI ISF_Desktop_fnBindToObject (IShellFolder2 * iface,
TRACE
(
"(%p)->(pidl=%p,%p,%s,%p)
\n
"
,
This
,
pidl
,
pbcReserved
,
shdebugstr_guid
(
riid
),
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
This
->
sPathTarget
,
pidl
,
riid
,
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
&
CLSID_ShellFSFolder
,
This
->
sPathTarget
,
pidl
,
riid
,
ppvOut
);
}
/**************************************************************************
...
...
dlls/shell32/shfldr_fs.c
View file @
336c37d5
...
...
@@ -425,8 +425,7 @@ IShellFolder_fnBindToObject (IShellFolder2 * iface, LPCITEMIDLIST pidl,
TRACE
(
"(%p)->(pidl=%p,%p,%s,%p)
\n
"
,
This
,
pidl
,
pbc
,
shdebugstr_guid
(
riid
),
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
This
->
sPathTarget
,
pidl
,
riid
,
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
This
->
pclsid
,
This
->
sPathTarget
,
pidl
,
riid
,
ppvOut
);
}
/**************************************************************************
...
...
dlls/shell32/shfldr_mycomp.c
View file @
336c37d5
...
...
@@ -379,7 +379,7 @@ static HRESULT WINAPI ISF_MyComputer_fnBindToObject (IShellFolder2 *iface,
TRACE
(
"(%p)->(pidl=%p,%p,%s,%p)
\n
"
,
This
,
pidl
,
pbcReserved
,
shdebugstr_guid
(
riid
),
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
NULL
,
pidl
,
riid
,
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
&
CLSID_ShellFSFolder
,
NULL
,
pidl
,
riid
,
ppvOut
);
}
/**************************************************************************
...
...
dlls/shell32/shfldr_netplaces.c
View file @
336c37d5
...
...
@@ -264,7 +264,7 @@ static HRESULT WINAPI ISF_NetworkPlaces_fnBindToObject (IShellFolder2 * iface,
TRACE
(
"(%p)->(pidl=%p,%p,%s,%p)
\n
"
,
This
,
pidl
,
pbcReserved
,
shdebugstr_guid
(
riid
),
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
NULL
,
pidl
,
riid
,
ppvOut
);
return
SHELL32_BindToChild
(
This
->
pidlRoot
,
&
CLSID_ShellFSFolder
,
NULL
,
pidl
,
riid
,
ppvOut
);
}
/**************************************************************************
...
...
dlls/shell32/shlfolder.c
View file @
336c37d5
...
...
@@ -260,7 +260,7 @@ static HRESULT SHELL32_CoCreateInitSF (LPCITEMIDLIST pidlRoot, LPCWSTR pathRoot,
* This function makes special assumptions on the shell namespace, which
* means you probably can't use it for your IShellFolder implementation.
*/
HRESULT
SHELL32_BindToChild
(
LPCITEMIDLIST
pidlRoot
,
HRESULT
SHELL32_BindToChild
(
LPCITEMIDLIST
pidlRoot
,
const
CLSID
*
clsidChild
,
LPCWSTR
pathRoot
,
LPCITEMIDLIST
pidlComplete
,
REFIID
riid
,
LPVOID
*
ppvOut
)
{
GUID
const
*
clsid
;
...
...
@@ -285,10 +285,10 @@ HRESULT SHELL32_BindToChild (LPCITEMIDLIST pidlRoot,
hr
=
HRESULT_FROM_WIN32
(
ERROR_FILE_NOT_FOUND
);
}
else
{
/* file system folder */
CLSID
clsidFolder
=
CLSID_ShellFSFolder
;
CLSID
clsidFolder
=
*
clsidChild
;
static
const
WCHAR
wszCLSID
[]
=
{
'C'
,
'L'
,
'S'
,
'I'
,
'D'
,
0
};
WCHAR
wszCLSIDValue
[
CHARS_IN_GUID
],
wszFolderPath
[
MAX_PATH
],
*
pwszPathTail
=
wszFolderPath
;
/* see if folder CLSID should be overridden by desktop.ini file */
if
(
pathRoot
)
{
lstrcpynW
(
wszFolderPath
,
pathRoot
,
MAX_PATH
);
...
...
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